IOCTL_AACS_READ_MEDIA_KEY_BLOCK IOCTL (ntddc)
查詢媒體索引鍵區塊的邏輯單元 (MKB) 。
主要程序代碼
輸入緩衝區
Irp-AssociatedIrp.SystemBuffer> 上的緩衝區包含圖層的AACS_LAYER_NUMBER數目。 AACS_LAYER_NUMBER是範圍 0 到 255 的不帶正負號長整數值,指定命令所套用的媒體層。
typedef ULONG AACS_LAYER_NUMBER, *PAACS_LAYER_NUMBER;
輸入緩衝區長度
I/O 堆棧位置中的 Parameters.DeviceIoControl.InputBufferLength 表示緩衝區的大小,以位元組為單位,這必須是 >= sizeof (AACS_LAYER_NUMBER) 。
輸出緩衝區
Irp-AssociatedIrp.SystemBuffer> 上的緩衝區包含不透明的可變長度 MKB。 MKB 的大小一律是 32,768 (0x8000) 的倍數。
輸出緩衝區長度
可變長度 MKB 的長度。
狀態區塊
[資訊] 欄位元位會設定為傳輸的位元元組數目。 如果作業成功,[ 狀態 ] 字段會設定為STATUS_SUCCESS。 如果 Irp-AssociatedIrp.SystemBuffer> 為 NULL,或 Irp-AssociatedIrp.SystemBuffer > 上的緩衝區不足以包含完整的 MKB,則作業會失敗並傳回STATUS_BUFFER_TOO_SMALL的狀態,並在 IoStatus.Information 中傳回必要的緩衝區大小。
備註
儲存器堆疊會使用 READ DISC STRUCTURE 命令 (格式0x17) 搭配进阶 存取控制 系統 (AACS) 擴充功能來擷取 MKB。 如果邏輯單元中的媒體不受 AACS 保護,IOCTL_AACS_READ_MEDIA_KEY_BLOCK要求將無法運作。
不同於搭配 Content-Scrambling System (CSS) 加密使用的 MKB,AACS MB 會以數位簽名自我保護。 MKB 結構完整記載於 進階存取內容系統簡介和通用密碼編譯元素 規格中,進階存取內容系統授權系統管理員 (AACS LA) 。
IOCTL_AACS_READ_MEDIA_KEY_BLOCK要求會對應至 AACS (AACS) 驗證演算法 (AACS-Auth) 的其中一個步驟。 如需 AACS-Auth 的完整描述,請參閱 進階存取內容系統、簡介和通用密碼編譯元素 規格。
規格需求
需求 | 值 |
---|---|
標頭 | ntddc (包含 Ntddc) |