WdfRequestFormatRequestUsingCurrentType, fonction (wdfrequest.h)
[S’applique à KMDF et UMDF]
La méthode WdfRequestFormatRequestUsingCurrentType met en forme une requête d’E/S spécifiée afin que le pilote puisse la transférer , sans modification, à la cible d’E/S locale du pilote.
Syntaxe
void WdfRequestFormatRequestUsingCurrentType(
[in] WDFREQUEST Request
);
Paramètres
[in] Request
Handle d’un objet de demande d’infrastructure que le pilote a reçu de l’une de ses files d’attente d’E/S.
Valeur de retour
None
Remarques
Un bogue case activée se produit si le pilote fournit un handle d’objet non valide.
Lorsque votre pilote reçoit une demande d’E/S, vous souhaitez parfois que le pilote transfère la demande, sans modification, à sa cible d’E/S locale. Pour transférer une telle demande, le pilote doit :
- Appelez WdfRequestFormatRequestUsingCurrentType pour mettre en forme l’objet de requête afin que l’infrastructure puisse transmettre la demande à la cible d’E/S locale du pilote.
- Appelez WdfRequestSend pour envoyer la demande à la cible d’E/S.
Exemples
L’exemple de code suivant est une fonction de rappel EvtIoDefault qui transfère chaque demande d’E/S qu’elle reçoit, sans modification, vers la cible d’E/S locale de l’appareil.
VOID
MyEvtIoDefault(
WDFQUEUE Queue,
WDFREQUEST Request
)
{
WDF_REQUEST_SEND_OPTIONS options;
NTSTATUS status;
WDF_REQUEST_PARAMETERS params;
BOOLEAN ret;
WDF_REQUEST_PARAMETERS_INIT(¶ms);
WdfRequestGetParameters(
Request,
¶ms
);
WdfRequestFormatRequestUsingCurrentType(Request);
WDF_REQUEST_SEND_OPTIONS_INIT(
&options,
WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET
);
ret = WdfRequestSend (
Request,
WdfDeviceGetIoTarget(WdfIoQueueGetDevice(Queue)),
&options
);
if (!ret) {
status = WdfRequestGetStatus(Request);
WdfRequestComplete(
Request,
status
);
}
return;
}
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
Version KMDF minimale | 1.0 |
Version UMDF minimale | 2.0 |
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), RequestFormattedValid(kmdf) |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour