XAsyncBegin
Inicializa um XAsyncBlock e inicia o trabalho assíncrono de um provedor assíncrono.Sintaxe
Parâmetros
asyncBlock _Inout_Tipo: XAsyncBlock* Um ponteiro para o XAsyncBlock que contém os dados da chamada assíncrona. context _In_opt_
Tipo: void* Opcional. Um ponteiro de contexto a ser armazenado no objeto XAsyncProviderData passado para a função de retorno de chamada XAsyncProvider. identity _In_opt_
Tipo: void* Opcional. Um ponteiro para um token arbitrário que pode ser usado para identificar a chamada assíncrona. identityName _In_opt_
Tipo: char* Opcional. Uma cadeia de caracteres que nomeia a função que fornece a chamada assíncrona. O valor deste parâmetro normalmente é definido como a macro de compilador
__FUNCTION__.
provider _In_Tipo: XAsyncProvider* Um ponteiro para a função de retorno de chamada XAsyncProvider a ser invocada para a chamada assíncrona.
Valor retornado
Tipo: HRESULT RetornaráS_OK se for bem-sucedido; caso contrário, retornará um código de erro. Para obter uma lista de códigos de erro, consulte Códigos de erro.
Comentários
XAsyncBegin é invocado para indicar que o provedor assíncrono deve iniciar o trabalho assíncrono. Depois que XAsyncBegin é invocado, outras funções de XAsyncProvider, como XAsyncGetResult, fornecerão dados significativos.
Quando XAsyncBegin é invocado, a função de retorno de chamada especificada em provider é invocada, especificando XAsyncOp::Begin no parâmetro op de XAsyncProvider. Se a função de retorno de chamada implementar esse código de operação, ela deverá iniciar seu trabalho assíncrono chamando XAsyncSchedule ou por meios externos. Depois que XAsyncBegin retorna, presume-se que a função de retorno de chamada iniciou o trabalho assíncrono em um thread definido pelo sistema.
A função de retorno de chamada especificada em provider é processada de forma síncrona na cadeia de chamadas de
XAsyncBegin. O trabalho assíncrono realizado pela função de retorno de chamada não deve bloquear o thread.XAsyncOp::Begin e XAsyncOp::GetResult incompatíveis para a função de retorno de chamada. Normalmente, o valor de identity é definido como o ponteiro de função da função que invocou XAsyncBegin, e o valor de identityName é definido como a macro de compilador __FUNCTION__.
Requisitos
Cabeçalho: XAsyncProvider.h Biblioteca: xgameruntime.lib Plataformas com suporte: Windows, consoles da família XBOX One e consoles XBOX SeriesDocumentação conceitual
- Configurar provedor personalizado
- Visão geral da biblioteca XAsyncProvider
- Modelo de programação assíncrona
Confira também
Membros de XAsyncProviderXAsyncProviderData
XAsyncProvider
XAsyncGetResult
Modelo de programação assíncrona
