Skip to main content

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 Devuelve S_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.
Puede usar los parámetros identity e identityName para identificar y administrar llamadas 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 Series

Documentación conceptual

Consulte también

Miembros de XAsyncProvider
XAsyncProviderData
XAsyncProvider
XAsyncGetResult
Modelo de programación asincrónica
Última modificación el 28 de agosto de 2026