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 |
---|---|
|
PhysicalDevice a la valeur NULL. |
|
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) |