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
39 DrmAddContentHandlers(
42 IN ULONG NumHandlers
);
45 DrmCreateContentMixed(
46 IN PULONG paContentId
,
48 OUT PULONG pMixedContentId
);
55 DrmForwardContentToDeviceObject(
58 IN PCDRMFORWARD DrmForward
);
61 DrmForwardContentToFileObject(
63 IN PFILE_OBJECT FileObject
);
66 DrmForwardContentToInterface(
74 OUT PDRMRIGHTS DrmRights
);
82 DEFINE_GUID(IID_IDrmAudioStream
,
83 0x1915c967, 0x3299, 0x48cb, 0xa3, 0xe4, 0x69, 0xfd, 0x1d, 0x1b, 0x30, 0x6e);
86 #define INTERFACE IDrmAudioStream
88 DECLARE_INTERFACE_(IDrmAudioStream
, IUnknown
)
90 STDMETHOD_(NTSTATUS
, QueryInterface
)(THIS_
94 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
95 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
96 STDMETHOD_(NTSTATUS
,SetContentId
)(THIS_
98 IN PCDRMRIGHTS DrmRights
) PURE
;
101 typedef IDrmAudioStream
*PDRMAUDIOSTREAM
;
103 #define IMP_IDrmAudioStream \
104 STDMETHODIMP_(NTSTATUS) SetContentId \
105 ( IN ULONG ContentId, \
106 IN PCDRMRIGHTS DrmRights \