WdfIoTargetWdmGetTargetPhysicalDevice, fonction (wdfiotarget.h)

[S’applique à KMDF uniquement]

La méthode WdfIoTargetWdmGetTargetPhysicalDevice retourne un pointeur vers l’objet de périphérique physique (PDO) du modèle de pilote Windows (WDM) qui représente l’appareil d’une cible d’E/S distante.

Syntaxe

PDEVICE_OBJECT WdfIoTargetWdmGetTargetPhysicalDevice(
  [in] WDFIOTARGET IoTarget
);

Paramètres

[in] IoTarget

Handle vers un objet cible d’E/S distant. Ce handle a été obtenu à partir d’un appel précédent à WdfIoTargetCreate.

Valeur retournée

Si la cible d’E/S représente un appareil PnP, WdfIoTargetWdmGetTargetPhysicalDevice retourne un pointeur vers une structure DEVICE_OBJECT qui représente l’AOP d’une cible d’E/S distante. Sinon, la méthode retourne NULL.

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

Remarques

Le pointeur que la méthode WdfIoTargetWdmGetTargetPhysicalDevice retourne est valide jusqu’à ce que le pilote appelle WdfIoTargetClose ou WdfIoTargetCloseForQueryRemove, ou jusqu’à ce que l’objet cible d’E/S distant soit supprimé. Si le pilote fournit une fonction EvtCleanupCallback pour l’objet cible d’E/S distant et si l’objet est supprimé avant la fermeture de la cible d’E/S distante, le pointeur est valide jusqu’à ce que la fonction EvtCleanupCallback soit retournée.

Si le pilote tente d’accéder à l’objet de périphérique WDM une fois qu’il a été supprimé, le pilote peut provoquer le blocage du système. L’exemple toastmon montre comment le pilote peut fournir une fonction de rappel EvtIoTargetQueryRemove afin qu’il soit averti si la cible d’E/S est supprimée.

Pour plus d’informations sur WdfIoTargetWdmGetTargetPhysicalDevice, consultez Obtention d’informations sur une cible d’E/S générale.

Pour plus d’informations sur les cibles d’E/S, consultez Utilisation de cibles d’E/S.

Exemples

L’exemple de code suivant obtient un pointeur vers une structure DEVICE_OBJECT qui représente l’AOP du périphérique d’une cible d’E/S distante.

PDEVICE_OBJECT  pTargetDO;

pTargetDO = WdfIoTargetWdmGetTargetPhysicalDevice(IoTarget);

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.0
En-tête wdfiotarget.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

DEVICE_OBJECT

WdfIoTargetCreate