Función RtlRunOnceBeginInitialize (ntddk.h)
La rutina RtlRunOnceBeginInitialize comienza una inicialización única.
Sintaxis
NTSYSAPI NTSTATUS RtlRunOnceBeginInitialize(
[in, out] PRTL_RUN_ONCE RunOnce,
[in] ULONG Flags,
[out] PVOID *Context
);
Parámetros
[in, out] RunOnce
Puntero a la RTL_RUN_ONCE estructura de inicialización única.
[in] Flags
Opcionalmente, los controladores pueden especificar una o varias de las marcas siguientes:
RTL_RUN_ONCE_ASYNC
Realizar la inicialización de forma asincrónica. El controlador puede realizar varios intentos de finalización en paralelo. Si se usa esta marca, se producirá un error en las llamadas posteriores a esta rutina a menos que también se especifique esta marca.
RTL_RUN_ONCE_CHECK_ONLY
No comience la inicialización, pero compruebe si ya se ha producido la inicialización. Si rtlRunOnceBeginInitialize devuelve STATUS_SUCCESS, la inicialización se realizó correctamente y *Context contiene los datos inicializados.
[out] Context
Especifica un puntero a una variable PVOID que recibe los datos inicializados. El valor de *Context solo es válido cuando la rutina devuelve STATUS_SUCCESS.
Valor devuelto
rtlRunOnceBeginInitialize devuelve uno de los siguientes valores NTSTATUS:
Código devuelto | Descripción |
---|---|
|
La inicialización única ya se ha completado. Los datos inicializados se almacenan en la ubicación de memoria a la que apunta Contexto. |
|
El autor de la llamada ha comenzado correctamente la inicialización única. El autor de la llamada realiza ahora los pasos de inicialización específicos del controlador y, a continuación, llama a RtlRunOnceComplete para completar la inicialización. |
Observaciones
Los controladores pueden realizar una inicialización única llamando a RtlRunOnceExecuteOnce y proporcionando una rutina de RunOnceInitialization.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Disponible en Windows Vista y versiones posteriores de Windows. |
de la plataforma de destino de | Universal |
encabezado de | ntddk.h (incluya Ntddk.h) |
biblioteca de | NtosKrnl.lib |
DLL de | NtosKrnl.exe |
irQL | <= APC_LEVEL |