Condividi tramite


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
STATUS_SUCCESS
L'inizializzazione una tantum è già stata completata. I dati inizializzati vengono archiviati nella posizione di memoria a cui punta Context .
STATUS_PENDING
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

Vedi anche

RTL_RUN_ONCE

RtlRunOnceComplete

RtlRunOnceExecuteOnce

RtlRunOnceInitialize

RunOnceInitialization