[HEADERS]
[reactos.git] / reactos / include / ddk / drmk.h
index 5d0fc75..5c18ec5 100644 (file)
-/*\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