The system driver components Drmk.sys and Portcls.sys implement a collection of DRM functions and interfaces that drivers use for managing the digital rights of kernel-streaming audio content. The Drmk.sys component implements a number of DrmXxx functions, and Portcls.sys implements a DRM-specific set of PcXxx functions, and also the IDrmPort and IDrmPort2 interfaces.
사용할 수 있는 DRM 함수는 다음과 같습니다.
보호된 콘텐츠를 처리하기 위한 함수 목록으로 구성된 드라이버 인터페이스를 시스템에 제공합니다. DrmCreateContentMixed
여러 입력 스트림의 혼합 콘텐츠가 포함된 KS 오디오 스트림을 식별하는 DRM 콘텐츠 ID를 만듭니다. DrmDestroyContent
DRM 콘텐츠 ID를 삭제합니다. DrmForwardContentToDeviceObject
드라이버를 인증하고 시스템에서 보호된 콘텐츠를 포함하는 스트림에 할당한 DRM 콘텐츠 ID 및 콘텐츠 권한을 보냅니다. DrmForwardContentToFileObject
Obsolete function. DrmForwardContentToInterface
드라이버 개체를 인증하고 시스템이 보호된 콘텐츠를 포함하는 스트림에 할당한 DRM 콘텐츠 ID 및 콘텐츠 권한을 보냅니다. DrmGetContentRights
시스템이 DRM 콘텐츠 ID에 할당한 DRM 콘텐츠 권한을 검색합니다. 이 목록의 함수는 헤더 파일 Drmk.h에 선언됩니다. 커널 모드 DRMK 시스템 드라이버인 Drmk.sys이러한 함수의 진입점을 내보냅니다.
Windows XP 이상에서 Portcls.sysPortCls 시스템 드라이버는 동일한 DRM 함수 집합에 대해 다른 진입점 집합을 내보냅니다. PortCls 함수의 이름은 Drm 대신 접두사 PC를 사용한다는 점을 제외하고 이전 목록의 이름과 비슷합니다.
PcForwardContentToDeviceObject
이러한 함수 이름은 헤더 파일 Portcls.h에 선언됩니다. Portcls.sys 진입점은 Drmk.sys해당 함수를 호출하는 것 이상의 작업을 수행하지 않습니다. PortCls 진입점은 편의상 제공되므로 이미 Portcls.sys 연결된 오디오 드라이버가 Drmk.sys명시적으로 로드할 필요가 없습니다.
In Windows XP and later, the same set of functions is also exposed as methods in the IDrmPort and IDrmPort2 interfaces:
IDrmPort2::ForwardContentToDeviceObject
IDrmPort::ForwardContentToFileObject
IDrmPort::ForwardContentToInterface
The IDrmPort and IDrmPort2 interfaces are declared in header file Portcls.h and are implemented in Portcls.sys. 이러한 메서드는 Drmk.sys해당 함수를 호출하는 것 외에는 아무 작업도 수행하지 않습니다. A miniport driver obtains a reference to a IDrmPortx interface by querying its port driver for this interface. The advantage to using a IDrmPortx interface instead of the corresponding DrmXxx or PcXxx functions is that the driver can use this query to determine at run time whether the operating system version supports DRM or not. 이렇게 하면 DRM을 지원하는 최신 버전의 Windows와 그렇지 않은 이전 버전 모두에서 실행할 수 있는 단일 드라이버를 작성하는 작업이 간소화됩니다. IDrmPort2 is derived from IDrmPort and provides two additional methods.
The WaveCyclic and WavePci port drivers use the IDrmAudioStream interface if it is supported by the corresponding miniport driver. The port driver calls the IDrmAudioStream::SetContentId method to assign DRM protection to the digital content in an audio stream.
The DEFINE_DRMRIGHTS_DEFAULT macro, which is defined in header file Drmk.h, initializes the members of a DRMRIGHTS structure to their default values.