Skip to main content

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.
Você pode usar os parâmetros identity e identityName para identificar e gerenciar chamadas 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 Series

Documentação conceitual

Confira também

Membros de XAsyncProvider
XAsyncProviderData
XAsyncProvider
XAsyncGetResult
Modelo de programação assíncrona
Last modified on October 6, 2026