IDE_CONTROLLER_CONFIGURATION結構 (irb.h)
IDE_CONTROLLER_CONFIGURATION 結構可用來在埠驅動程式與迷你埠驅動程式之間傳遞控制器組態資訊。
語法
typedef struct _IDE_CONTROLLER_CONFIGURATION {
USHORT Version;
UCHAR NumberOfChannels;
IDE_OPERATION_MODE ControllerMode;
UCHAR NumberOfPhysicalBreaks;
ULONG MaximumTransferLength;
BOOLEAN Reserved;
BOOLEAN NativeModeEnabled;
BOOLEAN Dma64BitAddress;
BOOLEAN BusMaster;
IDE_BUS_TYPE AtaBusType;
PIDE_MINIPORT_RESOURCES ControllerResources;
} IDE_CONTROLLER_CONFIGURATION, *PIDE_CONTROLLER_CONFIGURATION;
成員
Version
埠驅動程式會將此欄位設定為指出埠驅動程式的版本。 埠驅動程式會將版本設定為 sizeof(IDE_CONTROLLER_CONFIGURATION)。 迷你埠驅動程式應該確認版本大於或等於所使用的版本。
NumberOfChannels
指定 HBA 支援的通道數目。 請注意,這表示包含已停用的通道總數。
ControllerMode
埠驅動程式會將此字段設定為通知 ATA 迷你埠執行所在的模式。 有兩種可能模式:
模式 | 描述 |
---|---|
IdeModeNormal | 這是 ATA 迷你埠正常運作的標準完整功能模式。 |
IdeModeDump | 這是 ATA 迷你埠在休眠或損毀傾印期間運作的記憶體模式有限。 在此模式中,無法使用回呼例程和登錄存取例程。 |
NumberOfPhysicalBreaks
指定 HBA 支援散佈/收集時,數據緩衝區可以擁有之位址範圍之間的中斷數目上限。 換句話說,散佈/收集清單的數目減一。 根據預設,這個成員的值是IDE_UNINITIALIZED_VALUE,這表示 HBA 可以支援無限數量的實體不連續。 如果埠驅動程式為此成員設定值,迷你埠驅動程式可以調整較低的值,但不會更高。 如果此成員IDE_UNINITIALIZED_VALUE,迷你埠驅動程序必須根據 HBA 的散佈/收集容量重設此成員。
MaximumTransferLength
指定 HBA 可以在單一傳輸作業中傳輸的最大位元元數目。 根據預設,這個成員的值是IDE_UNINITIALIZED_VALUE,表示傳輸大小無限制。
Reserved
保留供日後使用。 迷你埠驅動程式不得使用此欄位。
NativeModeEnabled
迷你埠驅動程式可以將這個成員設定為 TRUE,表示控制器是以原生模式運作。
Dma64BitAddress
迷你埠驅動程式可以將此成員設定為 TRUE,表示支援 64 位 DMA 作業。
BusMaster
迷你埠驅動程式可以將此成員設定為 TRUE,以表示總線主控支援。
AtaBusType
指出它是 SATA 或 PATA 控制器。
ControllerResources
提供 ATA 控制器的硬體資源。
要求
要求 | 價值 |
---|---|
標頭 | irb.h (包括 Irb.h) |