WdfDeviceAddRemovalRelationsPhysicalDevice, fonction (wdfdevice.h)

[S’applique à KMDF uniquement]

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 pour un objet d’appareil d’infrastructure.

[in] PhysicalDevice

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

Valeur retournée

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

Code de retour Description
STATUS_INVALID_PARAMETER
PhysicalDevice a la valeur NULL.
STATUS_INSUFFICIENT_RESOURCES
Une allocation de mémoire a échoué.
 

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

Un bogue case activée se produit si le pilote fournit un handle d’objet non valide.

Remarques

Le paramètre PhysicalDevice pointe vers une PDO d’un appareil dont les pilotes doivent être supprimés lorsque les pilotes de l’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 de 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 lors de la suppression de l’appareil . 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 que pPdo identifie à la liste des appareils qui doivent être supprimés lorsque l’appareil spécifié est supprimé.

status = WdfDeviceAddRemovalRelationsPhysicalDevice(
                                                    device,
                                                    pPdo
                                                    );

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.0
En-tête wdfdevice.h (inclure Wdf.h)
Bibliothèque Wdf01000.sys (consultez Gestion des versions de la bibliothèque d’infrastructure).)
IRQL <= DISPATCH_LEVEL
Règles de conformité DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Voir aussi

WdfDeviceClearRemovalRelationsDevices

WdfDeviceRemoveRemovalRelationsPhysicalDevice