- Move NCI generated files to arch-specific directories
[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 <ks.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 NTAPI NTSTATUS
37 DrmAddContentHandlers(
38 IN ULONG ContentId,
39 IN PVOID *paHandlers,
40 IN ULONG NumHandlers);
41
42 NTAPI NTSTATUS
43 DrmCreateContentMixed(
44 IN PULONG paContentId,
45 IN ULONG cContentId,
46 OUT PULONG pMixedContentId);
47
48 NTAPI NTSTATUS
49 DrmDestroyContent(
50 IN ULONG ContentId);
51
52 NTAPI NTSTATUS
53 DrmForwardContentToDeviceObject(
54 IN ULONG ContentId,
55 IN PVOID Reserved,
56 IN PCDRMFORWARD DrmForward);
57
58 NTAPI NTSTATUS
59 DrmForwardContentToFileObject(
60 IN ULONG ContentId,
61 IN PFILE_OBJECT FileObject);
62
63 NTAPI NTSTATUS
64 DrmForwardContentToInterface(
65 IN ULONG ContentId,
66 IN PUNKNOWN pUnknown,
67 IN ULONG NumMethods);
68
69 NTAPI NTSTATUS
70 DrmGetContentRights(
71 IN ULONG ContentId,
72 OUT PDRMRIGHTS DrmRights);
73
74
75 #endif