RtlRunOnceBeginInitialize, fonction (ntddk.h)
La routine RtlRunOnceBeginInitialize commence une initialisation unique.
Syntaxe
NTSYSAPI NTSTATUS RtlRunOnceBeginInitialize(
[in, out] PRTL_RUN_ONCE RunOnce,
[in] ULONG Flags,
[out] PVOID *Context
);
Paramètres
[in, out] RunOnce
Pointeur vers la RTL_RUN_ONCE structure d’initialisation unique.
[in] Flags
Les pilotes peuvent éventuellement spécifier un ou plusieurs des indicateurs suivants :
RTL_RUN_ONCE_ASYNC
Effectuez l’initialisation de façon asynchrone. Le pilote peut effectuer plusieurs tentatives d’achèvement en parallèle. Si cet indicateur est utilisé, les appels suivants à cette routine échouent, sauf si cet indicateur est également spécifié.
RTL_RUN_ONCE_CHECK_ONLY
Ne commencez pas l’initialisation, mais vérifiez si l’initialisation s’est déjà produite. Si RtlRunOnceBeginInitialize retourne STATUS_SUCCESS, l’initialisation a réussi et *Context contient les données initialisées.
[out] Context
Spécifie un pointeur vers une variable PVOID qui reçoit les données initialisées. La valeur de *Context est valide uniquement lorsque la routine retourne STATUS_SUCCESS.
Valeur de retour
RtlRunOnceBeginInitialize retourne l’une des valeurs NTSTATUS suivantes :
Retourner le code | Description |
---|---|
|
L’initialisation ponctuelle est déjà terminée. Les données initialisées sont stockées à l’emplacement de mémoire vers lequel Contexte pointe. |
|
L’appelant a commencé l’initialisation ponctuelle. L’appelant effectue désormais les étapes d’initialisation spécifiques au pilote, puis appelle RtlRunOnceComplete pour terminer l’initialisation. |
Remarques
Les pilotes peuvent également effectuer une initialisation unique en appelant RtlRunOnceExecuteOnce et en fournissant une routine RunOnceInitialization.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible dans Windows Vista et versions ultérieures de Windows. |
plateforme cible | Universel |
d’en-tête | ntddk.h (include Ntddk.h) |
bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |