다음을 통해 공유


IOCTL_AACS_READ_MEDIA_KEY_BLOCK_SIZE IOCTL(ntddcdvd.h)

AACS(Advanced Access Control System) MKB(미디어 키 블록)를 보유하는 데 필요한 버퍼 크기에 대한 논리 단위를 쿼리합니다.

주 코드

IRP_MJ_DEVICE_CONTROL

입력 버퍼

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>의 버퍼에는 이 미디어에 대한 전체 AACS MKB의 크기(바이트)를 보유하는 ULONG이 포함되어 있습니다.

출력 버퍼 길이

이 값을 사용하여 IOCTL_AACS_READ_MEDIA_KEY_BLOCK 할당할 버퍼의 크기를 결정합니다. 크기는 항상 32,768(0x8000)의 배수입니다.

상태 블록

정보 필드는 전송된 바이트 수로 설정됩니다. 작업이 성공하면 상태 필드가 STATUS_SUCCESS 설정됩니다. 이 작업에서는 다음과 같은 오류 코드가 일반적입니다.

STATUS_COPY_PROTECTION_FAILURE 또는 STG_E_STATUS_COPY_PROTECTION_FAILURE

복사 보호 메커니즘 중 하나가 실패했습니다.

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 요청은 AACS(Advanced Access Content System) 인증 알고리즘(AACS-Auth)의 단계 중 하나에 해당합니다. AACS-Auth에 대한 전체 설명은 AACS LA(Advanced Access Content System Licensing Administrator)가 게시한 고급 액세스 콘텐츠 시스템 , 소개 및 일반적인 암호화 요소 사양을 참조하세요.

요구 사항

요구 사항
헤더 ntddcdvd.h(Ntddcdvd.h 포함)