Compartir a través de


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)

Consulte también

IWDFDeviceInitialize2::SetIoTypePreference

WDF_DEVICE_IO_TYPE

WdfDeviceInitSetIoTypeEx