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) |