ACCESS_RANGE 結構 (storport.h)

ACCESS_RANGE描述 HBA 所使用的記憶體或 I/O 埠範圍。

語法

typedef struct _ACCESS_RANGE {
  STOR_PHYSICAL_ADDRESS RangeStart;
  ULONG                 RangeLength;
  BOOLEAN               RangeInMemory;
} ACCESS_RANGE, *PACCESS_RANGE;

成員

RangeStart

包含實體位址,指定 HBA 所使用範圍的總線相對基位址。 這個成員的值可以從PORT_CONFIGURATION_INFORMATION 結構中的其中一個 AccessRanges 元素取得。 這是可傳遞至 StorPortGetDeviceBase 的位址。

RangeLength

指定範圍中的埠大小、位元組或埠數目。 迷你埠驅動程序必須確定此值符合適配卡實際譯碼的範圍。 例如,如果 HBA 使用七個緩存器,但回應 8,則此成員應設定為 8。

RangeInMemory

表示當 為 TRUE 時,範圍位於記憶體中,而不是在 I/O 空間中。 當 為 FALSE 時,範圍會以 I/O 空格為單位。

備註

每個ACCESS_RANGE都是PORT_CONFIGURATION_INFORMATION結構內的AccessRanges 陣列元素,傳遞至迷你埠驅動程式的 HwStorFindAdapter 例程。

Storport 會配置存取範圍的記憶體,並初始化 AccessRanges 成員。 迷你埠驅動程式的 HwStorFindAdapter 例程應該只使用提供的位址,而且 絕對不應該 嘗試使用自己設計位址在相同的總線上尋找其他 HBA。 當埠驅動程式提供範圍資訊時,嘗試存取其他總線相對埠或記憶體範圍,特別是在某些裝置在 x86 實際模式中初始化的僅限 x86 系統,可能會導致總線上的其他裝置無法初始化,甚至導致系統無法開機程式。

規格需求

需求
標頭 storport.h (包含 Srb.h、Storport.h、Strmini.h)

另請參閱

HwStorFindAdapter

PORT_CONFIGURATION_INFORMATION

StorPortGetDeviceBase