IOCTL_EHSTOR_BANDMGMT_ACTIVATE IOCTL (ehstorbandmgmt.h)

发送 此IOCTL_EHSTOR_BANDMGMT_ACTIVATE 请求以激活存储设备上的安全功能和带管理。 请求包括激活选项和身份验证密钥。

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

Irp-AssociatedIrp.SystemBuffer> 中的输入缓冲区包含ACTIVATE_REVERT_PARAMETERS结构。 ACTIVATE_REVERT_PARAMETERSehstorbandmgmt.h 中声明如下。

typedef struct _ACTIVATE_REVERT_PARAMETERS
{
    ULONG           StructSize;
    ULONG           Flags;
    ULONG           AuthKeyOffset;
} ACTIVATE_REVERT_PARAMETERS;

在系统缓冲区中 ACTIVATE_REVERT_PARAMETERS 是一种 AUTH_KEY 结构。 这会保存身份验证密钥的密钥数据字节。 AUTH_KEYehstorbandmgmt.h 中声明如下。

typedef struct _AUTH_KEY
{
    ULONG   KeySize;
    UCHAR   Key[ANYSIZE_ARRAY];
} AUTH_KEY;

输入缓冲区长度

ACTIVATE_REVERT_PARAMETERS结构的长度。

输出缓冲区

无。

输出缓冲区长度

无。

状态块

可以在 “状态” 字段中返回以下值之一。

状态值 说明
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)

另请参阅

IOCTL_EHSTOR_BANDMGMT_QUERY_CAPABILITIES

IOCTL_EHSTOR_BANDMGMT_REVERT