2 ReactOS Kernel Streaming
3 Digital Rights Management
5 Author: Andrew Greenwood
13 PDEVICE_OBJECT DeviceObject
;
14 PFILE_OBJECT FileObject
;
16 } DRMFORWARD
, *PDRMFORWARD
, *PCDRMFORWARD
;
21 BOOL DigitalOutputDisable
;
22 } DRMRIGHTS
, *PDRMRIGHTS
;
24 typedef const DRMRIGHTS
*PCDRMRIGHTS
;
26 /* ===============================================================
27 Digital Rights Management Functions
28 TODO: Check calling convention
37 DrmAddContentHandlers(
40 IN ULONG NumHandlers
);
44 DrmCreateContentMixed(
45 IN PULONG paContentId
,
47 OUT PULONG pMixedContentId
);
56 DrmForwardContentToDeviceObject(
59 IN PCDRMFORWARD DrmForward
);
63 DrmForwardContentToFileObject(
65 IN PFILE_OBJECT FileObject
);
69 DrmForwardContentToInterface(
78 OUT PDRMRIGHTS DrmRights
);
84 DEFINE_GUID(IID_IDrmAudioStream
,
85 0x1915c967, 0x3299, 0x48cb, 0xa3, 0xe4, 0x69, 0xfd, 0x1d, 0x1b, 0x30, 0x6e);
88 #define INTERFACE IDrmAudioStream
90 DECLARE_INTERFACE_(IDrmAudioStream
, IUnknown
) {
91 STDMETHOD_(NTSTATUS
, QueryInterface
)(THIS_
95 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
96 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
97 STDMETHOD_(NTSTATUS
,SetContentId
)(THIS_
99 IN PCDRMRIGHTS DrmRights
103 typedef IDrmAudioStream
*PDRMAUDIOSTREAM
;
105 #define IMP_IDrmAudioStream \
106 STDMETHODIMP_(NTSTATUS) SetContentId( \
107 IN ULONG ContentId, \
108 IN PCDRMRIGHTS DrmRights);