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)

Voir aussi