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 solicitudes de lectura y escritura para 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_TYPE que identifica el método que el controlador usará para acceder a los búferes de datos que recibe para las solicitudes de lectura y escritura.
Valor devuelto
None
Observaciones
KMDF Si va a escribir un nuevo controlador con la versión 1.13 o posterior de KMDF, 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 va a convertir un controlador KMDF que llama a WdfDeviceInitSetIoType a la versión 2.0 o posterior de UMDF, el controlador convertido puede seguir llamando a WdfDeviceInitSetIoType sin problema. Sin embargo, si está escribiendo un controlador completamente nuevo con la versión 2.0 o posterior de UMDF, debe usar 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 Crear un objeto de dispositivo framework.
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 | Value |
---|---|
Plataforma de destino | Universal |
Versión mínima de KMDF | 1.0 |
Versión mínima de UMDF | 2.0 |
Encabezado | wdfdevice.h (incluya Wdf.h) |
Library | 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) |