Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
[S’applique à KMDF et UMDF]
La méthode WdfRequestChangeTarget vérifie qu’une requête d’E/S spécifiée peut être envoyée à une cible d’E/S spécifiée.
Syntaxe
NTSTATUS WdfRequestChangeTarget(
[in] WDFREQUEST Request,
[in] WDFIOTARGET IoTarget
);
Paramètres
[in] Request
Handle vers un objet de requête de framework.
[in] IoTarget
Handle vers un objet cible d’E/S de framework.
Valeur de retour
WdfRequestChangeTarget retourne STATUS_SUCCESS si l’opération réussit. Sinon, cette méthode peut retourner l’une des valeurs suivantes :
Retourner le code | Description |
---|---|
|
Un paramètre d’entrée n’est pas valide. |
|
Il existe des ressources système insuffisantes pour terminer l’opération. |
|
Le tableau des emplacements de pile d’E/S de la requête n’est pas suffisamment grand pour permettre au pilote d’envoyer la requête à la cible d’E/S. |
Cette méthode peut également retourner d’autres valeurs NTSTATUS .
Une vérification de bogue se produit si le pilote fournit un handle d’objet non valide.
Remarques
Votre pilote doit appeler la méthode WdfRequestChangeTarget avant d’appeler WdfRequestSend, si le pilote envoie une requête d’E/S unique à plusieurs cibles d’E/S. WdfRequestChangeTarget vérifie que la requête peut être envoyée à la cible d’E/S spécifiée.
La plupart des pilotes envoient chaque requête à un seul appareil et donc à une seule cible d’E/S. Un pilote reçoit la demande ou crée une nouvelle requête en appelant WdfRequestCreate.
Si le pilote envoie la requête à un appareil, il appelle WdfDeviceGetIoTarget pour déterminer la cible d’E/S de l’appareil, puis appelle WdfRequestSend pour envoyer la requête à la cible.
Si le pilote envoie la requête à plusieurs appareils, il appelle WdfDeviceGetIoTarget pour chaque appareil afin de déterminer la cible d’E/S de l’appareil. Avant d’appeler WdfRequestSend, le pilote doit appeler WdfRequestChangeTarget pour vous assurer que chaque cible d’E/S est accessible.
Pour plus d’informations sur WdfRequestChangeTarget, consultez transfert de requêtes d’E/S.
Exemples
L’exemple de code suivant vérifie qu’une requête d’E/S peut être envoyée à la cible d’E/S locale d’un appareil spécifié.
NTSTATUS status;
status = WdfRequestChangeTarget(
request,
WdfDeviceGetIoTarget(Device)
);
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Universel |
version minimale de KMDF | 1.0 |
version minimale de UMDF | 2.0 |
d’en-tête | wdfrequest.h (include Wdf.h) |
bibliothèque | Wdf01000.sys (KMDF) ; WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
règles de conformité DDI | DriverCreate(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |