Función RtlRunOnceExecuteOnce (ntddk.h)
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 al RTL_RUN_ONCE estructura de inicialización única.
[in] InitFn
Puntero a una rutina RunOnceInitialization .
[in, out] Parameter
Valor que se va a pasar como parámetro Parameter a la rutina 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.
Comentarios
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 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 | Value |
---|---|
Cliente mínimo compatible | Disponible a partir de Windows Vista. |
Plataforma de destino | Universal |
Encabezado | ntddk.h (incluya Ntddk.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL (vea la sección Comentarios). |