IOCTL_AACS_READ_MEDIA_KEY_BLOCK_SIZE IOCTL (ntddcdvd.h)

高度なAccess Control システム (AACS) メディア キー ブロック (MKB) を保持するために必要なバッファーのサイズを論理ユニットに照会します。

メジャー コード

IRP_MJ_DEVICE_CONTROL

[入力バッファー]

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 を含む)