ReactOS 0.4.15-dev-7942-gd23573b
stubs.cpp
Go to the documentation of this file.
1/*
2 ReactOS Kernel Streaming
3 Digital Rights Management
4
5 Please see COPYING in the top-level directory for license information.
6
7 Author: Andrew Greenwood
8
9 Notes:
10 This is just a file containing stub functions. The DRMK kernel library
11 deals with Digital Rights Management. This is not essential for the
12 operation of audio/video (except in the cases where content has digital
13 rights information) but is needed for linking with PORTCLS.
14*/
15
16#include <ntddk.h>
17#include <portcls.h>
18#include <debug.h>
19
20/*
21 Provide a driver interface consisting of functions for handling DRM
22 protected content
23*/
24/*
25 * @unimplemented
26 */
30 IN ULONG ContentId,
31 IN PVOID *paHandlers,
33{
36}
37
38/*
39 Creates a DRM content ID to identify a KS audio stream containing
40 mixed content from several input streams.
41*/
42/*
43 * @unimplemented
44 */
48 IN PULONG paContentId,
51{
54}
55
56/*
57 Deletes a DRM content ID.
58*/
59/*
60 * @unimplemented
61 */
65 IN ULONG ContentId)
66{
69}
70
71/*
72 Authenticates a driver, then passes it the DRM content ID, along with
73 the content rights which have been assigned to a stream.
74*/
75/*
76 * @unimplemented
77 */
81 IN ULONG ContentId,
83 IN PCDRMFORWARD DrmForward)
84{
87}
88
89/*
90 Obsolete because it forces the system to run at a lower DRM security
91 level. Returns STATUS_NOT_IMPLEMENTED if a pin associated with
92 FileObject doesnt support the rights assigned to ContentId.
93*/
94/*
95 * @unimplemented
96 */
100 IN ULONG ContentId,
102{
104 return STATUS_UNSUCCESSFUL;
105}
106
107/*
108 Similar to DrmForwardContentToDeviceObject, except this works with a driver
109 object rather than just a driver.
110*/
111/*
112 * @unimplemented
113 */
115NTAPI
117 IN ULONG ContentId,
120{
122 return STATUS_UNSUCCESSFUL;
123}
124
125/*
126 Retrieves DRM Content rights that have been assigned to a DRM Content ID.
127*/
128/*
129 * @unimplemented
130 */
132NTAPI
134 IN ULONG ContentId,
136{
138 return STATUS_UNSUCCESSFUL;
139}
LONG NTSTATUS
Definition: precomp.h:26
#define UNIMPLEMENTED
Definition: debug.h:115
NTSTATUS NTAPI DrmForwardContentToInterface(IN ULONG ContentId, IN PUNKNOWN pUnknown, IN ULONG NumMethods)
Definition: stubs.cpp:116
NTSTATUS NTAPI DrmDestroyContent(IN ULONG ContentId)
Definition: stubs.cpp:64
NTSTATUS NTAPI DrmForwardContentToDeviceObject(IN ULONG ContentId, IN PVOID Reserved, IN PCDRMFORWARD DrmForward)
Definition: stubs.cpp:80
NTSTATUS NTAPI DrmAddContentHandlers(IN ULONG ContentId, IN PVOID *paHandlers, IN ULONG NumHandlers)
Definition: stubs.cpp:29
NTSTATUS NTAPI DrmGetContentRights(IN ULONG ContentId, OUT PDRMRIGHTS DrmRights)
Definition: stubs.cpp:133
NTSTATUS NTAPI DrmCreateContentMixed(IN PULONG paContentId, IN ULONG cContentId, OUT PULONG pMixedContentId)
Definition: stubs.cpp:47
NTSTATUS NTAPI DrmForwardContentToFileObject(IN ULONG ContentId, IN PFILE_OBJECT FileObject)
Definition: stubs.cpp:99
_In_ ULONG cContentId
Definition: drmk.h:48
_In_ PUNKNOWN pUnknown
Definition: drmk.h:76
_In_ ULONG NumHandlers
Definition: drmk.h:41
_Out_ PDRMRIGHTS DrmRights
Definition: drmk.h:84
_In_ ULONG _Out_ PULONG pMixedContentId
Definition: drmk.h:49
@ NumMethods
Definition: actctx.c:1556
Definition: drmk.h:18
uint32_t * PULONG
Definition: typedefs.h:59
#define NTAPI
Definition: typedefs.h:36
#define IN
Definition: typedefs.h:39
uint32_t ULONG
Definition: typedefs.h:59
#define OUT
Definition: typedefs.h:40
#define STATUS_UNSUCCESSFUL
Definition: udferr_usr.h:132
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
Definition: wdfdevice.h:550
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
* PFILE_OBJECT
Definition: iotypes.h:1998