IDrmPort::CreateContentMixed 메서드(portcls.h)

CreateContentMixed 메서드는 일부 KS 오디오 스트림의 혼합 콘텐츠를 포함하는 복합 스트림에 대한 DRM 콘텐츠 권한을 계산합니다. 이 메서드는 DrmCreateContentMixed 함수와 연산에서 동일하며 해당 매개 변수 정의 및 반환 값도 동일합니다.

구문

NTSTATUS CreateContentMixed(
  PULONG paContentId,
  ULONG  cContentId,
  PULONG pMixedContentId
);

매개 변수

paContentId

DRM 콘텐츠 ID 배열에 대한 포인터입니다. 각 배열 요소는 ULONG 형식이며 보호된 KS 오디오 스트림을 나타내는 콘텐츠 ID를 포함합니다. cContentId가 0이면 paContentID는 NULL일 수 있습니다. 콘텐츠 ID 0은 기본 DRM 콘텐츠 권한이 있는 오디오 스트림을 나타내는 특수 값입니다(DEFINE_DRMRIGHTS_DEFAULT 참조).

cContentId

paContentId 배열의 DRM 콘텐츠 ID 수를 지정합니다. 배열은 0개 이상의 콘텐츠 ID를 보유할 수 있습니다.

pMixedContentId

복합 콘텐츠 ID에 대한 출력 포인터입니다. 이 매개 변수는 함수가 복합 KS 오디오 스트림에 대한 새 콘텐츠 ID를 작성하는 호출자가 할당한 ULONG 변수를 가리킵니다. cContentId가 0이면 함수는 새 콘텐츠 ID에 기본 DRM 콘텐츠 권한을 할당합니다.

반환 값

이 메서드는 호출에 성공하면 NTSTATUS - STATUS_SUCCESS 반환합니다. 그렇지 않으면 적절한 오류 코드를 반환합니다.

설명

KS 오디오 필터는 DrmCreateContentMixed 함수를 호출하여 복합 스트림에 대한 DRM 콘텐츠 ID를 가져옵니다. 필터는 콘텐츠 ID가 paContentId 배열에 나열된 KS 오디오 스트림을 함께 혼합하여 이 스트림을 생성합니다. 믹서 입력의 스트림에 대한 이 콘텐츠 ID 목록을 감안할 때 함수는 복합 스트림의 콘텐츠 권한을 계산하고 해당 스트림에 새 콘텐츠 ID를 할당합니다.

호출자가 콘텐츠 ID를 지정하지 않는 경우(즉, cContentId가 0인 경우) 함수는 복합 스트림을 식별하기 위해 만든 콘텐츠 ID에 기본 콘텐츠 권한을 할당합니다.

DrmCreateContentMixed에서 콘텐츠 ID를 가져온 후 호출자는 DrmGetContentRights를 호출하여 콘텐츠 ID에 할당된 콘텐츠 권한을 가져올 수 있습니다.

복합 오디오 스트림의 구성 요소에 대한 콘텐츠 권한을 변경한 후 스트림을 혼합하는 KS 오디오 필터는 DrmCreateContentMixed를 호출하여 복합 오디오 스트림에 대한 새 콘텐츠 ID를 가져와야 합니다. DrmCreateContentMixed는 paContentId 배열에 지정된 개별 콘텐츠 ID에 할당된 콘텐츠 권한을 가장 제한적으로 결정하고 이러한 권한을 새 콘텐츠 ID에 할당합니다.

DrmCreateContentMixed를 사용하여 만든 콘텐츠 ID를 사용하여 KS 오디오 필터를 완료한 후 필터는 DrmDestroyContent를 호출하여 콘텐츠 ID를 삭제해야 합니다. 그러나 이전 콘텐츠 ID를 삭제하기 전에 KS 오디오 필터는 먼저 이전 콘텐츠 ID를 전달한 모든 스트림에 새 콘텐츠 ID를 성공적으로 전달해야 합니다. KS 오디오 필터는 DrmForwardContentToXxx 함수를 호출하여 콘텐츠 ID를 전달합니다.

DrmCreateContentMixed는 PcCreateContentMixed 및 IDrmPort::CreateContentMixed와 동일한 함수를 수행합니다.

요구 사항

요구 사항
헤더 portcls.h

추가 정보

IDrmPort