Funzione RtlRunOnceComplete (ntddk.h)
La routine RtlRunOnceComplete completa l'inizializzazione monouso avviata da RtlRunOnceBeginInitialize.
Sintassi
NTSYSAPI NTSTATUS RtlRunOnceComplete(
[in, out] PRTL_RUN_ONCE RunOnce,
[in] ULONG Flags,
[in, optional] PVOID Context
);
Parametri
[in, out] RunOnce
Puntatore alla struttura di inizializzazione monouso RTL_RUN_ONCE.
[in] Flags
I driver possono facoltativamente specificare uno o più dei flag seguenti:
RTL_RUN_ONCE_ASYNC
Operare in modalità asincrona. Questa modalità consente l'esecuzione in parallelo di più tentativi di completamento. Se viene usato questo flag, le chiamate successive al RtlRunOnceComplete routine avrà esito negativo a meno che non venga specificato anche questo flag.
RTL_RUN_ONCE_INIT_FAILED
Tentativo di inizializzazione non riuscito.
[in, optional] Context
Specifica i dati inizializzati.
Valore restituito
RtlRunOnceComplete restituisce uno dei valori NTSTATUS seguenti:
Codice restituito | Descrizione |
---|---|
|
Operazione completata correttamente. |
|
Impossibile completare l'operazione. Se il chiamante ha specificato RTL_RUN_ONCE_ASYNC nel parametro flag, questo valore può indicare che un altro thread ha completato l'inizializzazione. |
Osservazioni
Se RtlRunOnceComplete restituisce STATUS_SUCCESS, qualsiasi chiamata successiva a RtlRunOnceBeginInitialize per la stessa struttura RTL_RUN_ONCE fornisce Contesto dei dati inizializzati.
Se il chiamante specificato RTL_RUN_ONCE_ASYNC nel parametro flag e RtlRunOnceComplete restituisce qualsiasi valore diverso da STATUS_SUCCESS, il chiamante deve pulire qualsiasi inizializzazione tentata.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile in Windows Vista e versioni successive di Windows. |
piattaforma di destinazione | Universale |
intestazione | ntddk.h (include Ntddk.h) |
libreria | NtosKrnl.lib |
dll | NtosKrnl.exe |
IRQL | <= APC_LEVEL |