IOCTL_AACS_READ_MEDIA_KEY_BLOCK IOCTL(ntddcdvd.h)
MKB(미디어 키 블록)에 대한 논리 단위를 쿼리합니다.
주 코드
입력 버퍼
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>의 버퍼에는 불투명한 가변 길이 MKB가 포함되어 있습니다. MKB의 크기는 항상 32,768(0x8000)의 배수입니다.
출력 버퍼 길이
가변 길이 MKB의 길이입니다.
상태 블록
정보 필드는 전송된 바이트 수로 설정됩니다. 작업이 성공하면 상태 필드가 STATUS_SUCCESS 설정됩니다. Irp-AssociatedIrp.SystemBuffer>가 NULL이거나 Irp-AssociatedIrp.SystemBuffer>의 버퍼가 전체 MKB를 포함하기에 충분하지 않은 경우 작업이 실패하고 STATUS_BUFFER_TOO_SMALL 상태 반환하며 필요한 버퍼 크기가 IoStatus.Information에 반환됩니다.
설명
스토리지 스택은 AACS(Advanced Access Control System) 확장과 함께 READ DISC STRUCTURE 명령(0x17 형식)을 사용하여 MKB를 검색합니다. 논리 단위의 미디어가 AACS로 보호되지 않으면 IOCTL_AACS_READ_MEDIA_KEY_BLOCK 요청이 작동하지 않습니다.
CSS(Content-Scrambling System) 암호화에 사용되는 MKB와 달리 AACS MKB는 디지털 서명으로 자체 보호됩니다. MKB 구조는 AACS LA(Advanced Access Content System Licensing Administrator)가 게시하는 고급 액세스 콘텐츠 시스템 , 소개 및 일반적인 암호화 요소 사양에 완전히 문서화되어 있습니다.
IOCTL_AACS_READ_MEDIA_KEY_BLOCK 요청은 AACS(Advanced Access Content System) 인증 알고리즘(AACS-Auth)의 단계 중 하나에 해당합니다. AACS-Auth에 대한 전체 설명은 고급 액세스 콘텐츠 시스템, 소개 및 일반적인 암호화 요소 사양을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | ntddcdvd.h(Ntddcdvd.h 포함) |