Función WdfDeviceInitSetIoType (wdfdevice.h)
[Se aplica a KMDF y UMDF]
El método WdfDeviceInitSetIoType establece el método o la preferencia de cómo un controlador accederá a los búferes de datos que se incluyen en las solicitudes de lectura y escritura de un dispositivo especificado.
Sintaxis
void WdfDeviceInitSetIoType(
[in] PWDFDEVICE_INIT DeviceInit,
[in] WDF_DEVICE_IO_TYPE IoType
);
Parámetros
[in] DeviceInit
Puntero a una estructura de WDFDEVICE_INIT.
[in] IoType
Enumerador con tipo WDF_DEVICE_IO_TYPEque identifica el método que usará el controlador para acceder a los búferes de datos que recibe para las solicitudes de lectura y escritura.
Valor devuelto
Ninguno
Observaciones
KMDF Si está escribiendo un nuevo controlador con kmDF versión 1.13 o posterior, debe usar WdfDeviceInitSetIoTypeEx. Llamar a WdfDeviceInitSetIoType desde un controlador de filtro KMDF no tiene ningún efecto. En el caso de los controladores de filtro, el marco usa el tipo de E/S especificado por el controlador siguiente inferior en la pila de controladores.
UMDF Si está convirtiendo un controlador KMDF que llama a WdfDeviceInitSetIoType a umDF versión 2.0 o posterior, el controlador convertido puede seguir llamando a WdfDeviceInitSetIoType sin problema. Sin embargo, si va a escribir un controlador completamente nuevo con la versión 2.0 o posterior de UMDF, debe usar en su lugar WdfDeviceInitSetIoTypeEx.
Si un controlador llama a WdfDeviceInitSetIoType, debe hacerlo antes de llamar a WdfDeviceCreate. Para obtener más información sobre cómo llamar a WdfDeviceCreate, vea Creating a Framework Device Object.
Si el controlador no llama a WdfDeviceInitSetIoType, el marco establece el método de acceso al búfer del controlador en WdfDeviceIoBuffered, para el dispositivo especificado.
Para obtener más información sobre los métodos de acceso al búfer, consulte Acceso a los búferes de datos.
Ejemplos
En el ejemplo de código siguiente se indica que un controlador usará el método de E/S directo cuando acceda al dispositivo.
WdfDeviceInitSetIoType(
DeviceInit,
WdfDeviceIoDirect
);
Requisitos
Requisito | Valor |
---|---|
de la plataforma de destino de | Universal |
versión mínima de KMDF | 1.0 |
versión mínima de UMDF | 2.0 |
encabezado de | wdfdevice.h (incluya Wdf.h) |
biblioteca de | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
irQL | <= DISPATCH_LEVEL |
reglas de cumplimiento de DDI | ChildDeviceInitAPI(kmdf), ControlDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf) |