Compartir a través de


estructura IDE_TRANSFER_MODE_PARAMETERS (irb.h)

La estructura IDE_TRANSFER_MODE_PARAMETERS se usa junto con la rutina AtaControllerTransferModeSelect del controlador de miniporte para establecer los parámetros del modo de transferencia en un canal.

Nota Los modelos de controlador de puerto ATA y controlador de minipuerto de ATA pueden modificarse o no estar disponibles en el futuro. En su lugar, se recomienda usar los modelos del controlador Storport y del controlador storport miniport .
 

Sintaxis

typedef struct _IDE_TRANSFER_MODE_PARAMETERS {
  UCHAR           ChannelNumber;
  IDE_DEVICE_TYPE DeviceType[MAX_IDE_DEVICE];
  BOOLEAN         IoReadySupported[MAX_IDE_DEVICE];
  ULONG           DeviceTransferModeSupported[MAX_IDE_DEVICE];
  ULONG           DeviceTransferModeCurrent[MAX_IDE_DEVICE];
  ULONG           DeviceTransferModeSelected[MAX_IDE_DEVICE];
} IDE_TRANSFER_MODE_PARAMETERS, *PIDE_TRANSFER_MODE_PARAMETERS;

Miembros

ChannelNumber

Indica el número de canal cuyos parámetros de modo se van a establecer.

DeviceType[MAX_IDE_DEVICE]

Contiene un valor de enumeración de tipo IDE_DEVICE_TYPE que indica el tipo de dispositivo. El controlador de minipuerto no debe seleccionar un modo de transferencia si el tipo de dispositivo es DeviceNotExist.

IoReadySupported[MAX_IDE_DEVICE]

Indica si true , el bit 11 de la palabra 49 de los datos de identificación del dispositivo indicado se establece en 1. Una solicitud IDE con un valor de función de IRB_FUNCTION_ATA_IDENTIFY recuperará los datos de identificación de un dispositivo. Para obtener más información sobre los datos de identificación de ATA, consulte las secciones del paquete Identificar información del dispositivo en la versión 6.0 de la especificación ATA/ATAPI.

DeviceTransferModeSupported[MAX_IDE_DEVICE]

Contiene un mapa de bits que indica los modos de transferencia admitidos para cada uno de los dispositivos del canal. El controlador de puerto establece este miembro. El controlador de minipuerto no debe seleccionar un modo de transferencia que el controlador de puerto no admita. Para obtener más información sobre este miembro, vea la sección Comentarios .

DeviceTransferModeCurrent[MAX_IDE_DEVICE]

Contiene un mapa de bits que indica la configuración del modo de transferencia actual para cada uno de los dispositivos del canal. El controlador de puerto recupera el modo de transferencia actual de los dispositivos a partir de sus datos de dispositivo de identificación. Para obtener más información sobre este miembro, vea la sección Comentarios .

DeviceTransferModeSelected[MAX_IDE_DEVICE]

Contiene un mapa de bits que indica la configuración del modo de transferencia seleccionada para cada uno de los dispositivos del canal. El controlador de minipuerto debe usar este miembro para indicar al controlador de puerto qué modos de transferencia selecciona. Para obtener más información sobre este miembro, vea la sección Comentarios .

Comentarios

Las matrices miembro DeviceTransferModeSupported, DeviceTransferModeCurrent y DeviceTransferModeSelected son matrices de mapas de bits ULONG que indican combinaciones de modos de transferencia PIO y DMA. Los mapas de bits se definen de la siguiente manera:

Modos pio

#define PIO_MODE0           (1 << 0)
#define PIO_MODE1           (1 << 1)
#define PIO_MODE2           (1 << 2)
#define PIO_MODE3           (1 << 3)
#define PIO_MODE4           (1 << 4)

// Single-word DMA Modes

#define SWDMA_MODE0         (1 << 5)
#define SWDMA_MODE1         (1 << 6)
#define SWDMA_MODE2         (1 << 7)

// Multi-word DMA Modes

#define MWDMA_MODE0         (1 << 8)
#define MWDMA_MODE1         (1 << 9)
#define MWDMA_MODE2         (1 << 10)

// Ultra DMA Modes

#define UDMA_MODE0          (1 << 11)
#define UDMA_MODE1          (1 << 12)
#define UDMA_MODE2          (1 << 13)
#define UDMA_MODE3          (1 << 14)
#define UDMA_MODE4          (1 << 15)
#define UDMA_MODE5          (1 << 16)

Requisitos

Requisito Valor
Header irb.h (incluir Irb.h)

Consulte también

AtaControllerTransferModeSelect

IDE_DEVICE_TYPE