Método IQueueCallbackDeviceIoControl::OnDeviceIoControl (wudfddi.h)

Advertencia

UMDF 2 es la versión más reciente de UMDF y sustituye a UMDF 1. Todos los controladores UMDF nuevos deben escribirse con UMDF 2. No se agregan nuevas características a UMDF 1 y hay compatibilidad limitada con UMDF 1 en versiones más recientes de Windows 10. Los controladores universales de Windows deben usar UMDF 2. Para obtener más información, consulta Introducción con UMDF.

Se llama al método OnDeviceIoControl para controlar una solicitud de control de E/S de dispositivo cuando una aplicación realiza una operación específica en un dispositivo a través de la función OnDeviceIoControl de Microsoft Win32.

Sintaxis

void OnDeviceIoControl(
  [in] IWDFIoQueue   *pWdfQueue,
  [in] IWDFIoRequest *pWdfRequest,
  [in] ULONG         ControlCode,
       SIZE_T        InputBufferSizeInBytes,
       SIZE_T        OutputBufferSizeInBytes
);

Parámetros

[in] pWdfQueue

Puntero a la interfaz IWDFIoQueue del objeto de cola de E/S desde el que llega la solicitud.

[in] pWdfRequest

Puntero a la interfaz IWDFIoRequest que representa el objeto de solicitud de marco.

[in] ControlCode

Código de control de E/S definido por el controlador o definido por el sistema (IOCTL) que identifica la operación específica que se va a realizar y que está asociada a la solicitud.

InputBufferSizeInBytes

Tamaño, en bytes, del búfer de entrada de la solicitud.

OutputBufferSizeInBytes

Tamaño, en bytes, del búfer de salida de la solicitud.

Valor devuelto

None

Observaciones

Un controlador registra la interfaz IQueueCallbackDeviceIoControl cuando el controlador llama al método IWDFDevice::CreateIoQueue para crear una cola de E/S o para configurar la cola de E/S predeterminada.

Un controlador puede implementar un único método OnDeviceIoControl para todas las colas de E/S o métodos OnDeviceIoControl independientes para cada cola de E/S.

El método OnDeviceIoControl recibe cada tipo de solicitud de control de E/S de dispositivo de una cola. (El tipo de solicitud se identifica mediante el valor WdfRequestDeviceIoControl del tipo de enumeración WDF_REQUEST_TYPE para la solicitud).

Para obtener más información sobre los métodos del controlador que están asociados a colas y que el marco llama, consulte Funciones de devolución de llamada de eventos de cola de E /S. El método OnDeviceIoControl debe procesar cada solicitud de control de E/S de dispositivo recibida. Para obtener más información sobre cómo los controladores de UMDF procesan las solicitudes de E/S, consulte Procesamiento de solicitudes de E/S.

El controlador puede llamar a los métodos IWDFIoRequest::GetDeviceIoControlParameters, IWDFIoRequest::GetInputMemory e IWDFIoRequest::GetOutputMemory para recuperar información sobre la solicitud y los búferes de entrada y salida.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado wudfddi.h (incluya Wudfddi.h)

Consulte también