Funzione RtlRunOnceExecuteOnce (ntddk.h)
RtlRunOnceExecuteOnce esegue un'inizializzazione una tantum.
Sintassi
NTSYSAPI NTSTATUS RtlRunOnceExecuteOnce(
PRTL_RUN_ONCE RunOnce,
PRTL_RUN_ONCE_INIT_FN InitFn,
PVOID Parameter,
PVOID *Context
);
Parametri
[in, out] RunOnce
Puntatore alla RTL_RUN_ONCE struttura di inizializzazione una tantum.
[in] InitFn
Puntatore a una routine RunOnceInitialization .
[in, out] Parameter
Valore da passare come parametro Parameter alla routine RunOnceInitialization .
[out] Context
Puntatore a una variabile PVOID che riceve i dati inizializzati.
Valore restituito
RtlRunOnceExecuteOnce restituisce STATUS_SUCCESS se l'operazione ha esito positivo o il codice di errore NTSTATUS appropriato se l'operazione ha esito negativo.
Commenti
Per la prima chiamata a RtlRunOnceExecuteOnce per una particolare struttura di RTL_RUN_ONCE , RtlRunOnceExecuteOnce chiama la routine RunOnceInitialization per inizializzare i dati. Ogni chiamata successiva a RtlRunOnceExecuteOnce per tale struttura fornisce gli stessi dati inizializzati. La routine RunOnceInitialization non verrà chiamata due volte per la stessa struttura RTL_RUN_ONCE .
RtlRunOnceExecuteOnce viene eseguito con normali API del kernel disabilitate. La routine non deve essere chiamata all'interno di un APC del kernel speciale, a meno che non si verifichino tutte le chiamate in APC_LEVEL.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile a partire da Windows Vista. |
Piattaforma di destinazione | Universale |
Intestazione | ntddk.h (include Ntddk.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL (vedere la sezione Osservazioni). |