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)

Consulte también

IWDFDeviceInitialize2::SetIoTypePreference

WDF_DEVICE_IO_TYPE

WdfDeviceInitSetIoTypeEx