共用方式為


IDE_CONTROLLER_CONFIGURATION結構 (irb.h)

IDE_CONTROLLER_CONFIGURATION 結構可用來在埠驅動程式與迷你埠驅動程式之間傳遞控制器組態資訊。

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

語法

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)