XAsyncBegin
Inicializa un XAsyncBlock e inicia el trabajo asincrónico de un proveedor asincrónico.Sintaxis
Parámetros
asyncBlock _Inout_Tipo: XAsyncBlock* Un puntero al XAsyncBlock que contiene los datos de la llamada asincrónica. context _In_opt_
Tipo: void* Opcional. Un puntero de contexto que se almacenará en el objeto XAsyncProviderData que se pasa a la función de devolución de llamada XAsyncProvider. identity _In_opt_
Tipo: void* Opcional. Un puntero a un token arbitrario que se puede usar para identificar la llamada asincrónica. identityName _In_opt_
Tipo: char* Opcional. Una cadena que nombra la función que proporciona la llamada asincrónica. El valor de este parámetro se suele establecer en la macro del compilador
__FUNCTION__.
provider _In_Tipo: XAsyncProvider* Un puntero a la función de devolución de llamada XAsyncProvider que se invocará para la llamada asincrónica.
Valor devuelto
Tipo: HRESULT DevuelveS_OK si se realiza correctamente; de lo contrario, devuelve un código de error. Para ver una lista de códigos de error, consulte Códigos de error.
Comentarios
XAsyncBegin se invoca para indicar que el proveedor asincrónico debe iniciar el trabajo asincrónico. Después de invocar XAsyncBegin, otras funciones de XAsyncProvider, como XAsyncGetResult, proporcionarán datos significativos.
Cuando se invoca XAsyncBegin, se invoca la función de devolución de llamada especificada en provider, especificando XAsyncOp::Begin en el parámetro op de XAsyncProvider. Si la función de devolución de llamada implementa este código de operación, debe iniciar su trabajo asincrónico, ya sea llamando a XAsyncSchedule o por medios externos. Después de que XAsyncBegin devuelva, se asume que la función de devolución de llamada ha iniciado el trabajo asincrónico en un subproceso definido por el sistema.
La función de devolución de llamada especificada en provider se procesa de forma sincrónica en la cadena de llamadas de
XAsyncBegin. El trabajo asincrónico realizado por la función de devolución de llamada no debe bloquear el subproceso.XAsyncOp::Begin y XAsyncOp::GetResult no coincidentes a la función de devolución de llamada. Normalmente, el valor de identity se establece en el puntero de función de la función que invocó XAsyncBegin, y el valor de identityName se establece en la macro del compilador __FUNCTION__.
Requisitos
Encabezado: XAsyncProvider.h Biblioteca: xgameruntime.lib Plataformas compatibles: Windows, consolas de la familia XBOX One y consolas XBOX SeriesDocumentación conceptual
- Configurar un proveedor personalizado
- Información general de la biblioteca XAsyncProvider
- Modelo de programación asincrónica
Consulte también
Miembros de XAsyncProviderXAsyncProviderData
XAsyncProvider
XAsyncGetResult
Modelo de programación asincrónica
