2 ReactOS Kernel Streaming
3 Digital Rights Management
5 Author: Andrew Greenwood
14 PDEVICE_OBJECT DeviceObject
;
15 PFILE_OBJECT FileObject
;
17 } DRMFORWARD
, *PDRMFORWARD
, *PCDRMFORWARD
;
23 BOOL DigitalOutputDisable
;
24 } DRMRIGHTS
, *PDRMRIGHTS
;
26 typedef const DRMRIGHTS
*PCDRMRIGHTS
;
28 /* ===============================================================
29 Digital Rights Management Functions
30 TODO: Check calling convention
40 DrmAddContentHandlers(
43 IN ULONG NumHandlers
);
47 DrmCreateContentMixed(
48 IN PULONG paContentId
,
50 OUT PULONG pMixedContentId
);
59 DrmForwardContentToDeviceObject(
62 IN PCDRMFORWARD DrmForward
);
66 DrmForwardContentToFileObject(
68 IN PFILE_OBJECT FileObject
);
72 DrmForwardContentToInterface(
81 OUT PDRMRIGHTS DrmRights
);
89 DEFINE_GUID(IID_IDrmAudioStream
,
90 0x1915c967, 0x3299, 0x48cb, 0xa3, 0xe4, 0x69, 0xfd, 0x1d, 0x1b, 0x30, 0x6e);
93 #define INTERFACE IDrmAudioStream
95 DECLARE_INTERFACE_(IDrmAudioStream
, IUnknown
)
97 STDMETHOD_(NTSTATUS
, QueryInterface
)(THIS_
101 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
102 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
103 STDMETHOD_(NTSTATUS
,SetContentId
)(THIS_
105 IN PCDRMRIGHTS DrmRights
) PURE
;
108 typedef IDrmAudioStream
*PDRMAUDIOSTREAM
;
110 #define IMP_IDrmAudioStream \
111 STDMETHODIMP_(NTSTATUS) SetContentId \
112 ( IN ULONG ContentId, \
113 IN PCDRMRIGHTS DrmRights \