Funzione RtlRunOnceBeginInitialize (ntddk.h)
La routine RtlRunOnceBeginInitialize inizia un'inizializzazione una tantum.
Sintassi
NTSYSAPI NTSTATUS RtlRunOnceBeginInitialize(
[in, out] PRTL_RUN_ONCE RunOnce,
[in] ULONG Flags,
[out] 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
Eseguire l'inizializzazione in modo asincrono. Il driver può eseguire più tentativi di completamento in parallelo. Se questo flag viene utilizzato, le chiamate successive a questa routine avranno esito negativo a meno che non venga specificato anche questo flag.
RTL_RUN_ONCE_CHECK_ONLY
Non iniziare l'inizializzazione, ma verificare se l'inizializzazione è già stata eseguita. Se RtlRunOnceBeginInitialize restituisce STATUS_SUCCESS, l'inizializzazione è riuscita e *Context contiene i dati inizializzati.
[out] Context
Specifica un puntatore a una variabile PVOID che riceve i dati inizializzati. Il valore di *Context è valido solo quando la routine restituisce STATUS_SUCCESS.
Valore restituito
RtlRunOnceBeginInitialize restituisce uno dei valori NTSTATUS seguenti:
Codice restituito | Descrizione |
---|---|
|
L'inizializzazione una tantum è già stata completata. I dati inizializzati vengono archiviati nella posizione di memoria a cui punta Context . |
|
Il chiamante ha iniziato correttamente l'inizializzazione una tantum. Il chiamante esegue ora i passaggi di inizializzazione specifici del driver e quindi chiama RtlRunOnceComplete per completare l'inizializzazione. |
Commenti
I driver possono in alternativa eseguire l'inizializzazione una tantum chiamando RtlRunOnceExecuteOnce e fornendo una routine RunOnceInitialization .
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 |