IOCTL_EHSTOR_DRIVER_PERFORM_AUTHZ IOCTL (ehstorioctl.h)

IOCTL_EHSTOR_DRIVER_PERFORM_AUTHZ 由增强型存储类驱动程序 (EHSTOR) 发送到 silo 驱动程序,以启动按需身份验证或取消身份验证。

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

Irp-AssociatedIrp.SystemBuffer> 处的输入缓冲区必须包含指示要执行的身份验证操作类型的AUTHZ_STATE结构。 AUTHZ_STATEehstorioctl.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 发送到支持按需身份验证的 silo 驱动程序。 silo 驱动程序在以前的 IOCTL_EHSTOR_DRIVER_REPORT_CAPABILITIES 请求中通知 EHSTOR 此功能,并在 SILO_DRIVER_CAPABILITESCapabilities 成员中设置了 CAP_ON_DEMAND_AUTHENTICATION标志。

为了响应此 IOCTL,silo 驱动程序对设备执行身份验证或取消身份验证。 对于带区设备,silo 驱动程序将根据系统缓冲区中的指定操作,解锁或锁定尽可能多的读取和写入带。

如果 silo 驱动程序无法执行请求的操作,则不会更改设备的身份验证状态。

如果 AUTHZ_STATEAuthzState 成员设置为 AUTHZSTATE_CLEAR_AUTHKEY_CACHE,则 silo 驱动程序除了取消身份验证之外,还会清除其身份验证密钥缓存。 AUTHZSTATE_CLEAR_AUTHKEY_CACHE 是在系统关闭或休眠时设置的。 这可以防止休眠文件中存在密钥缓存。

如果设备支持多个接收器,则每个 silo 的身份验证是独占的。 一个 silo 驱动程序的身份验证操作不会影响另一个 silo 驱动程序设置的身份验证状态。

要求

要求
最低受支持的客户端 从Windows 8开始可用
标头 ehstorioctl.h (包括 EhStorIoctl.h)

另请参阅

IOCTL_EHSTOR_DRIVER_REPORT_CAPABILITIES

SILO_DRIVER_CAPABILITES