WdfPdoAddEjectionRelationsPhysicalDevice, fonction (wdfpdo.h)

[S’applique uniquement à KMDF]

La méthode WdfPdoAddEjectionRelationsPhysicalDevice indique qu’un appareil spécifié est éjecté lorsqu’un autre appareil spécifié est éjecté.

Syntaxe

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

Paramètres

[in] Device

Handle d’un objet d’appareil framework.

[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, la méthode retourne STATUS_SUCCESS. Les valeurs de retour supplémentaires sont les suivantes :

Code de retour Description
STATUS_INVALID_PARAMETER
Un paramètre d’entrée est NULL.
STATUS_INSUFFICIENT_RESOURCES
Une allocation de mémoire a échoué.
 

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

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

Remarques

Le paramètre PhysicalDevice pointe vers un PDO d’un appareil qui est éjecté lorsque l’appareil identifié par l’appareil est éjecté. 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’appareil , car lorsque le gestionnaire PnP éjecte un appareil parent, il éjecte également les enfants de l’appareil.

Pour plus d’informations, consultez Prise en charge des appareils éjectables.

Exemples

L’exemple de code suivant ajoute un appareil que la structure pPhysicalDeviceObject représente à la liste des appareils qui sont éjectés lorsque l’appareil spécifié est éjecté.

PDEVICE_OBJECT  pPhysicalDeviceObject;
NTSTATUS  status;
...
status = WdfPdoAddEjectionRelationsPhysicalDevice(
 device,
 pPhysicalDeviceObject
                                                  );

Configuration requise

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

Voir aussi

WdfPdoClearEjectionRelationsDevices

WdfPdoRemoveEjectionRelationsPhysicalDevice