IOCTL_EHSTOR_DRIVER_PERFORM_AUTHZ IOCTL (ehstorioctl.h)
IOCTL_EHSTOR_DRIVER_PERFORM_AUTHZ 由增强存储类驱动程序 (EHSTOR) 发送到接收器驱动程序,以启动按需身份验证或取消身份验证。
主要代码
输入缓冲区
Irp->AssociatedIrp.SystemBuffer 的输入缓冲区必须包含指示要执行的身份验证作类型的 AUTHZ_STATE 结构。 AUTHZ_STATE 在 ehstorioctl.h 中声明为以下内容。
typedef struct _AUTHZ_STATE
{
ULONG AuthzState;
} AUTHZ_STATE;
AuthzState 的值指定身份验证作。 这是以下项之一。
价值 | 描述 |
---|---|
0 | 执行按需身份验证。 |
AUTHZSTATE_AUTHENTICATE | 执行按需身份验证。 |
AUTHZSTATE_CLEAR_AUTHKEY_CACHE | 执行按需身份验证和清除缓存的身份验证密钥。 |
输入缓冲区长度
AUTHZ_STATE 结构的长度。
输出缓冲区
没有。
输出缓冲区长度
没有。
状态块
如果身份验证状态发生更改,则接收器驱动程序在 状态 字段中返回STATUS_SUCCESS。 否则,将返回STATUS_UNSUCCESSFUL。
言论
此 IOCTL 由 EHSTOR 发送到支持按需身份验证的孤岛驱动程序。 接收器驱动程序在以前的 IOCTL_EHSTOR_DRIVER_REPORT_CAPABILITIES 请求中向 EHSTOR 通知此功能,并在 SILO_DRIVER_CAPABILITES功能 成员中设置 CAP_ON_DEMAND_AUTHENTICATION 标志。
为了响应此 IOCTL,接收器驱动程序对设备执行身份验证或取消身份验证。 对于带带设备,接收器驱动程序将视系统缓冲区中的指定作而定,解锁或锁定尽可能多的带段进行读取和写入。
如果接收器驱动程序无法执行请求的作,则不会更改设备的身份验证状态。
如果 AUTHZ_STATE 的 AuthzState 成员设置为 AUTHZSTATE_CLEAR_AUTHKEY_CACHE,则接收器驱动程序除了取消身份验证外,还会清除其身份验证密钥缓存。 当系统关闭或休眠时,将设置 AUTHZSTATE_CLEAR_AUTHKEY_CACHE。 这会阻止在休眠文件中存在密钥缓存。
如果设备支持多个接收器,则每个接收器的身份验证都是独占的。 一个接收器驱动程序的身份验证作不会影响另一个接收器驱动程序设置的身份验证状态。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 从 Windows 8 开始可用 |
标头 | ehstorioctl.h (include EhStorIoctl.h) |