ENUMERATE_BANDS_PARAMETERS 結構 (ehstorbandmgmt.h)

ENUMERATE_BANDS_PARAMETERS結構可用來選取要從IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS要求傳回的帶狀信息專案。

語法

typedef struct _ENUMERATE_BANDS_PARAMETERS {
  ULONG         StructSize;
  ULONG         Flags;
  ULONG         Reserved;
  ULONG         BandId;
  LARGE_INTEGER BandStart;
  LARGE_INTEGER BandSize;
} ENUMERATE_BANDS_PARAMETERS, *PENUMERATE_BANDS_PARAMETERS;

成員

StructSize

這個 結構的大小,以位元組為單位。 設定為 sizeof (ENUMERATE_BANDS_PARAMETERS) 。

Flags

帶狀列舉旗標。 這個值是下列的位 OR 組合。

意義
ENUMBANDS_ENUM_ALL_BANDS
會傳回所有帶狀。 設定此旗標時,會忽略 BandId、BandStart 和 BandSize 成員。
ENUMBANDS_REPORT_CRYPTO_ALGO
BAND_TABLE_ENTRY 的 SecurityInfo 成員中包含媒體加密演演算法資訊。

Reserved

保留的。

BandId

要傳回資訊之單一帶的標識碼。 使用 BandId 選取單一訊號範圍時,BandSize 必須為 0。若要使用 BandStartBandSize 而非 BandId 來選取帶狀,請將 BandId = (ULONG) –1。

BandStart

存儲設備上的起始位元組位置,以開始進行訊號範圍搜尋。 嘗試比對 BandStart 或之後的帶狀。

BandSize

選擇性的帶狀大小比對值,以位元組為單位。 如果 BandSize == 0 和 BandId == –1, 則 BandStart 是選取帶狀區的唯一相符值。 否則,會選取 BandStart 或之後的帶狀區,並完全選取相符 的 BandSize

備註

Flags 中未設定ENUMBANDS_ENUM_ALL_BANDS時,會嘗試比對單一帶。 單一帶比對是根據 BandID、BandStartBandSize 中的值進行。 優先順序會指定給 BandID 進行帶狀選取。 如果的 BandID> 0 和 BandID<MaxBandCount 成員BAND_MANAGEMENT_CAPABILITIES 如果 BandID 大於 0,且 BandID 小於 BAND_MANAGEMENT_CAPABILITIES的 MaxBandCount 成員,則 BandID 會當做帶比對的唯一選取準則使用。 如果 BandID == –1, 則 BandStartBandSize 會作為比對準則來選取帶狀。

BandStartBandSize 用來比對訊號時,會傳回 在 BandStart 位置上或之後設定的第一個帶狀區,其大小為 BandSize 。 如果 BandSize == 0,當 BandStart 有效時,則會傳回 在 BandStart 或之後 設定的第一個頻段。

如果 已設定 BandID == 0 或未設定任何訊號,且 Flags 未設定為 ENUMBANDS_ENUM_ALL_BANDS,則會傳回整個裝置的全域訊號。

BandStartBandSize 無效,除非其值以位元組為單位,是基礎儲存裝置扇區大小的確切倍數。

規格需求

需求
最低支援的用戶端 從 Windows 8 開始提供
標頭 ehstorbandmgmt.h (包含 EhStorBandMgmt.h)

另請參閱

BAND_MANAGEMENT_CAPABILITIES

BAND_TABLE

BAND_TABLE_ENTRY

IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS