Compartir a través de


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).

Consulte también

RTL_RUN_ONCE

RtlRunOnceBeginInitialize

RtlRunOnceComplete

RtlRunOnceInitialize

RunOnceInitialization