Delete all Trailing spaces in code.
[reactos.git] / reactos / include / ddk / drmk.h
1 /*
2 ReactOS Kernel Streaming
3 Digital Rights Management
4
5 Author: Andrew Greenwood
6 */
7
8 #ifndef DRMK_H
9 #define DRMK_H
10
11 #include <ntddk.h>
12 #include <debug.h>
13 #include <punknown.h>
14
15 typedef struct
16 {
17 DWORD Flags;
18 PDEVICE_OBJECT DeviceObject;
19 PFILE_OBJECT FileObject;
20 PVOID Context;
21 } DRMFORWARD, *PDRMFORWARD, *PCDRMFORWARD;
22
23 typedef struct
24 {
25 BOOL CopyProtect;
26 ULONG Reserved;
27 BOOL DigitalOutputDisable;
28 } DRMRIGHTS, *PDRMRIGHTS;
29
30
31 /* ===============================================================
32 Digital Rights Management Functions
33 TODO: Check calling convention
34 */
35
36 #ifdef __cplusplus
37 extern "C"
38 {
39 #endif
40
41 NTAPI NTSTATUS
42 DrmAddContentHandlers(
43 IN ULONG ContentId,
44 IN PVOID *paHandlers,
45 IN ULONG NumHandlers);
46
47 NTAPI NTSTATUS
48 DrmCreateContentMixed(
49 IN PULONG paContentId,
50 IN ULONG cContentId,
51 OUT PULONG pMixedContentId);
52
53 NTAPI NTSTATUS
54 DrmDestroyContent(
55 IN ULONG ContentId);
56
57 NTAPI NTSTATUS
58 DrmForwardContentToDeviceObject(
59 IN ULONG ContentId,
60 IN PVOID Reserved,
61 IN PCDRMFORWARD DrmForward);
62
63 NTAPI NTSTATUS
64 DrmForwardContentToFileObject(
65 IN ULONG ContentId,
66 IN PFILE_OBJECT FileObject);
67
68 NTAPI NTSTATUS
69 DrmForwardContentToInterface(
70 IN ULONG ContentId,
71 IN PUNKNOWN pUnknown,
72 IN ULONG NumMethods);
73
74 NTAPI NTSTATUS
75 DrmGetContentRights(
76 IN ULONG ContentId,
77 OUT PDRMRIGHTS DrmRights);
78
79 #ifdef __cplusplus
80 }
81 #endif
82
83 #endif