Compartir a través de


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

Consulte también

RTL_RUN_ONCE

RtlRunOnceBeginInitialize

RtlRunOnceComplete

RtlRunOnceInitialize

RunOnceInitialization