IOCTL_EHSTOR_BANDMGMT_ACTIVATE IOCTL (ehstorbandmgmt.h)
系統會傳送此 IOCTL_EHSTOR_BANDMGMT_ACTIVATE 要求,以啟用記憶體裝置上的安全性功能和訊號範圍管理。 要求包括啟用選項和驗證金鑰。
主要程序代碼
輸入緩衝區
Irp-AssociatedIrp.SystemBuffer> 的輸入緩衝區包含ACTIVATE_REVERT_PARAMETERS結構。 ACTIVATE_REVERT_PARAMETERS 在 ehstorbandmgmt.h 中宣告如下。
typedef struct _ACTIVATE_REVERT_PARAMETERS
{
ULONG StructSize;
ULONG Flags;
ULONG AuthKeyOffset;
} ACTIVATE_REVERT_PARAMETERS;
在系統緩衝區中遵循 ACTIVATE_REVERT_PARAMETERS 是 AUTH_KEY 結構。 這會保存驗證金鑰的金鑰數據位元組。 AUTH_KEY 在 ehstorbandmgmt.h 中宣告如下。
typedef struct _AUTH_KEY
{
ULONG KeySize;
UCHAR Key[ANYSIZE_ARRAY];
} AUTH_KEY;
輸入緩衝區長度
ACTIVATE_REVERT_PARAMETERS 結構的長度。
輸出緩衝區
無。
輸出緩衝區長度
無。
狀態區塊
下列其中一個值可以在 [ 狀態 ] 字段中傳回。
狀態值 | Description |
---|---|
STATUS_SUCCESS | 記憶體裝置上的安全性功能已啟用。 |
STATUS_INVALID_DEVICE_REQUEST | 儲存裝置不支援訊號範圍管理。 |
STATUS_INVALID_BUFFER_SIZE | 輸入緩衝區大小無效。 |
STATUS_INVALID_PARAMETER | 輸入緩衝區中的資訊無效。 |
STATUS_ACCESS_DENIED | 驗證金鑰無效。 啟用遭到拒絕。 |
STATUS_DEVICE_CONFIGURATION_ERROR | 系統無法以支援的模式設定裝置。 |
STATUS_IO_DEVICE_ERROR | 通訊失敗。 存儲設備可能與安全性通訊協定不相容。 |
STATUS_INVALID_DEVICE_STATE | 記憶體裝置已啟動。 |
STATUS_NOT_SUPPORTED | 裝置上的安全性功能因為 群組原則 設定而未啟用。 |
備註
如果STATUS_SUCCESS從此要求傳回,驅動程式或應用程式就可以傳送 IOCTL_EHSTOR_BANDMGMT_QUERY_CAPABILITIES 要求,以擷取裝置的已啟用訊號範圍管理功能。
在成功從 IOCTL_EHSTOR_BANDMGMT_ACTIVATE傳回之前,裝置不會啟動。 在裝置啟用之前,將成功傳回的唯一頻外管理IOCTL是 IOCTL_EHSTOR_BANDMGMT_QUERY_CAPABILITIES。 啟用之後,可以使用其餘的訊號範圍管理IOCTL。
增強型存放設備的啟用是由系統的 群組原則 設定所控制。 HKLM\Software\Policies\Microsoft\Windows\EnhancedStorageDevices\TCGSecurityActivationDisabled 的登錄值會決定是否啟用安全性啟用。 REG_DWORD值為 0 允許在記憶體裝置上啟用安全性。 否則,值為 1 會停用安全性啟用,且 IOCTL_EHSTOR_BANDMGMT_ACTIVATE 要求會傳回STATUS_NOT_SUPPORTED 。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows 8 開始提供。 |
標頭 | ehstorbandmgmt.h (包含 EhStorBandMgmt.h) |