estructura IDE_TRANSFER_MODE_PARAMETERS (irb.h)
La estructura IDE_TRANSFER_MODE_PARAMETERS se usa junto con el controlador de miniporte AtaControllerTransferModeSelect rutina para establecer los parámetros del modo de transferencia en un canal.
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 miniport no debe seleccionar un modo de transferencia si el tipo de dispositivo es DeviceNotExist.
IoReadySupported[MAX_IDE_DEVICE]
Indica cuándo TRUE ese 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 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 miniporte 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 de sus datos de identificación del dispositivo. 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 seleccionado para cada uno de los dispositivos del canal. El controlador de miniport 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.
Observaciones
Las matrices de miembros DeviceTransferModeSupported, DeviceTransferModeCurrenty 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 |
---|---|
encabezado de | irb.h (incluya Irb.h) |