xref: /reactos/sdk/include/psdk/wmdrmsdk.idl (revision 0622ce17)
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
19import "oaidl.idl";
20import "ocidl.idl";
21import "mfobjects.idl";
22import "mfidl.idl";
23
24typedef 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
33typedef struct _DRM_VIDEO_OUTPUT_PROTECTION
34{
35    GUID guidId;
36    BYTE bConfigData;
37} DRM_VIDEO_OUTPUT_PROTECTION;
38
39typedef struct _DRM_VIDEO_OUTPUT_PROTECTION_IDS
40{
41    WORD                        cEntries;
42    DRM_VIDEO_OUTPUT_PROTECTION *rgVop;
43} DRM_VIDEO_OUTPUT_PROTECTION_IDS;
44
45typedef struct _DRM_OPL_OUTPUT_IDS
46{
47    WORD cIds;
48    GUID *rgIds;
49} DRM_OPL_OUTPUT_IDS;
50
51typedef 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
58typedef 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]
70library 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};
82