annotation DO_DEVICE_INITIALIZING pour les pilotes
Utilisez l’annotation _Kernel_clear_do_init_ pour spécifier si la fonction annotée est censée effacer le bit DO_DEVICE_INITIALIZING dans le champ Indicateurs de l’objet appareil.
Cette annotation a la syntaxe suivante :
_Kernel_clear_do_init_(yes|no)
L’appel d’une fonction annotée avec _Kernel_clear_do_init_(yes) dispense la fonction appelante d’avoir à effacer le bit DO_DEVICE_INITIALIZING.
L’annotation doit presque toujours être utilisée dans un contexte conditionnel lorsque la fonction retourne la réussite, sauf si l’annotation est appliquée à une définition de type de fonction. Par exemple, dans la définition de type de fonction suivante pour la classe de fonction DRIVER_ADD_DEVICE, les annotations spécifient que la fonction ne peut pas déclencher l’IRQL et que la fonction est censée effacer le bit DO_DEVICE_INITIALIZING.
typedef
_IRQL_always_function_max_(PASSIVE_LEVEL)
_IRQL_requires_same_
_Kernel_clear_do_init_(yes)
__drv_functionClass(DRIVER_ADD_DEVICE)
NTSTATUS
DRIVER_ADD_DEVICE (
_In_ struct _DRIVER_OBJECT *DriverObject,
_In_ struct _DEVICE_OBJECT *PhysicalDeviceObject
);
typedef DRIVER_ADD_DEVICE *PDRIVER_ADD_DEVICE;
Rubriques connexes
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour