-/*\r
- ReactOS Kernel Streaming\r
- Digital Rights Management\r
-\r
- Author: Andrew Greenwood\r
-*/\r
-\r
-#ifndef DRMK_H\r
-#define DRMK_H\r
-\r
-typedef struct\r
-{\r
- DWORD Flags;\r
- PDEVICE_OBJECT DeviceObject;\r
- PFILE_OBJECT FileObject;\r
- PVOID Context;\r
-} DRMFORWARD, *PDRMFORWARD, *PCDRMFORWARD;\r
-\r
-typedef struct\r
-{\r
- BOOL CopyProtect;\r
- ULONG Reserved;\r
- BOOL DigitalOutputDisable;\r
-} DRMRIGHTS, *PDRMRIGHTS;\r
-\r
-typedef const DRMRIGHTS *PCDRMRIGHTS;\r
-\r
-/* ===============================================================\r
- Digital Rights Management Functions\r
- TODO: Check calling convention\r
-*/\r
-\r
-#ifdef __cplusplus\r
-extern "C"\r
-{\r
-#endif\r
-\r
-NTSTATUS\r
-NTAPI\r
-DrmAddContentHandlers(\r
- IN ULONG ContentId,\r
- IN PVOID *paHandlers,\r
- IN ULONG NumHandlers);\r
-\r
-NTSTATUS\r
-NTAPI\r
-DrmCreateContentMixed(\r
- IN PULONG paContentId,\r
- IN ULONG cContentId,\r
- OUT PULONG pMixedContentId);\r
-\r
-NTSTATUS\r
-NTAPI\r
-DrmDestroyContent(\r
- IN ULONG ContentId);\r
-\r
-NTSTATUS\r
-NTAPI\r
-DrmForwardContentToDeviceObject(\r
- IN ULONG ContentId,\r
- IN PVOID Reserved,\r
- IN PCDRMFORWARD DrmForward);\r
-\r
-NTSTATUS\r
-NTAPI\r
-DrmForwardContentToFileObject(\r
- IN ULONG ContentId,\r
- IN PFILE_OBJECT FileObject);\r
-\r
-NTSTATUS\r
-NTAPI\r
-DrmForwardContentToInterface(\r
- IN ULONG ContentId,\r
- IN PUNKNOWN pUnknown,\r
- IN ULONG NumMethods);\r
-\r
-NTSTATUS\r
-NTAPI\r
-DrmGetContentRights(\r
- IN ULONG ContentId,\r
- OUT PDRMRIGHTS DrmRights);\r
-\r
-#ifdef __cplusplus\r
-}\r
-#endif\r
-\r
-\r
-\r
-DEFINE_GUID(IID_IDrmAudioStream,\r
- 0x1915c967, 0x3299, 0x48cb, 0xa3, 0xe4, 0x69, 0xfd, 0x1d, 0x1b, 0x30, 0x6e);\r
-\r
-#undef INTERFACE\r
-#define INTERFACE IDrmAudioStream\r
-\r
-DECLARE_INTERFACE_(IDrmAudioStream, IUnknown)\r
-{\r
- STDMETHOD_(NTSTATUS, QueryInterface)(THIS_\r
- REFIID InterfaceId,\r
- PVOID* Interface\r
- ) PURE;\r
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;\r
- STDMETHOD_(ULONG,Release)(THIS) PURE;\r
- STDMETHOD_(NTSTATUS,SetContentId)(THIS_\r
- IN ULONG ContentId,\r
- IN PCDRMRIGHTS DrmRights) PURE;\r
-};\r
-\r
-typedef IDrmAudioStream *PDRMAUDIOSTREAM;\r
-\r
-#define IMP_IDrmAudioStream \\r
- STDMETHODIMP_(NTSTATUS) SetContentId \\r
- ( IN ULONG ContentId, \\r
- IN PCDRMRIGHTS DrmRights \\r
- );\r
-\r
-\r
-#endif\r
+/*
+ ReactOS Kernel Streaming
+ Digital Rights Management
+
+ Author: Andrew Greenwood
+*/
+
+#ifndef DRMK_H
+#define DRMK_H
+
+typedef struct
+{
+ DWORD Flags;
+ PDEVICE_OBJECT DeviceObject;
+ PFILE_OBJECT FileObject;
+ PVOID Context;
+} DRMFORWARD, *PDRMFORWARD, *PCDRMFORWARD;
+
+typedef struct
+{
+ BOOL CopyProtect;
+ ULONG Reserved;
+ BOOL DigitalOutputDisable;
+} DRMRIGHTS, *PDRMRIGHTS;
+
+typedef const DRMRIGHTS *PCDRMRIGHTS;
+
+/* ===============================================================
+ Digital Rights Management Functions
+ TODO: Check calling convention
+*/
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+NTSTATUS
+NTAPI
+DrmAddContentHandlers(
+ IN ULONG ContentId,
+ IN PVOID *paHandlers,
+ IN ULONG NumHandlers);
+
+NTSTATUS
+NTAPI
+DrmCreateContentMixed(
+ IN PULONG paContentId,
+ IN ULONG cContentId,
+ OUT PULONG pMixedContentId);
+
+NTSTATUS
+NTAPI
+DrmDestroyContent(
+ IN ULONG ContentId);
+
+NTSTATUS
+NTAPI
+DrmForwardContentToDeviceObject(
+ IN ULONG ContentId,
+ IN PVOID Reserved,
+ IN PCDRMFORWARD DrmForward);
+
+NTSTATUS
+NTAPI
+DrmForwardContentToFileObject(
+ IN ULONG ContentId,
+ IN PFILE_OBJECT FileObject);
+
+NTSTATUS
+NTAPI
+DrmForwardContentToInterface(
+ IN ULONG ContentId,
+ IN PUNKNOWN pUnknown,
+ IN ULONG NumMethods);
+
+NTSTATUS
+NTAPI
+DrmGetContentRights(
+ IN ULONG ContentId,
+ OUT PDRMRIGHTS DrmRights);
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+DEFINE_GUID(IID_IDrmAudioStream,
+ 0x1915c967, 0x3299, 0x48cb, 0xa3, 0xe4, 0x69, 0xfd, 0x1d, 0x1b, 0x30, 0x6e);
+
+#undef INTERFACE
+#define INTERFACE IDrmAudioStream
+
+DECLARE_INTERFACE_(IDrmAudioStream, IUnknown)
+{
+ STDMETHOD_(NTSTATUS, QueryInterface)(THIS_
+ REFIID InterfaceId,
+ PVOID* Interface
+ ) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ STDMETHOD_(NTSTATUS,SetContentId)(THIS_
+ IN ULONG ContentId,
+ IN PCDRMRIGHTS DrmRights) PURE;
+};
+
+typedef IDrmAudioStream *PDRMAUDIOSTREAM;
+
+#define IMP_IDrmAudioStream \
+ STDMETHODIMP_(NTSTATUS) SetContentId \
+ ( IN ULONG ContentId, \
+ IN PCDRMRIGHTS DrmRights \
+ );
+
+
+#endif