SET_BAND_METADATA_PARAMETERS 結構 (ehstorbandmgmt.h)
已設定的頻外元數據會設定為 SET_BAND_METADATA_PARAMETERS 結構中的參數。 這個結構是 IOCTL_EHSTOR_BANDMGMT_SET_BAND_METADATA 要求的輸入。
語法
typedef struct _SET_BAND_METADATA_PARAMETERS {
ULONG StructSize;
ULONG BandId;
LARGE_INTEGER BandStart;
ULONG MetadataOffset;
ULONG MetadataSize;
ULONG BufferOffset;
ULONG AuthKeyOffset;
} SET_BAND_METADATA_PARAMETERS, *PSET_BAND_METADATA_PARAMETERS;
成員
StructSize
這個結構的大小,以位元組為單位。 設定為 sizeof (SET_BAND_METADATA_PARAMETERS) 。
BandId
要傳回資訊之單一訊號段的標識碼。 當使用 BandId 選取單一帶時,BandSize 必須是 0。若要使用 BandStart 和 BandSize 而非 BandId 來選取訊號,請將 BandId = (ULONG) –1。
BandStart
儲存裝置上的起始位元組位置,以開始進行頻外搜尋。 嘗試比對 BandStart 或之後的帶狀。
MetadataOffset
要設定新數據的頻外元數據屬性開頭的位移。
MetadataSize
要設定的元數據位元組長度。 此大小受限於從 BAND_MANAGEMENT_CAPABILITIES 結構之 BandMetadataSize 成員減去的 MetadataOffset 值。
BufferOffset
從 SET_BAND_METADATA_PARAMETERS 開頭到新元數據位置的位移,以位元組為單位。
AuthKeyOffset
包含訊號範圍授權金鑰之 AUTH_KEY 結構的位移,以位元組為單位。 位移是從 SET_BAND_METADATA_PARAMETERS的開頭。 AUTH_KEY 會在 ehstorbandmgmt.h 中宣告如下。
typedef struct _AUTH_KEY
{
ULONG KeySize;
UCHAR Key[ANYSIZE_ARRAY];
} AUTH_KEY;
KeySize
索引鍵的大小,以位元組為單位,位於Key的索引 鍵數據。 如果 KeySize 設定為 0,則會使用預設金鑰。
答案
包含索引鍵數據的可變長度位元組陣列。
若要將預設驗證密鑰指定為頻外,請設定 AuthKeyOffset = EHSTOR_BANDMGR_NO_KEY。
備註
優先順序會指定給 BandID 進行頻 外選取。 如果 BandID 大於 0 且 BandID 小於BAND_MANAGEMENT_CAPABILITIES的 MaxBandCount 成員,則 BandID 會當做頻形比對的唯一選取準則使用。 如果 BandID == -1, 則 BandStart 會作為比對準則來選取帶狀。 如果沒有符合任一選取準則的訊號範圍,則會在 ioStatus 區塊中傳回 IOCTL_EHSTOR_BANDMGMT_SET_BAND_METADATA STATUS_INVALID_PARAMETER。
如果 BandID 和 BandStart 都設定為 –1, 則IOCTL_EHSTOR_BANDMGMT_SET_BAND_METADATA 會設定全域頻的元數據。
在BAND_MANAGEMENT_CAPABILITIES的 BandMetadataSize 成員中找到頻外元數據存放區的大小。 此結構會從 IOCTL_EHSTOR_BANDMGMT_QUERY_CAPABILITIES 要求傳回。
要為訊號範圍設定的新元數據會包含在 IOCTL_EHSTOR_BANDMGMT_SET_BAND_METADATA 要求的系統緩衝區中,並遵循 BufferOffset 的這個結構。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows 8 開始提供 |
標頭 | ehstorbandmgmt.h (包括 EhStorBandMgmt.h) |