ReactOS  0.4.14-dev-606-g14ebc0b
drmk.h
Go to the documentation of this file.
1 /*
2  ReactOS Kernel Streaming
3  Digital Rights Management
4 
5  Author: Andrew Greenwood
6 */
7 
8 #ifndef DRMK_H
9 #define DRMK_H
10 
11 typedef struct {
17 
18 typedef struct {
23 
24 typedef const DRMRIGHTS *PCDRMRIGHTS;
25 
26 /* ===============================================================
27  Digital Rights Management Functions
28  TODO: Check calling convention
29 */
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
37 NTAPI
39  _In_ ULONG ContentId,
40  _In_reads_(NumHandlers) PVOID *paHandlers,
42 
45 NTAPI
47  _In_ PULONG paContentId,
50 
53 NTAPI
55  _In_ ULONG ContentId);
56 
58 NTAPI
60  _In_ ULONG ContentId,
62  _In_ PCDRMFORWARD DrmForward);
63 
66 NTAPI
68  _In_ ULONG ContentId,
70 
73 NTAPI
75  _In_ ULONG ContentId,
78 
81 NTAPI
83  _In_ ULONG ContentId,
85 
86 #ifdef __cplusplus
87 }
88 #endif
89 
90 DEFINE_GUID(IID_IDrmAudioStream,
91  0x1915c967, 0x3299, 0x48cb, 0xa3, 0xe4, 0x69, 0xfd, 0x1d, 0x1b, 0x30, 0x6e);
92 
93 #undef INTERFACE
94 #define INTERFACE IDrmAudioStream
95 
96 DECLARE_INTERFACE_(IDrmAudioStream, IUnknown) {
98  _In_ REFIID InterfaceId,
100  ) PURE;
103  STDMETHOD_(NTSTATUS,SetContentId)(THIS_
104  _In_ ULONG ContentId,
106  ) PURE;
107 };
108 
109 typedef IDrmAudioStream *PDRMAUDIOSTREAM;
110 
111 #define IMP_IDrmAudioStream \
112  STDMETHODIMP_(NTSTATUS) SetContentId( \
113  _In_ ULONG ContentId, \
114  _In_ PCDRMRIGHTS DrmRights);
115 
116 #endif /* DRMK_H */
BOOL DigitalOutputDisable
Definition: drmk.h:21
Definition: drmk.h:18
#define REFIID
Definition: guiddef.h:118
NTSTATUS NTAPI DrmGetContentRights(IN ULONG ContentId, OUT PDRMRIGHTS DrmRights)
Definition: stubs.cpp:133
#define THIS_
Definition: basetyps.h:65
_In_ BOOLEAN Release
Definition: classpnp.h:929
#define THIS
Definition: basetyps.h:66
NTSTATUS NTAPI DrmForwardContentToDeviceObject(_In_ ULONG ContentId, _In_opt_ PVOID Reserved, _In_ PCDRMFORWARD DrmForward)
NTSTATUS NTAPI DrmDestroyContent(IN ULONG ContentId)
Definition: stubs.cpp:64
LONG NTSTATUS
Definition: precomp.h:26
IDrmAudioStream * PDRMAUDIOSTREAM
Definition: drmk.h:107
PDEVICE_OBJECT DeviceObject
Definition: drmk.h:13
NTSTATUS QueryInterface(IN PDEVICE_OBJECT DeviceObject, IN CONST GUID InterfaceType, IN LONG Size, IN LONG Version, OUT PVOID Interface)
Definition: fdo.c:532
ULONG Reserved
Definition: drmk.h:20
NTSTATUS NTAPI DrmForwardContentToFileObject(IN ULONG ContentId, IN PFILE_OBJECT FileObject)
Definition: stubs.cpp:99
#define _In_opt_
Definition: no_sal2.h:213
DECLARE_INTERFACE_(IDrmAudioStream, IUnknown)
Definition: drmk.h:96
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
unsigned int BOOL
Definition: ntddk_ex.h:94
NTSTATUS NTAPI DrmForwardContentToInterface(IN ULONG ContentId, IN PUNKNOWN pUnknown, IN ULONG NumMethods)
Definition: stubs.cpp:116
#define _Out_
Definition: no_sal2.h:323
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
_In_ PUNKNOWN pUnknown
Definition: drmk.h:76
IN PVOID IN PVOID IN USHORT IN USHORT IN PINTERFACE Interface
Definition: pci.h:359
BOOL CopyProtect
Definition: drmk.h:19
DEFINE_GUID(IID_IDrmAudioStream, 0x1915c967, 0x3299, 0x48cb, 0xa3, 0xe4, 0x69, 0xfd, 0x1d, 0x1b, 0x30, 0x6e)
NTSTATUS NTAPI DrmAddContentHandlers(IN ULONG ContentId, IN PVOID *paHandlers, IN ULONG NumHandlers)
Definition: stubs.cpp:29
PVOID Context
Definition: drmk.h:15
unsigned long DWORD
Definition: ntddk_ex.h:95
* PFILE_OBJECT
Definition: iotypes.h:1955
struct DRMFORWARD * PDRMFORWARD
#define PASSIVE_LEVEL
Definition: env_spec_w32.h:693
#define _In_
Definition: no_sal2.h:204
struct DRMFORWARD * PCDRMFORWARD
_IRQL_requires_max_(PASSIVE_LEVEL) NTSTATUS NTAPI DrmAddContentHandlers(_In_ ULONG ContentId
Definition: Messaging.c:64
_In_ ULONG cContentId
Definition: drmk.h:48
PFILE_OBJECT FileObject
Definition: drmk.h:14
NTSTATUS NTAPI DrmCreateContentMixed(IN PULONG paContentId, IN ULONG cContentId, OUT PULONG pMixedContentId)
Definition: stubs.cpp:47
const DRMRIGHTS * PCDRMRIGHTS
Definition: drmk.h:24
DWORD Flags
Definition: drmk.h:12
_In_ PUNKNOWN _In_ ULONG NumMethods
Definition: drmk.h:76
unsigned int * PULONG
Definition: retypes.h:1
#define PURE
Definition: basetyps.h:64
struct DRMRIGHTS * PDRMRIGHTS
static ULONG WINAPI AddRef(IStream *iface)
Definition: clist.c:90
_In_ ULONG _Out_ PULONG pMixedContentId
Definition: drmk.h:48
unsigned int ULONG
Definition: retypes.h:1
_In_ PFILE_OBJECT FileObject
Definition: drmk.h:69
_Out_ PDRMRIGHTS DrmRights
Definition: drmk.h:84
#define STDMETHOD_(t, m)
Definition: basetyps.h:63
_In_ ULONG NumHandlers
Definition: drmk.h:41
_In_reads_(NumHandlers) PVOID *paHandlers