Partager via


WdfDeviceAddRemovalRelationsPhysicalDevice, fonction (wdfdevice.h)

[S’applique uniquement à KMDF]

La méthode WdfDeviceAddRemovalRelationsPhysicalDevice indique qu’un appareil spécifié doit être supprimé lorsqu’un autre appareil spécifié est supprimé.

Syntaxe

NTSTATUS WdfDeviceAddRemovalRelationsPhysicalDevice(
  [in] WDFDEVICE      Device,
  [in] PDEVICE_OBJECT PhysicalDevice
);

Paramètres

[in] Device

Handle vers un objet d’appareil framework.

[in] PhysicalDevice

Pointeur vers une structure DEVICE_OBJECT fournie par l’appelant qui représente un objet d’appareil physique (PDO).

Valeur de retour

Si l’opération réussit, WdfDeviceAddRemovalRelationsPhysicalDevice retourne STATUS_SUCCESS. Les valeurs de retour supplémentaires sont les suivantes :

Retourner le code Description
STATUS_INVALID_PARAMETER
PhysicalDevice est NULL.
STATUS_INSUFFICIENT_RESOURCES
Échec de l’allocation de mémoire.
 

La méthode peut retourner d’autres valeurs NTSTATUS .

Une vérification de bogue se produit si le pilote fournit un handle d’objet non valide.

Remarques

Le paramètre PhysicalDevice pointe vers un PDO d’un périphérique dont les pilotes doivent être supprimés lorsque les pilotes pour appareil sont supprimés. En règle générale, les deux appareils sont contrôlés par le pilote appelant. Ne signalez pas les appareils enfants de l’objet d’appareil spécifié dans Appareil, car lorsque le gestionnaire Plug-and-Play supprime un appareil parent, il supprime également les enfants de l’appareil.

Votre pilote peut appeler WdfDeviceAddRemovalRelationsPhysicalDevice plusieurs fois pour ajouter plusieurs appareils à la liste des appareils qui doivent être supprimés lorsque Appareil est supprimé. L’ordre dans lequel les appareils spécifiés sont supprimés n’est pas défini.

Exemples

L’exemple de code suivant ajoute l’appareil qui pPdo identifie à la liste des appareils qui doivent être supprimés lorsque l’appareil qui appareil spécifié est supprimé.

status = WdfDeviceAddRemovalRelationsPhysicalDevice(
                                                    device,
                                                    pPdo
                                                    );

Exigences

Exigence Valeur
plateforme cible Universel
version minimale de KMDF 1.0
d’en-tête wdfdevice.h (include Wdf.h)
bibliothèque Wdf01000.sys (voir Versioning de la bibliothèque Framework.)
IRQL <= DISPATCH_LEVEL
règles de conformité DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Voir aussi

WdfDeviceClearRemovalRelationsDevices

WdfDeviceRemoveRemovalRelationsPhysicalDevice