Fonction IoInvalidateDeviceRelations (wdm.h)

La routine IoInvalidateDeviceRelations informe le gestionnaire PnP que les relations pour un appareil (telles que les relations de bus, les relations d’éjection, les relations de suppression et la relation d’appareil cible) ont changé.

Syntaxe

void IoInvalidateDeviceRelations(
  [in] PDEVICE_OBJECT       DeviceObject,
  [in] DEVICE_RELATION_TYPE Type
);

Paramètres

[in] DeviceObject

Pointeur vers l’AOP de l’appareil.

[in] Type

Spécifie une valeur d’énumération DEVICE_RELATION_TYPE qui décrit le type de relations qui ont changé. Les valeurs possibles sont BusRelations, EjectionRelations, RemovalRelations et TargetDeviceRelation. À compter de Windows 7, la valeur PowerRelations est également prise en charge.

Valeur de retour

None

Remarques

Pour certains types de relations, tels que BusRelations, cette routine oblige le gestionnaire PnP ou le gestionnaire d’alimentation à collecter des informations de relations mises à jour en envoyant une demande de IRP_MN_QUERY_DEVICE_RELATIONS aux pilotes de l’appareil. Pour d’autres types de relation, tels que EjectionRelations, le gestionnaire PnP n’a pas besoin de collecter immédiatement de nouvelles informations de relation ; Le gestionnaire PnP interroge les pilotes pour les relations d’éjection uniquement lorsqu’il se prépare à éjecter un appareil.

Après qu’un pilote de bus a appelé IoInvalidateDeviceRelations pour informer le gestionnaire PnP qu’un appareil a disparu, le pilote de bus doit continuer à gérer les IRP PnP pour cet appareil jusqu’à ce qu’il reçoive une demande de IRP_MN_REMOVE_DEVICE . En réponse à cette IRP, le pilote de bus retourne STATUS_NO_SUCH_DEVICE. Jusqu’à ce que le pilote de bus termine correctement la demande de IRP_MN_REMOVE_DEVICE, il peut accéder à l’extension de périphérique pour case activée ses indicateurs pour l’appareil.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 2000.
Plateforme cible Universal
En-tête wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
Règles de conformité DDI HwStorPortProhibitedDDIs(storport)

Voir aussi

IRP_MN_QUERY_DEVICE_RELATIONS

IRP_MN_REMOVE_DEVICE