Fonction RtlRunOnceBeginInitialize (ntddk.h)
La routine RtlRunOnceBeginInitialize commence une initialisation ponctuelle.
Syntaxe
NTSYSAPI NTSTATUS RtlRunOnceBeginInitialize(
[in, out] PRTL_RUN_ONCE RunOnce,
[in] ULONG Flags,
[out] PVOID *Context
);
Paramètres
[in, out] RunOnce
Pointeur vers la structure d’initialisation unique RTL_RUN_ONCE .
[in] Flags
Les pilotes peuvent éventuellement spécifier un ou plusieurs des indicateurs suivants :
RTL_RUN_ONCE_ASYNC
Effectuez l’initialisation de manière asynchrone. Le pilote peut effectuer plusieurs tentatives de saisie semi-automatique en parallèle. Si cet indicateur est utilisé, les appels ultérieurs à cette routine échouent, sauf si cet indicateur est également spécifié.
RTL_RUN_ONCE_CHECK_ONLY
Ne commencez pas l’initialisation, mais case activée pour déterminer 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 retournée
RtlRunOnceBeginInitialize retourne l’une des valeurs NTSTATUS suivantes :
Code de retour | Description |
---|---|
|
L’initialisation ponctuelle est déjà terminée. Les données initialisées sont stockées dans l’emplacement de mémoire vers lequel Context pointe. |
|
L’appelant a démarré avec succès l’initialisation ponctuelle. L’appelant effectue maintenant les étapes d’initialisation spécifiques au pilote, puis appelle RtlRunOnceComplete pour terminer l’initialisation. |
Remarques
Les pilotes peuvent également effectuer une initialisation ponctuelle en appelant RtlRunOnceExecuteOnce et en fournissant une routine RunOnceInitialization .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows Vista et les versions plus récentes de Windows. |
Plateforme cible | Universal |
En-tête | ntddk.h (inclure Ntddk.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |