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 */ 27 NTSTATUS 28 NTAPI 29 DrmAddContentHandlers( 30 IN ULONG ContentId, 31 IN PVOID *paHandlers, 32 IN ULONG NumHandlers) 33 { 34 UNIMPLEMENTED; 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 */ 45 NTSTATUS 46 NTAPI 47 DrmCreateContentMixed( 48 IN PULONG paContentId, 49 IN ULONG cContentId, 50 OUT PULONG pMixedContentId) 51 { 52 UNIMPLEMENTED; 53 return STATUS_UNSUCCESSFUL; 54 } 55 56 /* 57 Deletes a DRM content ID. 58 */ 59 /* 60 * @unimplemented 61 */ 62 NTSTATUS 63 NTAPI 64 DrmDestroyContent( 65 IN ULONG ContentId) 66 { 67 UNIMPLEMENTED; 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 */ 78 NTSTATUS 79 NTAPI 80 DrmForwardContentToDeviceObject( 81 IN ULONG ContentId, 82 IN PVOID Reserved, 83 IN PCDRMFORWARD DrmForward) 84 { 85 UNIMPLEMENTED; 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 */ 97 NTSTATUS 98 NTAPI 99 DrmForwardContentToFileObject( 100 IN ULONG ContentId, 101 IN PFILE_OBJECT FileObject) 102 { 103 UNIMPLEMENTED; 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 116 DrmForwardContentToInterface( 117 IN ULONG ContentId, 118 IN PUNKNOWN pUnknown, 119 IN ULONG NumMethods) 120 { 121 UNIMPLEMENTED; 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 133 DrmGetContentRights( 134 IN ULONG ContentId, 135 OUT PDRMRIGHTS DrmRights) 136 { 137 UNIMPLEMENTED; 138 return STATUS_UNSUCCESSFUL; 139 } 140