共用方式為


IOCTL_AACS_READ_MEDIA_KEY_BLOCK IOCTL (ntddcdvd.h)

查詢媒體金鑰區塊的邏輯單元 (MKB)。

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

Irp->AssociatedIrp.SystemBuffer 的緩衝區包含圖層的AACS_LAYER_NUMBER數目。 AACS_LAYER_NUMBER是範圍 0 到 255 中的不帶正負號長整數值,指定命令所套用媒體的圖層。

typedef ULONG AACS_LAYER_NUMBER, *PAACS_LAYER_NUMBER;

輸入緩衝區長度

參數.DeviceIoControl.InputBufferLength 在 I/O 堆棧位置中指出緩衝區的大小,以位元組為單位,緩衝區的大小必須 >= 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 系統 (CSS) 加密使用的 MKB,AACS MB 會使用數位簽名自我保護。 MKB 結構已完整記載於 進階存取內容系統、簡介和一般密碼編譯元素 規格中,此規格是由進階存取內容系統授權系統管理員 (AACS LA) 所發行。

IOCTL_AACS_READ_MEDIA_KEY_BLOCK要求對應於進階存取內容系統 (AACS) 驗證演算法 (AACS-Auth) 的其中一個步驟。 如需 AACS-Auth 的完整描述,請參閱 進階存取內容系統、簡介和一般密碼編譯元素 規格。

要求

要求 價值
標頭 ntddcdvd.h (include Ntddcdvd.h)