共用方式為


IDE_TRANSFER_MODE_PARAMETERS結構 (irb.h)

IDE_TRANSFER_MODE_PARAMETERS 結構會與迷你埠驅動程式的 AtaControllerTransferModeSelect 例程搭配使用,以在通道上設定傳輸模式參數。

注意 ATA 埠驅動程式和 ATA 迷你埠驅動程式模型未來可能會改變或無法使用。 相反地,我們建議使用 Storport 驅動程式Storport 迷你埠 驅動程式模型。
 

語法

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;

成員

ChannelNumber

指出要設定其模式參數的通道號碼。

DeviceType[MAX_IDE_DEVICE]

包含 型別為 IDE_DEVICE_TYPE 的列舉值,表示裝置的類型。 如果裝置類型為 DeviceNotExist,迷你埠驅動程式不應該選取傳輸模式。

IoReadySupported[MAX_IDE_DEVICE]

指出當指定的裝置識別數據的第 11 個字 11 位設為 1 時,則為 TRUE 。 函式值為 IRB_FUNCTION_ATA_IDENTIFY 的 IDE 要求會擷取裝置的識別數據。 如需 ATA 識別數據的詳細資訊,請參閱 ATA/ATAPI 規格 6.0 版中識別裝置資訊封包的各節。

DeviceTransferModeSupported[MAX_IDE_DEVICE]

包含位圖,指出通道上每個裝置支援的傳輸模式。 埠驅動程式會設定此成員。 迷你埠驅動程式不得選取埠驅動程式不支援的傳輸模式。 如需此成員的詳細資訊,請參閱一節。

DeviceTransferModeCurrent[MAX_IDE_DEVICE]

包含位圖,指出通道上每個裝置目前的傳輸模式設定。 埠驅動程式會從裝置識別數據擷取裝置目前的傳輸模式。 如需此成員的詳細資訊,請參閱一節。

DeviceTransferModeSelected[MAX_IDE_DEVICE]

包含位圖,指出通道上每個裝置的選取傳輸模式設定。 迷你埠驅動程序應該使用此成員向埠驅動程式指出它選取的傳輸模式。 如需此成員的詳細資訊,請參閱一節。

備註

成員陣列 DeviceTransferModeSupportedDeviceTransferModeCurrentDeviceTransferModeSelected 是 ULONG 位圖的數位,指出 PIO 和 DMA 傳輸模式的組合。 點陣圖的定義如下:

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)

規格需求

需求
標頭 irb.h (包含 Irb.h)

另請參閱

AtaControllerTransferModeSelect

IDE_DEVICE_TYPE