查询逻辑单元,获取保存高级访问控制系统(AACS)媒体键块(MKB)所需的缓冲区大小。
主要代码
输入缓冲区
Irp->AssociatedIrp.SystemBuffer 的缓冲区包含层的AACS_LAYER_NUMBER个数。 AACS_LAYER_NUMBER是范围 0 到 255(包括 0 到 255)中的无符号长整数值,指定命令应用到的媒体层。
typedef ULONG AACS_LAYER_NUMBER, *PAACS_LAYER_NUMBER;
输入缓冲区长度
I/O 堆栈位置中的 Parameters.DeviceIoControl.InputBufferLength 指示缓冲区的大小(以字节为单位),缓冲区的大小必须为 >大小(AACS_LAYER_NUMBER)。
输出缓冲区
Irp->AssociatedIrp.SystemBuffer 的缓冲区包含一个 ULONG,用于保存此媒体的完整 AACS MKB 的大小(以字节为单位)。
输出缓冲区长度
使用此值可确定要为 IOCTL_AACS_READ_MEDIA_KEY_BLOCK分配的缓冲区的大小。 大小始终为 32,768 的倍数(0x8000)。
状态块
信息 字段设置为传输的字节数。 如果作成功,则 状态 字段设置为STATUS_SUCCESS。 此作常见的故障代码如下:
STATUS_COPY_PROTECTION_FAILURE 或STG_E_STATUS_COPY_PROTECTION_FAILURE
复制保护机制之一失败。
STATUS_CSS_AUTHENTICATION_FAILURE 或STG_E_CSS_AUTHENTICATION_FAILURE
身份验证过程失败。
STATUS_CSS_KEY_NOT_ESTABLISHED 或STG_E_CSS_KEY_NOT_ESTABLISHED
AACS 的 AGID 尚未建立。
STATUS_CSS_KEY_NOT_PRESENT 或STG_E_CSS_KEY_NOT_PRESENT
此媒体不存在 AACS 保护。
言论
如果逻辑单元中的媒体不受 AACS 保护,则IOCTL_AACS_READ_MEDIA_KEY_BLOCK_SIZE请求将不起作用。
IOCTL_AACS_READ_MEDIA_KEY_BLOCK_SIZE请求对应于高级访问内容系统(AACS)身份验证算法(AACS-Auth)的步骤之一。 有关 AACS-Auth 的完整说明,请参阅高级访问内容系统(AACS LA)发布的 高级访问内容系统、简介和通用加密元素 规范。
要求
| 要求 | 价值 |
|---|---|
| 标头 | ntddcdvd.h (包括 Ntddcdvd.h) |