ReactOS  0.4.14-dev-77-gd9e7c48
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  */
28 NTAPI
30  IN ULONG ContentId,
31  IN PVOID *paHandlers,
33 {
35  return STATUS_UNSUCCESSFUL;
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  */
46 NTAPI
48  IN PULONG paContentId,
51 {
53  return STATUS_UNSUCCESSFUL;
54 }
55 
56 /*
57  Deletes a DRM content ID.
58 */
59 /*
60  * @unimplemented
61  */
63 NTAPI
65  IN ULONG ContentId)
66 {
68  return STATUS_UNSUCCESSFUL;
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  */
79 NTAPI
81  IN ULONG ContentId,
83  IN PCDRMFORWARD DrmForward)
84 {
86  return STATUS_UNSUCCESSFUL;
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  */
98 NTAPI
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  */
114 NTSTATUS
115 NTAPI
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  */
131 NTSTATUS
132 NTAPI
134  IN ULONG ContentId,
136 {
138  return STATUS_UNSUCCESSFUL;
139 }
#define IN
Definition: typedefs.h:38
Definition: drmk.h:18
NTSTATUS NTAPI DrmGetContentRights(IN ULONG ContentId, OUT PDRMRIGHTS DrmRights)
Definition: stubs.cpp:133
NTSTATUS NTAPI DrmDestroyContent(IN ULONG ContentId)
Definition: stubs.cpp:64
LONG NTSTATUS
Definition: precomp.h:26
NTSTATUS NTAPI DrmForwardContentToFileObject(IN ULONG ContentId, IN PFILE_OBJECT FileObject)
Definition: stubs.cpp:99
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
NTSTATUS NTAPI DrmForwardContentToInterface(IN ULONG ContentId, IN PUNKNOWN pUnknown, IN ULONG NumMethods)
Definition: stubs.cpp:116
NTSTATUS NTAPI DrmForwardContentToDeviceObject(IN ULONG ContentId, IN PVOID Reserved, IN PCDRMFORWARD DrmForward)
Definition: stubs.cpp:80
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
_Inout_ PFILE_OBJECT FileObject
Definition: cdprocs.h:593
_In_ PUNKNOWN pUnknown
Definition: drmk.h:76
NTSTATUS NTAPI DrmAddContentHandlers(IN ULONG ContentId, IN PVOID *paHandlers, IN ULONG NumHandlers)
Definition: stubs.cpp:29
* PFILE_OBJECT
Definition: iotypes.h:1955
#define STATUS_UNSUCCESSFUL
Definition: udferr_usr.h:132
_In_ ULONG cContentId
Definition: drmk.h:48
NTSTATUS NTAPI DrmCreateContentMixed(IN PULONG paContentId, IN ULONG cContentId, OUT PULONG pMixedContentId)
Definition: stubs.cpp:47
unsigned int * PULONG
Definition: retypes.h:1
_In_ ULONG _Out_ PULONG pMixedContentId
Definition: drmk.h:48
#define OUT
Definition: typedefs.h:39
unsigned int ULONG
Definition: retypes.h:1
#define UNIMPLEMENTED
Definition: debug.h:114
_Out_ PDRMRIGHTS DrmRights
Definition: drmk.h:84
_In_ ULONG NumHandlers
Definition: drmk.h:41