Función RtlRunOnceExecuteOnce (ntddk.h)
El RtlRunOnceExecuteOnce realiza una inicialización única.
Sintaxis
NTSYSAPI NTSTATUS RtlRunOnceExecuteOnce(
PRTL_RUN_ONCE RunOnce,
PRTL_RUN_ONCE_INIT_FN InitFn,
PVOID Parameter,
PVOID *Context
);
Parámetros
[in, out] RunOnce
Puntero a la RTL_RUN_ONCE estructura de inicialización única.
[in] InitFn
Puntero a una rutina de RunOnceInitialization.
[in, out] Parameter
Valor que se va a pasar como parámetro parámetro a la rutina de RunOnceInitialization.
[out] Context
Puntero a una variable PVOID que recibe los datos inicializados.
Valor devuelto
rtlRunOnceExecuteOnce devuelve STATUS_SUCCESS si la operación se realiza correctamente o el código de error NTSTATUS adecuado si se produce un error en la operación.
Observaciones
Para la primera llamada a rtlRunOnceExecuteOnce para una estructura de RTL_RUN_ONCE determinada, RtlRunOnceExecuteOnce llama a la rutina RunOnceInitialization para inicializar los datos. Cada llamada posterior a RtlRunOnceExecuteOnce para esa estructura proporciona los mismos datos inicializados. No se llamará a la rutina de RunOnceInitialization dos veces para la misma estructura de RTL_RUN_ONCE.
rtlRunOnceExecuteOnce se ejecuta con las API de kernel normales deshabilitadas. No se debe llamar a la rutina dentro de un APC de kernel especial a menos que todas las llamadas se produzcan en APC_LEVEL.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Disponible a partir de Windows Vista. |
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 (consulte la sección Comentarios). |