Méthode IQueueCallbackDeviceIoControl ::OnDeviceIoControl (wudfddi.h)
Avertissement
UMDF 2 est la dernière version d’UMDF et remplace UMDF 1. Tous les nouveaux pilotes UMDF doivent être écrits à l’aide d’UMDF 2. Aucune nouvelle fonctionnalité n’est ajoutée à UMDF 1 et la prise en charge d’UMDF 1 est limitée sur les versions plus récentes de Windows 10. Les pilotes Windows universels doivent utiliser UMDF 2. Pour plus d’informations, consultez Prise en main avec UMDF.
La méthode OnDeviceIoControl est appelée pour gérer une demande de contrôle d’E/S d’appareil lorsqu’une application effectue une opération spécifique sur un appareil via la fonction Microsoft Win32 OnDeviceIoControl .
Syntaxe
void OnDeviceIoControl(
[in] IWDFIoQueue *pWdfQueue,
[in] IWDFIoRequest *pWdfRequest,
[in] ULONG ControlCode,
SIZE_T InputBufferSizeInBytes,
SIZE_T OutputBufferSizeInBytes
);
Paramètres
[in] pWdfQueue
Pointeur vers l’interface IWDFIoQueue pour l’objet file d’attente d’E/S à partir duquel la demande arrive.
[in] pWdfRequest
Pointeur vers l’interface IWDFIoRequest qui représente l’objet de demande d’infrastructure.
[in] ControlCode
Code de contrôle d’E/S défini par le pilote ou défini par le système (IOCTL) qui identifie l’opération spécifique à effectuer et qui est associé à la demande.
InputBufferSizeInBytes
Taille, en octets, de la mémoire tampon d’entrée pour la requête.
OutputBufferSizeInBytes
Taille, en octets, de la mémoire tampon de sortie de la requête.
Valeur de retour
None
Remarques
Un pilote inscrit l’interface IQueueCallbackDeviceIoControl lorsque le pilote appelle la méthode IWDFDevice ::CreateIoQueue pour créer une file d’attente d’E/S ou pour configurer la file d’attente d’E/S par défaut.
Un pilote peut implémenter une seule méthode OnDeviceIoControl pour toutes les files d’attente d’E/S ou des méthodes OnDeviceIoControl distinctes pour chaque file d’attente d’E/S.
La méthode OnDeviceIoControl reçoit chaque type de demande de contrôle d’E/S d’appareil provenant d’une file d’attente. (Le type de requête est identifié par la valeur WdfRequestDeviceIoControl du type d’énumération WDF_REQUEST_TYPE pour la requête.)
Pour plus d’informations sur les méthodes du pilote associées aux files d’attente et que l’infrastructure appelle, consultez Fonctions de rappel d’événements de file d’attente d’E/S. La méthode OnDeviceIoControl doit traiter chaque demande de contrôle d’E/S d’appareil reçue. Pour plus d’informations sur la façon dont les pilotes UMDF traitent les demandes d’E/S, consultez Traitement des demandes d’E/S.
Le pilote peut appeler les méthodes IWDFIoRequest ::GetDeviceIoControlParameters, IWDFIoRequest ::GetInputMemory et IWDFIoRequest ::GetOutputMemory pour récupérer des informations sur la requête et les mémoires tampons d’entrée et de sortie.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | wudfddi.h (inclure Wudfddi.h) |