Partager via


WdfIoTargetCreate, fonction (wdfiotarget.h)

[S’applique à KMDF et UMDF]

La méthode WdfIoTargetCreate crée une cible d’E/S distante pour un appareil spécifié.

Syntaxe

NTSTATUS WdfIoTargetCreate(
  [in]           WDFDEVICE              Device,
  [in, optional] PWDF_OBJECT_ATTRIBUTES IoTargetAttributes,
  [out]          WDFIOTARGET            *IoTarget
);

Paramètres

[in] Device

Handle d’un objet d’appareil framework.

[in, optional] IoTargetAttributes

Pointeur vers une structure de WDF_OBJECT_ATTRIBUTES allouée par l’appelant qui spécifie les attributs d’objet pour l’objet cible d’E/S. Ce paramètre est facultatif et peut être WDF_NO_OBJECT_ATTRIBUTES.

[out] IoTarget

Pointeur vers un emplacement qui reçoit un handle vers un objet cible d’E/S.

Valeur retournée

WdfIoTargetCreate retourne STATUS_SUCCESS si l’opération réussit. Sinon, cette méthode peut retourner l’une des valeurs suivantes :

Code de retour Description
STATUS_INVALID_PARAMETER
Un paramètre non valide a été détecté.
STATUS_INSUFFICIENT_RESOURCES
La mémoire était insuffisante pour créer un objet cible d’E/S.
STATUS_INVALID_DEVICE_REQUEST
Le membre ParentObject de la structure WDF_OBJECT_ATTRIBUTES spécifiée par IoTargetAttributes n’a pas spécifié l’objet d’appareil framework spécifié par Device , ni un objet dont la chaîne de parents conduit à cet objet.
 

Pour obtenir la liste des autres valeurs de retour que WdfIoTargetCreate peut retourner, consultez Erreurs de création d’objet Framework.

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

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

Remarques

Une fois qu’un pilote a appelé WdfIoTargetCreate, le pilote doit appeler WdfIoTargetOpen avant de pouvoir envoyer des requêtes à la cible d’E/S distante.

Si le pilote spécifie un objet parent dans le membre ParentObject de la structure WDF_OBJECT_ATTRIBUTES, l’objet parent peut être un objet d’appareil framework ou tout objet dont la chaîne de parents conduit à un objet d’appareil framework. L’infrastructure supprime l’objet cible d’E/S lorsqu’il (ou le pilote) supprime l’objet d’appareil.

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

Si votre pilote fournit des fonctions de rappel EvtCleanupCallback ou EvtDestroyCallback pour l’objet cible d’E/S, notez que l’infrastructure appelle ces fonctions de rappel à l’adresse IRQL = PASSIVE_LEVEL.

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

Exemples

Pour obtenir un exemple de code qui utilise WdfIoTargetCreate, consultez WdfIoTargetOpen.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.0
Version UMDF minimale 2.0
En-tête wdfiotarget.h (inclure Wdf.h)
Bibliothèque Wdf01000.sys (KMDF) ; WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
Règles de conformité DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Voir aussi

WDF_OBJECT_ATTRIBUTES

WdfIoTargetOpen