Author: silverblade Date: Sun Dec 10 18:12:12 2006 New Revision: 25115
URL: http://svn.reactos.org/svn/reactos?rev=25115&view=rev Log: Stubbing of Kernel Streaming DRM module
Added: trunk/reactos/drivers/multimedia/drmk/ trunk/reactos/drivers/multimedia/drmk/drmk.def trunk/reactos/drivers/multimedia/drmk/drmk.rbuild trunk/reactos/drivers/multimedia/drmk/drmk.rc trunk/reactos/drivers/multimedia/drmk/stubs.c Modified: trunk/reactos/drivers/multimedia/directory.rbuild
Modified: trunk/reactos/drivers/multimedia/directory.rbuild URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/multimedia/director... ============================================================================== --- trunk/reactos/drivers/multimedia/directory.rbuild (original) +++ trunk/reactos/drivers/multimedia/directory.rbuild Sun Dec 10 18:12:12 2006 @@ -12,6 +12,10 @@ <xi:include href="ks/ks.rbuild" /> </directory>
+<directory name="drmk"> + <xi:include href="drmk/drmk.rbuild" /> +</directory> + <directory name="portcls"> <xi:include href="portcls/portcls.rbuild" /> </directory>
Added: trunk/reactos/drivers/multimedia/drmk/drmk.def URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/multimedia/drmk/drm... ============================================================================== --- trunk/reactos/drivers/multimedia/drmk/drmk.def (added) +++ trunk/reactos/drivers/multimedia/drmk/drmk.def Sun Dec 10 18:12:12 2006 @@ -1,0 +1,12 @@ +; +; Exports definition file for drmk.sys +; + +EXPORTS +DrmAddContentHandlers@12 +DrmCreateContentMixed@12 +DrmDestroyContent@4 +DrmForwardContentToDeviceObject@12 +DrmForwardContentToFileObject@8 +DrmForwardContentToInterface@12 +DrmGetContentRights@8
Added: trunk/reactos/drivers/multimedia/drmk/drmk.rbuild URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/multimedia/drmk/drm... ============================================================================== --- trunk/reactos/drivers/multimedia/drmk/drmk.rbuild (added) +++ trunk/reactos/drivers/multimedia/drmk/drmk.rbuild Sun Dec 10 18:12:12 2006 @@ -1,0 +1,11 @@ +<module name="drmk" type="exportdriver" installbase="system32/drivers" installname="drmk.sys" allowwarnings="true"> + <include base="drmk">.</include> + <include base="drmk">..</include> + <include base="drmk">../include</include> + <importlibrary definition="drmk.def" /> + <library>ntoskrnl</library> + <define name="__USE_W32API" /> + <define name="BUILDING_DRMK" /> + <file>drmk.rc</file> + <file>stubs.c</file> +</module>
Added: trunk/reactos/drivers/multimedia/drmk/drmk.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/multimedia/drmk/drm... ============================================================================== --- trunk/reactos/drivers/multimedia/drmk/drmk.rc (added) +++ trunk/reactos/drivers/multimedia/drmk/drmk.rc Sun Dec 10 18:12:12 2006 @@ -1,0 +1,5 @@ +#define REACTOS_VERSION_DLL +#define REACTOS_STR_FILE_DESCRIPTION "Digital Rights Management\0" +#define REACTOS_STR_INTERNAL_NAME "drmk\0" +#define REACTOS_STR_ORIGINAL_FILENAME "drmk.sys\0" +#include <reactos/version.rc>
Added: trunk/reactos/drivers/multimedia/drmk/stubs.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/multimedia/drmk/stu... ============================================================================== --- trunk/reactos/drivers/multimedia/drmk/stubs.c (added) +++ trunk/reactos/drivers/multimedia/drmk/stubs.c Sun Dec 10 18:12:12 2006 @@ -1,0 +1,131 @@ +/* + ReactOS Kernel Streaming + Digital Rights Management + + Please see COPYING in the top-level directory for license information. + + Author: Andrew Greenwood + + Notes: + This is just a file containing stub functions. The DRMK kernel library + deals with Digital Rights Management. This is not essential for the + operation of audio/video (except in the cases where content has digital + rights information) but is needed for linking with PORTCLS. +*/ + +#include <drmk.h> + +/* + Provide a driver interface consisting of functions for handling DRM + protected content +*/ +/* + * @unimplemented + */ +NTAPI NTSTATUS +DrmAddContentHandlers( + IN ULONG ContentId, + IN PVOID *paHandlers, + IN ULONG NumHandlers) +{ + UNIMPLEMENTED; + return STATUS_UNSUCCESSFUL; +} + +/* + Creates a DRM content ID to identify a KS audio stream containing + mixed content from several input streams. +*/ +/* + * @unimplemented + */ +NTAPI NTSTATUS +DrmCreateContentMixed( + IN PULONG paContentId, + IN ULONG cContentId, + OUT PULONG pMixedContentId) +{ + UNIMPLEMENTED; + return STATUS_UNSUCCESSFUL; +} + +/* + Deletes a DRM content ID. +*/ +/* + * @unimplemented + */ +NTAPI NTSTATUS +DrmDestroyContent( + IN ULONG ContentId) +{ + UNIMPLEMENTED; + return STATUS_UNSUCCESSFUL; +} + +/* + Authenticates a driver, then passes it the DRM content ID, along with + the content rights which have been assigned to a stream. +*/ +/* + * @unimplemented + */ +NTAPI NTSTATUS +DrmForwardContentToDeviceObject( + IN ULONG ContentId, + IN PVOID Reserved, + IN PCDRMFORWARD DrmForward) +{ + UNIMPLEMENTED; + return STATUS_UNSUCCESSFUL; +} + +/* + Obsolete because it forces the system to run at a lower DRM security + level. Returns STATUS_NOT_IMPLEMENTED if a pin associated with + FileObject doesnt support the rights assigned to ContentId. +*/ +/* + * @unimplemented + */ +NTAPI NTSTATUS +DrmForwardContentToFileObject( + IN ULONG ContentId, + IN PFILE_OBJECT FileObject) +{ + UNIMPLEMENTED; + return STATUS_UNSUCCESSFUL; +} + +/* + Similar to DrmForwardContentToDeviceObject, except this works with a driver + object rather than just a driver. +*/ +/* + * @unimplemented + */ +NTAPI NTSTATUS +DrmForwardContentToInterface( + IN ULONG ContentId, + IN PUNKNOWN pUnknown, + IN ULONG NumMethods) +{ + UNIMPLEMENTED; + return STATUS_UNSUCCESSFUL; +} + +/* + Retrieves DRM Content rights that have been assigend to a DRM Content ID. +*/ +/* + * @unimplemented + */ +NTAPI NTSTATUS +DrmGetContentRights( + IN ULONG ContentId, + OUT PDRMRIGHTS DrmRights) +{ + UNIMPLEMENTED; + return STATUS_UNSUCCESSFUL; +} +