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 al RTL_RUN_ONCE struttura di inizializzazione una tantum.
[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 questo flag viene usato, le chiamate successive alla routine RtlRunOnceComplete avranno 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 riuscita. |
|
Impossibile completare l'operazione. Se il chiamante specificato RTL_RUN_ONCE_ASYNC nel parametro Flags , questo valore può indicare che un altro thread ha completato l'inizializzazione. |
Commenti
Se RtlRunOnceComplete restituisce STATUS_SUCCESS, qualsiasi chiamata successiva a RtlRunOnceBeginInitialize per la stessa struttura RTL_RUN_ONCE fornisce Context come dati inizializzati.
Se il chiamante specificato RTL_RUN_ONCE_ASYNC nel parametro Flags e RtlRunOnceComplete restituisce qualsiasi valore diverso da STATUS_SUCCESS, il chiamante deve pulire qualsiasi inizializzazione tentata.
Requisiti
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 |