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 nuevos controladores UMDF deben escribirse mediante 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 a 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 al interfaz de IWDFIoQueue para el 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
Ninguno
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 de OnDeviceIoControl 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 WdfRequestDeviceIoControl valor del tipo de enumeración WDF_REQUEST_TYPE para la solicitud).
Para obtener más información sobre los métodos del controlador asociados a las 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 Procesar solicitudes de E/S.
El controlador puede llamar al IWDFIoRequest::GetDeviceIoControlParameters, IWDFIoRequest::GetInputMemoryy IWDFIoRequest::GetOutputMemory para recuperar información sobre la solicitud y los búferes de entrada y salida.
Requisitos
Requisito | Valor |
---|---|
de la plataforma de destino de | Windows |
encabezado de | wudfddi.h (incluya Wudfddi.h) |
Consulte también
- IQueueCallbackDeviceIoControl
- IWDFDevice::CreateIoQueue
- IWDFIoQueue
- IWDFIoRequest
- WDF_REQUEST_TYPE