blob: 35d1a89ac6e346e04c15cf1da0b4d066e4600d1b [file] [log] [blame]
/*
* Copyright 2017 Alistair Leslie-Hughes
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
import "oaidl.idl";
import "ocidl.idl";
import "mfobjects.idl";
import "mfidl.idl";
typedef struct _DRM_MINIMUM_OUTPUT_PROTECTION_LEVELS
{
WORD wCompressedDigitalVideo;
WORD wUncompressedDigitalVideo;
WORD wAnalogVideo;
WORD wCompressedDigitalAudio;
WORD wUncompressedDigitalAudio;
} DRM_MINIMUM_OUTPUT_PROTECTION_LEVELS;
typedef struct _DRM_VIDEO_OUTPUT_PROTECTION
{
GUID guidId;
BYTE bConfigData;
} DRM_VIDEO_OUTPUT_PROTECTION;
typedef struct _DRM_VIDEO_OUTPUT_PROTECTION_IDS
{
WORD cEntries;
DRM_VIDEO_OUTPUT_PROTECTION *rgVop;
} DRM_VIDEO_OUTPUT_PROTECTION_IDS;
typedef struct _DRM_OPL_OUTPUT_IDS
{
WORD cIds;
GUID *rgIds;
} DRM_OPL_OUTPUT_IDS;
typedef struct __tagDRM_COPY_OPL
{
WORD wMinimumCopyLevel;
DRM_OPL_OUTPUT_IDS oplIdIncludes;
DRM_OPL_OUTPUT_IDS oplIdExcludes;
} DRM_COPY_OPL;
typedef struct __tagDRM_PLAY_OPL
{
DRM_MINIMUM_OUTPUT_PROTECTION_LEVELS minOPL;
DRM_OPL_OUTPUT_IDS oplIdReserved;
DRM_VIDEO_OUTPUT_PROTECTION_IDS vopi;
} DRM_PLAY_OPL;
[
uuid(82435be0-f7c1-4df9-8103-eeabebf3d6e1),
version(1.0)
]
library WMDRMContentEnablerLib
{
importlib("stdole2.tlb");
[
uuid(82435bdf-f7c1-4df9-8103-eeabebf3d6e1)
]
coclass WMDRMContentEnablerActivate
{
[default] interface IPersistStream;
}
}