ReactOS 0.4.16-dev-88-ga65b6ae
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
11typedef struct {
17
18typedef struct {
23
24typedef const DRMRIGHTS *PCDRMRIGHTS;
25
26/* ===============================================================
27 Digital Rights Management Functions
28 TODO: Check calling convention
29*/
30
31#ifdef __cplusplus
32extern "C" {
33#endif
34
39 _In_ ULONG ContentId,
42
47 _In_ PULONG paContentId,
50
55 _In_ ULONG ContentId);
56
60 _In_ ULONG ContentId,
62 _In_ PCDRMFORWARD DrmForward);
63
68 _In_ ULONG ContentId,
70
75 _In_ ULONG ContentId,
78
83 _In_ ULONG ContentId,
85
86#ifdef __cplusplus
87}
88#endif
89
90DEFINE_GUID(IID_IDrmAudioStream,
91 0x1915c967, 0x3299, 0x48cb, 0xa3, 0xe4, 0x69, 0xfd, 0x1d, 0x1b, 0x30, 0x6e);
92
93#undef INTERFACE
94#define INTERFACE IDrmAudioStream
95
96DECLARE_INTERFACE_(IDrmAudioStream, IUnknown) {
98 _In_ REFIID InterfaceId,
100 ) PURE;
103 STDMETHOD_(NTSTATUS,SetContentId)(THIS_
104 _In_ ULONG ContentId,
106 ) PURE;
107};
108
109typedef IDrmAudioStream *PDRMAUDIOSTREAM;
110
111#define IMP_IDrmAudioStream \
112 STDMETHODIMP_(NTSTATUS) SetContentId( \
113 _In_ ULONG ContentId, \
114 _In_ PCDRMRIGHTS DrmRights);
115
116#endif /* DRMK_H */
LONG NTSTATUS
Definition: precomp.h:26
#define DECLARE_INTERFACE_(i, b)
Definition: basetyps.h:78
#define PURE
Definition: basetyps.h:64
#define THIS_
Definition: basetyps.h:65
#define THIS
Definition: basetyps.h:66
#define STDMETHOD_(t, m)
Definition: basetyps.h:63
_In_ BOOLEAN Release
Definition: cdrom.h:920
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 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
#define _IRQL_requires_max_(irql)
Definition: driverspecs.h:230
const DRMRIGHTS * PCDRMRIGHTS
Definition: drmk.h:24
_In_ ULONG cContentId
Definition: drmk.h:48
struct DRMFORWARD * PDRMFORWARD
IDrmAudioStream * PDRMAUDIOSTREAM
Definition: drmk.h:109
_In_ PUNKNOWN pUnknown
Definition: drmk.h:76
_In_ ULONG NumHandlers
Definition: drmk.h:41
_Out_ PDRMRIGHTS DrmRights
Definition: drmk.h:84
NTSTATUS NTAPI DrmForwardContentToDeviceObject(_In_ ULONG ContentId, _In_opt_ PVOID Reserved, _In_ PCDRMFORWARD DrmForward)
struct DRMFORWARD * PCDRMFORWARD
_In_ PUNKNOWN _In_ ULONG NumMethods
Definition: drmk.h:77
struct DRMRIGHTS * PDRMRIGHTS
_In_ ULONG _Out_ PULONG pMixedContentId
Definition: drmk.h:49
#define PASSIVE_LEVEL
Definition: env_spec_w32.h:693
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
static HRESULT QueryInterface(REFIID, void **)
Definition: events.c:2587
static ULONG WINAPI AddRef(IStream *iface)
Definition: clist.c:90
#define _Out_
Definition: ms_sal.h:345
#define _In_
Definition: ms_sal.h:308
#define _In_opt_
Definition: ms_sal.h:309
#define _In_reads_(size)
Definition: ms_sal.h:319
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
Definition: guiddef.h:68
#define REFIID
Definition: guiddef.h:118
DWORD Flags
Definition: drmk.h:12
PDEVICE_OBJECT DeviceObject
Definition: drmk.h:13
PFILE_OBJECT FileObject
Definition: drmk.h:14
PVOID Context
Definition: drmk.h:15
Definition: drmk.h:18
BOOL CopyProtect
Definition: drmk.h:19
ULONG Reserved
Definition: drmk.h:20
BOOL DigitalOutputDisable
Definition: drmk.h:21
uint32_t * PULONG
Definition: typedefs.h:59
#define NTAPI
Definition: typedefs.h:36
uint32_t ULONG
Definition: typedefs.h:59
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
Definition: wdfdevice.h:550
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE Interface
Definition: wdffdo.h:465
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
* PFILE_OBJECT
Definition: iotypes.h:1998