IOCTL_DVD_READ_KEY IOCTL (ntddcdvd.h)
傳回指定類型的複製保護金鑰:挑戰金鑰、總線金鑰、標題密鑰、讀取 RPC 金鑰、設定 RPC 金鑰或磁碟金鑰。 挑戰金鑰或總線金鑰會傳回裝置,以完成 DVD 驗證序列中的相關步驟。 驗證順序完成後,會使用標題密鑰來加密和解密從 DVD 光碟傳輸的用戶數據,並使用磁碟金鑰來加密和解密標題密鑰數據。 如果先前尚未設定磁碟驅動器區域(如果仍為原廠預設值),且插入的媒體有區域,裝置區域將會設定為目前的媒體區域。
主要程序代碼
輸入緩衝區
Irp->AssociatedIrp.SystemBuffer 的緩衝區包含 DVD_COPY_PROTECT_KEY 結構,表示 DVD 工作階段的會話識別碼和要傳回的密鑰類型。
輸入緩衝區長度
Parameters.DeviceIoControl.OutputBufferLength 指出緩衝區的大小,以位元組為單位,其必須 >= 下列其中一個大小:DVD_CHALLENGE_KEY_LENGTH、DVD_BUS_KEY_LENGTH、DVD_TITLE_KEY_LENGTH、DVD_RPC_KEY_LENGTH、DVD_SET_RPC_KEY_LENGTH或DVD_DISK_KEY_LENGTH。
輸出緩衝區
驅動程式會在 Irp->AssociatedIrp.SystemBuffer傳回緩衝區中的DVD_COPY_PROTECT_KEY數據。
輸出緩衝區長度
狀態區塊
[資訊] 字段會設定為傳輸的位元元組數目。 [狀態] 字段會設定為 [STATUS_SUCCESS],或可能設定為 [STATUS_INSUFFICIENT_RESOURCES]。
要求
要求 | 價值 |
---|---|
標頭 | ntddcdvd.h (include Ntddcdvd.h) |