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/directo…
==============================================================================
--- 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/dr…
==============================================================================
--- 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/dr…
==============================================================================
--- 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/dr…
==============================================================================
--- 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/st…
==============================================================================
--- 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;
+}
+