IOCTL_AACS_READ_MEDIA_KEY_BLOCK_SIZE IOCTL (ntddcdvd.h)
高度なAccess Control システム (AACS) メディア キー ブロック (MKB) を保持するために必要なバッファーのサイズを論理ユニットに照会します。
メジャー コード
[入力バッファー]
Irp-AssociatedIrp.SystemBuffer の>バッファーには、レイヤーのAACS_LAYER_NUMBER番号が含まれています。 AACS_LAYER_NUMBERは、コマンドを適用するメディアのレイヤーを指定する 0 ~ 255 の範囲の符号なし long 整数値です。
typedef ULONG AACS_LAYER_NUMBER, *PAACS_LAYER_NUMBER;
入力バッファーの長さ
I/O スタックの場所にある Parameters.DeviceIoControl.InputBufferLength は、バッファーのサイズ (バイト単位) を示します。これは、 = sizeof(AACS_LAYER_NUMBER) である必要があります>。
出力バッファー
Irp-AssociatedIrp.SystemBuffer> のバッファーには、このメディアの完全な AACS MKB のサイズをバイト単位で保持する ULONG が含まれています。
出力バッファーの長さ
この値を使用して、 IOCTL_AACS_READ_MEDIA_KEY_BLOCKに割り当てるバッファーのサイズを決定します。 サイズは常に 32,768 (0x8000) の倍数です。
ステータス ブロック
[ 情報 ] フィールドは、転送されたバイト数に設定されます。 操作が成功した場合、 Status フィールドはSTATUS_SUCCESSに設定されます。 この操作では、次のエラー コードが一般的です。
STATUS_COPY_PROTECTION_FAILUREまたはSTG_E_STATUS_COPY_PROTECTION_FAILURE
コピー保護メカニズムの 1 つで障害が発生しました。
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要求は、Advanced Access Content System (AACS) 認証アルゴリズム (AACS-Auth) のいずれかの手順に対応しています。 AACS-Auth の詳細な説明については、「 Advanced Access Content System,Introduction and Common Cryptographic Elements specification that is published by Advanced Access Content System Licensing Administrator (AACS LA)」を参照してください。
要件
要件 | 値 |
---|---|
Header | ntddcdvd.h (Ntddcdvd.h を含む) |