この 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 構造体の長さ。
出力バッファー
何一つ。
出力バッファーの長さ
何一つ。
状態ブロック
Status フィールドには、次のいずれかの値が返されます。
状態の値 | 形容 |
---|---|
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 を含む) |