DRM 함수 및 인터페이스

시스템 드라이버 구성 요소는 Drmk.sysPortcls.sys 드라이버가 커널 스트리밍 오디오 콘텐츠의 디지털 권한을 관리하는 데 사용하는 DRM 함수 및 인터페이스 컬렉션을 구현합니다. Drmk.sys 구성 요소는 여러 DrmXxx 함수를 구현하고 ,Portcls.sysDRM별 PcXxx 함수 집합과 IDrmPort 및 IDrmPort2 인터페이스를 구현합니다.

다음 DRM 함수를 사용할 수 있습니다.

DrmAddContentHandlers

보호된 콘텐츠를 처리하기 위한 함수 목록으로 구성된 드라이버 인터페이스를 시스템에 제공합니다. DrmCreateContentMixed

DRM 콘텐츠 ID를 만들어 여러 입력 스트림의 혼합 콘텐츠가 포함된 KS 오디오 스트림을 식별합니다. DrmDestroyContent

DRM 콘텐츠 ID를 삭제합니다. DrmForwardContentToDeviceObject

드라이버를 인증하고 시스템이 보호된 콘텐츠를 포함하는 스트림에 할당한 DRM 콘텐츠 ID 및 콘텐츠 권한을 보냅니다. DrmForwardContentToFileObject

사용되지 않는 함수입니다. DrmForwardContentToInterface

드라이버 개체를 인증하고 시스템이 보호된 콘텐츠를 포함하는 스트림에 할당한 DRM 콘텐츠 ID 및 콘텐츠 권한을 보냅니다. DrmGetContentRights

시스템이 DRM 콘텐츠 ID에 할당한 DRM 콘텐츠 권한을 검색합니다. 이 목록의 함수는 헤더 파일 Drmk.h에 선언됩니다. 커널 모드 DRMK 시스템 드라이버(Drmk.sys)는 이러한 함수의 진입점을 내보냅니다.

Windows XP 이상에서는 Portcls.sys PortCls 시스템 드라이버가 동일한 DRM 함수 집합에 대해 다른 진입점 집합을 내보냅니다. PortCls 함수의 이름은 Drm 대신 접두사 PC를 사용한다는 점을 제외하고 이전 목록의 이름과 비슷합니다.

PcAddContentHandlers

PcCreateContentMixed

PcDestroyContent

PcForwardContentToDeviceObject

PcForwardContentToFileObject

PcForwardContentToInterface

PcGetContentRights

이러한 함수 이름은 헤더 파일 Portcls.h에 선언됩니다. Portcls.sys 진입점은 Drmk.sys 해당 함수를 호출하는 것 이상의 작업을 수행하지 않습니다. PortCls 진입점은 편의를 위해 제공되므로 이미 Portcls.sys 연결된 오디오 드라이버가 Drmk.sys 명시적으로 로드할 필요가 없습니다.

Windows XP 이상에서는 동일한 함수 집합이 IDrmPort 및 IDrmPort2 인터페이스의 메서드로도 노출 됩니다.

IDrmPort2::AddContentHandlers

IDrmPort::CreateContentMixed

IDrmPort::D estroyContent

IDrmPort2::ForwardContentToDeviceObject

IDrmPort::ForwardContentToFileObject

IDrmPort::ForwardContentToInterface

IDrmPort::GetContentRights

IDrmPortIDrmPort2 인터페이스는 헤더 파일 Portcls.h에 선언되며 Portcls.sys 구현됩니다. 이러한 메서드는 Drmk.sys 해당 함수를 호출하는 것 이상의 작업을 수행하지 않습니다. 미니포트 드라이버는 이 인터페이스에 대한 포트 드라이버를 쿼리하여 IDrmPortx 인터페이스에 대한 참조를 가져옵니다. 해당 DrmXxx 또는 PcXxx 함수 대신 IDrmPortx 인터페이스를 사용하는 이점은 드라이버가 런타임에 이 쿼리를 사용하여 운영 체제 버전이 DRM을 지원하는지 여부를 확인할 수 있다는 것입니다. 이렇게 하면 DRM을 지원하는 최신 버전의 Windows와 그렇지 않은 이전 버전에서 모두 실행할 수 있는 단일 드라이버를 작성하는 작업이 간소화됩니다. IDrmPort2IDrmPort 에서 파생되며 두 가지 추가 메서드를 제공합니다.

WaveCyclic 및 WavePci 포트 드라이버는 해당 미니포트 드라이버에서 지원하는 경우 IDrmAudioStream 인터페이스를 사용합니다. 포트 드라이버는 IDrmAudioStream::SetContentId 메서드를 호출하여 오디오 스트림의 디지털 콘텐츠에 DRM 보호를 할당합니다.

헤더 파일 Drmk.h에 정의된 DEFINE_DRMRIGHTS_DEFAULT 매크로는 DRMRIGHTS 구조체의 멤버를 기본값으로 초기화합니다.