[SDK][NDK] Move SYSTEM_POWER_INFORMATION to ntpoapi.h (#869)
[reactos.git] / sdk / include / psdk / wmdrmsdk.idl
1 /*
2 * Copyright 2017 Alistair Leslie-Hughes
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19 import "oaidl.idl";
20 import "ocidl.idl";
21 import "mfobjects.idl";
22 import "mfidl.idl";
23
24 typedef struct _DRM_MINIMUM_OUTPUT_PROTECTION_LEVELS
25 {
26 WORD wCompressedDigitalVideo;
27 WORD wUncompressedDigitalVideo;
28 WORD wAnalogVideo;
29 WORD wCompressedDigitalAudio;
30 WORD wUncompressedDigitalAudio;
31 } DRM_MINIMUM_OUTPUT_PROTECTION_LEVELS;
32
33 typedef struct _DRM_VIDEO_OUTPUT_PROTECTION
34 {
35 GUID guidId;
36 BYTE bConfigData;
37 } DRM_VIDEO_OUTPUT_PROTECTION;
38
39 typedef struct _DRM_VIDEO_OUTPUT_PROTECTION_IDS
40 {
41 WORD cEntries;
42 DRM_VIDEO_OUTPUT_PROTECTION *rgVop;
43 } DRM_VIDEO_OUTPUT_PROTECTION_IDS;
44
45 typedef struct _DRM_OPL_OUTPUT_IDS
46 {
47 WORD cIds;
48 GUID *rgIds;
49 } DRM_OPL_OUTPUT_IDS;
50
51 typedef struct __tagDRM_COPY_OPL
52 {
53 WORD wMinimumCopyLevel;
54 DRM_OPL_OUTPUT_IDS oplIdIncludes;
55 DRM_OPL_OUTPUT_IDS oplIdExcludes;
56 } DRM_COPY_OPL;
57
58 typedef struct __tagDRM_PLAY_OPL
59 {
60 DRM_MINIMUM_OUTPUT_PROTECTION_LEVELS minOPL;
61 DRM_OPL_OUTPUT_IDS oplIdReserved;
62 DRM_VIDEO_OUTPUT_PROTECTION_IDS vopi;
63 } DRM_PLAY_OPL;
64
65
66 [
67 uuid(82435be0-f7c1-4df9-8103-eeabebf3d6e1),
68 version(1.0)
69 ]
70 library WMDRMContentEnablerLib
71 {
72 importlib("stdole2.tlb");
73
74 [
75 uuid(82435bdf-f7c1-4df9-8103-eeabebf3d6e1)
76 ]
77 coclass WMDRMContentEnablerActivate
78 {
79 [default] interface IPersistStream;
80 };
81 };