mirror of https://github.com/UMSKT/xpmgr.git
604 lines
22 KiB
C++
604 lines
22 KiB
C++
|
|
|
|
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
|
|
|
|
|
/* File created by MIDL compiler version 7.00.0555 */
|
|
/* Compiler settings for opmapi.idl:
|
|
Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
|
|
protocol : dce , ms_ext, c_ext, robust
|
|
error checks: allocation ref bounds_check enum stub_data
|
|
VC __declspec() decoration level:
|
|
__declspec(uuid()), __declspec(selectany), __declspec(novtable)
|
|
DECLSPEC_UUID(), MIDL_INTERFACE()
|
|
*/
|
|
/* @@MIDL_FILE_HEADING( ) */
|
|
|
|
#pragma warning( disable: 4049 ) /* more than 64k source lines */
|
|
|
|
|
|
/* verify that the <rpcndr.h> version is high enough to compile this file*/
|
|
#ifndef __REQUIRED_RPCNDR_H_VERSION__
|
|
#define __REQUIRED_RPCNDR_H_VERSION__ 500
|
|
#endif
|
|
|
|
/* verify that the <rpcsal.h> version is high enough to compile this file*/
|
|
#ifndef __REQUIRED_RPCSAL_H_VERSION__
|
|
#define __REQUIRED_RPCSAL_H_VERSION__ 100
|
|
#endif
|
|
|
|
#include "rpc.h"
|
|
#include "rpcndr.h"
|
|
|
|
#ifndef __RPCNDR_H_VERSION__
|
|
#error this stub requires an updated version of <rpcndr.h>
|
|
#endif // __RPCNDR_H_VERSION__
|
|
|
|
#ifndef COM_NO_WINDOWS_H
|
|
#include "windows.h"
|
|
#include "ole2.h"
|
|
#endif /*COM_NO_WINDOWS_H*/
|
|
|
|
#ifndef __opmapi_h__
|
|
#define __opmapi_h__
|
|
|
|
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
|
|
#pragma once
|
|
#endif
|
|
|
|
/* Forward Declarations */
|
|
|
|
#ifndef __IOPMVideoOutput_FWD_DEFINED__
|
|
#define __IOPMVideoOutput_FWD_DEFINED__
|
|
typedef interface IOPMVideoOutput IOPMVideoOutput;
|
|
#endif /* __IOPMVideoOutput_FWD_DEFINED__ */
|
|
|
|
|
|
/* header files for imported files */
|
|
#include "unknwn.h"
|
|
#include "dxva2api.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"{
|
|
#endif
|
|
|
|
|
|
/* interface __MIDL_itf_opmapi_0000_0000 */
|
|
/* [local] */
|
|
|
|
#ifndef OPM_API_DEFINED
|
|
#define OPM_API_DEFINED
|
|
#pragma pack( push, 1 )
|
|
DEFINE_GUID( OPM_GET_CURRENT_HDCP_SRM_VERSION, 0x99c5ceff, 0x5f1d, 0x4879, 0x81, 0xc1, 0xc5, 0x24, 0x43, 0xc9, 0x48, 0x2b );
|
|
DEFINE_GUID( OPM_GET_CONNECTED_HDCP_DEVICE_INFORMATION, 0x0db59d74, 0xa992, 0x492e, 0xa0, 0xbd, 0xc2, 0x3f, 0xda, 0x56, 0x4e, 0x00 );
|
|
DEFINE_GUID( OPM_GET_ACP_AND_CGMSA_SIGNALING, 0x6629a591, 0x3b79, 0x4cf3, 0x92, 0x4a, 0x11, 0xe8, 0xe7, 0x81, 0x16, 0x71 );
|
|
DEFINE_GUID( OPM_GET_CONNECTOR_TYPE, 0x81d0bfd5, 0x6afe, 0x48c2, 0x99, 0xc0, 0x95, 0xa0, 0x8f, 0x97, 0xc5, 0xda );
|
|
DEFINE_GUID( OPM_GET_SUPPORTED_PROTECTION_TYPES, 0x38f2a801, 0x9a6c, 0x48bb, 0x91, 0x07, 0xb6, 0x69, 0x6e, 0x6f, 0x17, 0x97 );
|
|
DEFINE_GUID( OPM_GET_VIRTUAL_PROTECTION_LEVEL, 0xb2075857, 0x3eda, 0x4d5d, 0x88, 0xdb, 0x74, 0x8f, 0x8c, 0x1a, 0x05, 0x49 );
|
|
DEFINE_GUID( OPM_GET_ACTUAL_PROTECTION_LEVEL, 0x1957210a, 0x7766, 0x452a, 0xb9, 0x9a, 0xd2, 0x7a, 0xed, 0x54, 0xf0, 0x3a );
|
|
DEFINE_GUID( OPM_GET_ACTUAL_OUTPUT_FORMAT, 0xd7bf1ba3, 0xad13, 0x4f8e, 0xaf, 0x98, 0x0d, 0xcb, 0x3c, 0xa2, 0x04, 0xcc );
|
|
DEFINE_GUID( OPM_GET_ADAPTER_BUS_TYPE, 0xc6f4d673, 0x6174, 0x4184, 0x8e, 0x35, 0xf6, 0xdb, 0x52, 0x0, 0xbc, 0xba );
|
|
DEFINE_GUID( OPM_GET_OUTPUT_ID, 0x72cb6df3, 0x244f, 0x40ce, 0xb0, 0x9e, 0x20, 0x50, 0x6a, 0xf6, 0x30, 0x2f );
|
|
DEFINE_GUID( OPM_GET_DVI_CHARACTERISTICS, 0xa470b3bb, 0x5dd7, 0x4172, 0x83, 0x9c, 0x3d, 0x37, 0x76, 0xe0, 0xeb, 0xf5 );
|
|
DEFINE_GUID( OPM_GET_CODEC_INFO, 0x4f374491, 0x8f5f, 0x4445, 0x9d, 0xba, 0x95, 0x58, 0x8f, 0x6b, 0x58, 0xb4);
|
|
DEFINE_GUID( OPM_SET_PROTECTION_LEVEL, 0x9bb9327c, 0x4eb5, 0x4727, 0x9f, 0x00, 0xb4, 0x2b, 0x09, 0x19, 0xc0, 0xda );
|
|
DEFINE_GUID( OPM_SET_ACP_AND_CGMSA_SIGNALING, 0x09a631a5, 0xd684, 0x4c60, 0x8e, 0x4d, 0xd3, 0xbb, 0x0f, 0x0b, 0xe3, 0xee );
|
|
DEFINE_GUID( OPM_SET_HDCP_SRM, 0x8b5ef5d1, 0xc30d, 0x44ff, 0x84, 0xa5, 0xea, 0x71, 0xdc, 0xe7, 0x8f, 0x13 );
|
|
DEFINE_GUID( OPM_SET_PROTECTION_LEVEL_ACCORDING_TO_CSS_DVD, 0x39ce333e, 0x4cc0, 0x44ae, 0xbf, 0xcc, 0xda, 0x50, 0xb5, 0xf8, 0x2e, 0x72);
|
|
|
|
enum __MIDL___MIDL_itf_opmapi_0000_0000_0001
|
|
{ OPM_OMAC_SIZE = 16,
|
|
OPM_128_BIT_RANDOM_NUMBER_SIZE = 16,
|
|
OPM_ENCRYPTED_INITIALIZATION_PARAMETERS_SIZE = 256,
|
|
OPM_CONFIGURE_SETTING_DATA_SIZE = 4056,
|
|
OPM_GET_INFORMATION_PARAMETERS_SIZE = 4056,
|
|
OPM_REQUESTED_INFORMATION_SIZE = 4076,
|
|
OPM_HDCP_KEY_SELECTION_VECTOR_SIZE = 5,
|
|
OPM_PROTECTION_TYPE_SIZE = 4,
|
|
OPM_BUS_TYPE_MASK = 0xffff,
|
|
OPM_BUS_IMPLEMENTATION_MODIFIER_MASK = 0x7fff
|
|
} ;
|
|
typedef
|
|
enum _OPM_VIDEO_OUTPUT_SEMANTICS
|
|
{ OPM_VOS_COPP_SEMANTICS = 0,
|
|
OPM_VOS_OPM_SEMANTICS = 1
|
|
} OPM_VIDEO_OUTPUT_SEMANTICS;
|
|
|
|
|
|
enum __MIDL___MIDL_itf_opmapi_0000_0000_0002
|
|
{ OPM_HDCP_FLAG_NONE = 0,
|
|
OPM_HDCP_FLAG_REPEATER = 0x1
|
|
} ;
|
|
|
|
enum __MIDL___MIDL_itf_opmapi_0000_0000_0003
|
|
{ OPM_STATUS_NORMAL = 0,
|
|
OPM_STATUS_LINK_LOST = 0x1,
|
|
OPM_STATUS_RENEGOTIATION_REQUIRED = 0x2,
|
|
OPM_STATUS_TAMPERING_DETECTED = 0x4,
|
|
OPM_STATUS_REVOKED_HDCP_DEVICE_ATTACHED = 0x8
|
|
} ;
|
|
|
|
enum __MIDL___MIDL_itf_opmapi_0000_0000_0004
|
|
{ OPM_CONNECTOR_TYPE_OTHER = -1,
|
|
OPM_CONNECTOR_TYPE_VGA = 0,
|
|
OPM_CONNECTOR_TYPE_SVIDEO = 1,
|
|
OPM_CONNECTOR_TYPE_COMPOSITE_VIDEO = 2,
|
|
OPM_CONNECTOR_TYPE_COMPONENT_VIDEO = 3,
|
|
OPM_CONNECTOR_TYPE_DVI = 4,
|
|
OPM_CONNECTOR_TYPE_HDMI = 5,
|
|
OPM_CONNECTOR_TYPE_LVDS = 6,
|
|
OPM_CONNECTOR_TYPE_D_JPN = 8,
|
|
OPM_CONNECTOR_TYPE_SDI = 9,
|
|
OPM_CONNECTOR_TYPE_DISPLAYPORT_EXTERNAL = 10,
|
|
OPM_CONNECTOR_TYPE_DISPLAYPORT_EMBEDDED = 11,
|
|
OPM_CONNECTOR_TYPE_UDI_EXTERNAL = 12,
|
|
OPM_CONNECTOR_TYPE_UDI_EMBEDDED = 13,
|
|
OPM_COPP_COMPATIBLE_CONNECTOR_TYPE_INTERNAL = 0x80000000
|
|
} ;
|
|
|
|
enum __MIDL___MIDL_itf_opmapi_0000_0000_0005
|
|
{ OPM_DVI_CHARACTERISTIC_1_0 = 1,
|
|
OPM_DVI_CHARACTERISTIC_1_1_OR_ABOVE = 2
|
|
} ;
|
|
|
|
enum __MIDL___MIDL_itf_opmapi_0000_0000_0006
|
|
{ OPM_BUS_TYPE_OTHER = 0,
|
|
OPM_BUS_TYPE_PCI = 0x1,
|
|
OPM_BUS_TYPE_PCIX = 0x2,
|
|
OPM_BUS_TYPE_PCIEXPRESS = 0x3,
|
|
OPM_BUS_TYPE_AGP = 0x4,
|
|
OPM_BUS_IMPLEMENTATION_MODIFIER_INSIDE_OF_CHIPSET = 0x10000,
|
|
OPM_BUS_IMPLEMENTATION_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_CHIP = 0x20000,
|
|
OPM_BUS_IMPLEMENTATION_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_SOCKET = 0x30000,
|
|
OPM_BUS_IMPLEMENTATION_MODIFIER_DAUGHTER_BOARD_CONNECTOR = 0x40000,
|
|
OPM_BUS_IMPLEMENTATION_MODIFIER_DAUGHTER_BOARD_CONNECTOR_INSIDE_OF_NUAE = 0x50000,
|
|
OPM_BUS_IMPLEMENTATION_MODIFIER_NON_STANDARD = 0x80000000,
|
|
OPM_COPP_COMPATIBLE_BUS_TYPE_INTEGRATED = 0x80000000
|
|
} ;
|
|
typedef
|
|
enum _OPM_DPCP_PROTECTION_LEVEL
|
|
{ OPM_DPCP_OFF = 0,
|
|
OPM_DPCP_ON = 1,
|
|
OPM_DPCP_FORCE_ULONG = 0x7fffffff
|
|
} OPM_DPCP_PROTECTION_LEVEL;
|
|
|
|
typedef
|
|
enum _OPM_HDCP_PROTECTION_LEVEL
|
|
{ OPM_HDCP_OFF = 0,
|
|
OPM_HDCP_ON = 1,
|
|
OPM_HDCP_FORCE_ULONG = 0x7fffffff
|
|
} OPM_HDCP_PROTECTION_LEVEL;
|
|
|
|
|
|
enum __MIDL___MIDL_itf_opmapi_0000_0000_0007
|
|
{ OPM_CGMSA_OFF = 0,
|
|
OPM_CGMSA_COPY_FREELY = 0x1,
|
|
OPM_CGMSA_COPY_NO_MORE = 0x2,
|
|
OPM_CGMSA_COPY_ONE_GENERATION = 0x3,
|
|
OPM_CGMSA_COPY_NEVER = 0x4,
|
|
OPM_CGMSA_REDISTRIBUTION_CONTROL_REQUIRED = 0x8
|
|
} ;
|
|
typedef
|
|
enum _OPM_ACP_PROTECTION_LEVEL
|
|
{ OPM_ACP_OFF = 0,
|
|
OPM_ACP_LEVEL_ONE = 1,
|
|
OPM_ACP_LEVEL_TWO = 2,
|
|
OPM_ACP_LEVEL_THREE = 3,
|
|
OPM_ACP_FORCE_ULONG = 0x7fffffff
|
|
} OPM_ACP_PROTECTION_LEVEL;
|
|
|
|
|
|
enum __MIDL___MIDL_itf_opmapi_0000_0000_0008
|
|
{ OPM_PROTECTION_TYPE_OTHER = 0x80000000,
|
|
OPM_PROTECTION_TYPE_NONE = 0,
|
|
OPM_PROTECTION_TYPE_COPP_COMPATIBLE_HDCP = 0x1,
|
|
OPM_PROTECTION_TYPE_ACP = 0x2,
|
|
OPM_PROTECTION_TYPE_CGMSA = 0x4,
|
|
OPM_PROTECTION_TYPE_HDCP = 0x8,
|
|
OPM_PROTECTION_TYPE_DPCP = 0x10
|
|
} ;
|
|
|
|
enum __MIDL___MIDL_itf_opmapi_0000_0000_0009
|
|
{ OPM_PROTECTION_STANDARD_OTHER = 0x80000000,
|
|
OPM_PROTECTION_STANDARD_NONE = 0,
|
|
OPM_PROTECTION_STANDARD_IEC61880_525I = 0x1,
|
|
OPM_PROTECTION_STANDARD_IEC61880_2_525I = 0x2,
|
|
OPM_PROTECTION_STANDARD_IEC62375_625P = 0x4,
|
|
OPM_PROTECTION_STANDARD_EIA608B_525 = 0x8,
|
|
OPM_PROTECTION_STANDARD_EN300294_625I = 0x10,
|
|
OPM_PROTECTION_STANDARD_CEA805A_TYPEA_525P = 0x20,
|
|
OPM_PROTECTION_STANDARD_CEA805A_TYPEA_750P = 0x40,
|
|
OPM_PROTECTION_STANDARD_CEA805A_TYPEA_1125I = 0x80,
|
|
OPM_PROTECTION_STANDARD_CEA805A_TYPEB_525P = 0x100,
|
|
OPM_PROTECTION_STANDARD_CEA805A_TYPEB_750P = 0x200,
|
|
OPM_PROTECTION_STANDARD_CEA805A_TYPEB_1125I = 0x400,
|
|
OPM_PROTECTION_STANDARD_ARIBTRB15_525I = 0x800,
|
|
OPM_PROTECTION_STANDARD_ARIBTRB15_525P = 0x1000,
|
|
OPM_PROTECTION_STANDARD_ARIBTRB15_750P = 0x2000,
|
|
OPM_PROTECTION_STANDARD_ARIBTRB15_1125I = 0x4000
|
|
} ;
|
|
typedef
|
|
enum _OPM_IMAGE_ASPECT_RATIO_EN300294
|
|
{ OPM_ASPECT_RATIO_EN300294_FULL_FORMAT_4_BY_3 = 0,
|
|
OPM_ASPECT_RATIO_EN300294_BOX_14_BY_9_CENTER = 1,
|
|
OPM_ASPECT_RATIO_EN300294_BOX_14_BY_9_TOP = 2,
|
|
OPM_ASPECT_RATIO_EN300294_BOX_16_BY_9_CENTER = 3,
|
|
OPM_ASPECT_RATIO_EN300294_BOX_16_BY_9_TOP = 4,
|
|
OPM_ASPECT_RATIO_EN300294_BOX_GT_16_BY_9_CENTER = 5,
|
|
OPM_ASPECT_RATIO_EN300294_FULL_FORMAT_4_BY_3_PROTECTED_CENTER = 6,
|
|
OPM_ASPECT_RATIO_EN300294_FULL_FORMAT_16_BY_9_ANAMORPHIC = 7,
|
|
OPM_ASPECT_RATIO_FORCE_ULONG = 0x7fffffff
|
|
} OPM_IMAGE_ASPECT_RATIO_EN300294;
|
|
|
|
typedef struct _OPM_RANDOM_NUMBER
|
|
{
|
|
BYTE abRandomNumber[ 16 ];
|
|
} OPM_RANDOM_NUMBER;
|
|
|
|
typedef struct _OPM_OMAC
|
|
{
|
|
BYTE abOMAC[ 16 ];
|
|
} OPM_OMAC;
|
|
|
|
typedef struct _OPM_ENCRYPTED_INITIALIZATION_PARAMETERS
|
|
{
|
|
BYTE abEncryptedInitializationParameters[ 256 ];
|
|
} OPM_ENCRYPTED_INITIALIZATION_PARAMETERS;
|
|
|
|
typedef struct _OPM_GET_INFO_PARAMETERS
|
|
{
|
|
OPM_OMAC omac;
|
|
OPM_RANDOM_NUMBER rnRandomNumber;
|
|
GUID guidInformation;
|
|
ULONG ulSequenceNumber;
|
|
ULONG cbParametersSize;
|
|
BYTE abParameters[ 4056 ];
|
|
} OPM_GET_INFO_PARAMETERS;
|
|
|
|
typedef struct _OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS
|
|
{
|
|
OPM_RANDOM_NUMBER rnRandomNumber;
|
|
GUID guidInformation;
|
|
ULONG ulSequenceNumber;
|
|
ULONG cbParametersSize;
|
|
BYTE abParameters[ 4056 ];
|
|
} OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS;
|
|
|
|
typedef struct _OPM_HDCP_KEY_SELECTION_VECTOR
|
|
{
|
|
BYTE abKeySelectionVector[ 5 ];
|
|
} OPM_HDCP_KEY_SELECTION_VECTOR;
|
|
|
|
typedef struct _OPM_CONNECTED_HDCP_DEVICE_INFORMATION
|
|
{
|
|
OPM_RANDOM_NUMBER rnRandomNumber;
|
|
ULONG ulStatusFlags;
|
|
ULONG ulHDCPFlags;
|
|
OPM_HDCP_KEY_SELECTION_VECTOR ksvB;
|
|
BYTE Reserved[ 11 ];
|
|
BYTE Reserved2[ 16 ];
|
|
BYTE Reserved3[ 16 ];
|
|
} OPM_CONNECTED_HDCP_DEVICE_INFORMATION;
|
|
|
|
typedef struct _OPM_REQUESTED_INFORMATION
|
|
{
|
|
OPM_OMAC omac;
|
|
ULONG cbRequestedInformationSize;
|
|
BYTE abRequestedInformation[ 4076 ];
|
|
} OPM_REQUESTED_INFORMATION;
|
|
|
|
typedef struct _OPM_STANDARD_INFORMATION
|
|
{
|
|
OPM_RANDOM_NUMBER rnRandomNumber;
|
|
ULONG ulStatusFlags;
|
|
ULONG ulInformation;
|
|
ULONG ulReserved;
|
|
ULONG ulReserved2;
|
|
} OPM_STANDARD_INFORMATION;
|
|
|
|
#ifndef DO_NOT_USE_DIRECTX_OR_DXVA2
|
|
typedef struct _OPM_ACTUAL_OUTPUT_FORMAT
|
|
{
|
|
OPM_RANDOM_NUMBER rnRandomNumber;
|
|
ULONG ulStatusFlags;
|
|
ULONG ulDisplayWidth;
|
|
ULONG ulDisplayHeight;
|
|
DXVA2_SampleFormat dsfSampleInterleaveFormat;
|
|
D3DFORMAT d3dFormat;
|
|
ULONG ulFrequencyNumerator;
|
|
ULONG ulFrequencyDenominator;
|
|
} OPM_ACTUAL_OUTPUT_FORMAT;
|
|
|
|
#endif // DO_NOT_USE_DIRECTX_OR_DXVA2
|
|
typedef struct _OPM_ACP_AND_CGMSA_SIGNALING
|
|
{
|
|
OPM_RANDOM_NUMBER rnRandomNumber;
|
|
ULONG ulStatusFlags;
|
|
ULONG ulAvailableTVProtectionStandards;
|
|
ULONG ulActiveTVProtectionStandard;
|
|
ULONG ulReserved;
|
|
ULONG ulAspectRatioValidMask1;
|
|
ULONG ulAspectRatioData1;
|
|
ULONG ulAspectRatioValidMask2;
|
|
ULONG ulAspectRatioData2;
|
|
ULONG ulAspectRatioValidMask3;
|
|
ULONG ulAspectRatioData3;
|
|
ULONG ulReserved2[ 4 ];
|
|
ULONG ulReserved3[ 4 ];
|
|
} OPM_ACP_AND_CGMSA_SIGNALING;
|
|
|
|
typedef struct _OPM_OUTPUT_ID_DATA
|
|
{
|
|
OPM_RANDOM_NUMBER rnRandomNumber;
|
|
ULONG ulStatusFlags;
|
|
UINT64 OutputId;
|
|
} OPM_OUTPUT_ID_DATA;
|
|
|
|
typedef struct _OPM_CONFIGURE_PARAMETERS
|
|
{
|
|
OPM_OMAC omac;
|
|
GUID guidSetting;
|
|
ULONG ulSequenceNumber;
|
|
ULONG cbParametersSize;
|
|
BYTE abParameters[ 4056 ];
|
|
} OPM_CONFIGURE_PARAMETERS;
|
|
|
|
typedef struct _OPM_SET_PROTECTION_LEVEL_PARAMETERS
|
|
{
|
|
ULONG ulProtectionType;
|
|
ULONG ulProtectionLevel;
|
|
ULONG Reserved;
|
|
ULONG Reserved2;
|
|
} OPM_SET_PROTECTION_LEVEL_PARAMETERS;
|
|
|
|
typedef struct _OPM_SET_ACP_AND_CGMSA_SIGNALING_PARAMETERS
|
|
{
|
|
ULONG ulNewTVProtectionStandard;
|
|
ULONG ulAspectRatioChangeMask1;
|
|
ULONG ulAspectRatioData1;
|
|
ULONG ulAspectRatioChangeMask2;
|
|
ULONG ulAspectRatioData2;
|
|
ULONG ulAspectRatioChangeMask3;
|
|
ULONG ulAspectRatioData3;
|
|
ULONG ulReserved[ 4 ];
|
|
ULONG ulReserved2[ 4 ];
|
|
ULONG ulReserved3;
|
|
} OPM_SET_ACP_AND_CGMSA_SIGNALING_PARAMETERS;
|
|
|
|
typedef struct _OPM_SET_HDCP_SRM_PARAMETERS
|
|
{
|
|
ULONG ulSRMVersion;
|
|
} OPM_SET_HDCP_SRM_PARAMETERS;
|
|
|
|
typedef struct _OPM_GET_CODEC_INFO_PARAMETERS
|
|
{
|
|
DWORD cbVerifier;
|
|
BYTE Verifier[ 4052 ];
|
|
} OPM_GET_CODEC_INFO_PARAMETERS;
|
|
|
|
typedef struct _OPM_GET_CODEC_INFO_INFORMATION
|
|
{
|
|
OPM_RANDOM_NUMBER rnRandomNumber;
|
|
DWORD Merit;
|
|
} OPM_GET_CODEC_INFO_INFORMATION;
|
|
|
|
#if defined( _WIN32 ) && !defined( _NO_COM )
|
|
DEFINE_GUID( IID_IOPMVideoOutput, 0x0A15159D, 0x41C7, 0x4456, 0x93, 0xE1, 0x28, 0x4C, 0xD6, 0x1D, 0x4E, 0x8D );
|
|
#endif // defined( _WIN32 ) && !defined( _NO_COM )
|
|
|
|
|
|
extern RPC_IF_HANDLE __MIDL_itf_opmapi_0000_0000_v0_0_c_ifspec;
|
|
extern RPC_IF_HANDLE __MIDL_itf_opmapi_0000_0000_v0_0_s_ifspec;
|
|
|
|
#ifndef __IOPMVideoOutput_INTERFACE_DEFINED__
|
|
#define __IOPMVideoOutput_INTERFACE_DEFINED__
|
|
|
|
/* interface IOPMVideoOutput */
|
|
/* [local][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IOPMVideoOutput;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("0A15159D-41C7-4456-93E1-284CD61D4E8D")
|
|
IOPMVideoOutput : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE StartInitialization(
|
|
/* [annotation][out] */
|
|
__out OPM_RANDOM_NUMBER *prnRandomNumber,
|
|
/* [annotation][out] */
|
|
__deref_out_bcount(*pulCertificateLength) BYTE **ppbCertificate,
|
|
/* [annotation][out] */
|
|
__out ULONG *pulCertificateLength) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE FinishInitialization(
|
|
/* [annotation][in] */
|
|
__in const OPM_ENCRYPTED_INITIALIZATION_PARAMETERS *pParameters) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetInformation(
|
|
/* [annotation][in] */
|
|
__in const OPM_GET_INFO_PARAMETERS *pParameters,
|
|
/* [annotation][out] */
|
|
__out OPM_REQUESTED_INFORMATION *pRequestedInformation) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE COPPCompatibleGetInformation(
|
|
/* [annotation][in] */
|
|
__in const OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS *pParameters,
|
|
/* [annotation][out] */
|
|
__out OPM_REQUESTED_INFORMATION *pRequestedInformation) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Configure(
|
|
/* [annotation][in] */
|
|
__in const OPM_CONFIGURE_PARAMETERS *pParameters,
|
|
/* [annotation][in] */
|
|
__in ULONG ulAdditionalParametersSize,
|
|
/* [annotation][in] */
|
|
__in_bcount_opt(ulAdditionalParametersSize) const BYTE *pbAdditionalParameters) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IOPMVideoOutputVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IOPMVideoOutput * This,
|
|
/* [in] */ REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IOPMVideoOutput * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IOPMVideoOutput * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *StartInitialization )(
|
|
IOPMVideoOutput * This,
|
|
/* [annotation][out] */
|
|
__out OPM_RANDOM_NUMBER *prnRandomNumber,
|
|
/* [annotation][out] */
|
|
__deref_out_bcount(*pulCertificateLength) BYTE **ppbCertificate,
|
|
/* [annotation][out] */
|
|
__out ULONG *pulCertificateLength);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *FinishInitialization )(
|
|
IOPMVideoOutput * This,
|
|
/* [annotation][in] */
|
|
__in const OPM_ENCRYPTED_INITIALIZATION_PARAMETERS *pParameters);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetInformation )(
|
|
IOPMVideoOutput * This,
|
|
/* [annotation][in] */
|
|
__in const OPM_GET_INFO_PARAMETERS *pParameters,
|
|
/* [annotation][out] */
|
|
__out OPM_REQUESTED_INFORMATION *pRequestedInformation);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *COPPCompatibleGetInformation )(
|
|
IOPMVideoOutput * This,
|
|
/* [annotation][in] */
|
|
__in const OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS *pParameters,
|
|
/* [annotation][out] */
|
|
__out OPM_REQUESTED_INFORMATION *pRequestedInformation);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Configure )(
|
|
IOPMVideoOutput * This,
|
|
/* [annotation][in] */
|
|
__in const OPM_CONFIGURE_PARAMETERS *pParameters,
|
|
/* [annotation][in] */
|
|
__in ULONG ulAdditionalParametersSize,
|
|
/* [annotation][in] */
|
|
__in_bcount_opt(ulAdditionalParametersSize) const BYTE *pbAdditionalParameters);
|
|
|
|
END_INTERFACE
|
|
} IOPMVideoOutputVtbl;
|
|
|
|
interface IOPMVideoOutput
|
|
{
|
|
CONST_VTBL struct IOPMVideoOutputVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IOPMVideoOutput_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IOPMVideoOutput_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IOPMVideoOutput_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IOPMVideoOutput_StartInitialization(This,prnRandomNumber,ppbCertificate,pulCertificateLength) \
|
|
( (This)->lpVtbl -> StartInitialization(This,prnRandomNumber,ppbCertificate,pulCertificateLength) )
|
|
|
|
#define IOPMVideoOutput_FinishInitialization(This,pParameters) \
|
|
( (This)->lpVtbl -> FinishInitialization(This,pParameters) )
|
|
|
|
#define IOPMVideoOutput_GetInformation(This,pParameters,pRequestedInformation) \
|
|
( (This)->lpVtbl -> GetInformation(This,pParameters,pRequestedInformation) )
|
|
|
|
#define IOPMVideoOutput_COPPCompatibleGetInformation(This,pParameters,pRequestedInformation) \
|
|
( (This)->lpVtbl -> COPPCompatibleGetInformation(This,pParameters,pRequestedInformation) )
|
|
|
|
#define IOPMVideoOutput_Configure(This,pParameters,ulAdditionalParametersSize,pbAdditionalParameters) \
|
|
( (This)->lpVtbl -> Configure(This,pParameters,ulAdditionalParametersSize,pbAdditionalParameters) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IOPMVideoOutput_INTERFACE_DEFINED__ */
|
|
|
|
|
|
/* interface __MIDL_itf_opmapi_0000_0001 */
|
|
/* [local] */
|
|
|
|
#ifdef DEFINE_GUIDSTRUCT
|
|
#define STATIC_KSPROPSETID_OPMVideoOutput \
|
|
0x6f414bb, 0xf43a, 0x4fe2, 0xa5, 0x66, 0x77, 0x4b, 0x4c, 0x81, 0xf0, 0xdb
|
|
DEFINE_GUIDSTRUCT("06F414BB-F43A-4fe2-A566-774B4C81F0DB", KSPROPSETID_OPMVideoOutput);
|
|
#define KSPROPSETID_OPMVideoOutput DEFINE_GUIDNAMED(KSPROPSETID_OPMVideoOutput)
|
|
|
|
typedef enum {
|
|
// Output is OPM_RANDOM_NUMBER followed by certifiate
|
|
KSMETHOD_OPMVIDEOOUTPUT_STARTINITIALIZATION = 0,
|
|
|
|
// Input OPM_ENCRYPTED_INITIALIZATION_PARAMETERS
|
|
// Output OPM_STANDARD_INFORMATION
|
|
KSMETHOD_OPMVIDEOOUTPUT_FINISHINITIALIZATION = 1,
|
|
|
|
// Input is OPM_GET_INFO_PARAMETERS, output is OPM_REQUESTED_INFORMATION
|
|
// Use KsMethod - both input and output in the buffer (not after the KSMETHOD structure)
|
|
KSMETHOD_OPMVIDEOOUTPUT_GETINFORMATION = 2
|
|
} KSMETHOD_OPMVIDEOOUTPUT;
|
|
#endif
|
|
#define GetBusType( ulBusTypeAndImplementation ) ((ulBusTypeAndImplementation) & OPM_BUS_TYPE_MASK)
|
|
#define GetBusImplementation( ulBusTypeAndImplementation ) (((ulBusTypeAndImplementation) & OPM_BUS_IMPLEMENTATION_MODIFIER_MASK) >> 16)
|
|
#define IsNonStandardBusImplementation( ulBusTypeAndImplementation ) ((ulBusTypeAndImplementation) & OPM_BUS_IMPLEMENTATION_MODIFIER_NON_STANDARD)
|
|
STDAPI OPMGetVideoOutputsFromHMONITOR(
|
|
__in HMONITOR hMonitor,
|
|
__in OPM_VIDEO_OUTPUT_SEMANTICS vos,
|
|
__out ULONG* pulNumVideoOutputs,
|
|
__deref_out_ecount(*pulNumVideoOutputs) IOPMVideoOutput*** pppOPMVideoOutputArray
|
|
);
|
|
#ifndef DO_NOT_USE_DIRECTX_OR_DXVA2
|
|
STDAPI OPMGetVideoOutputsFromIDirect3DDevice9Object(
|
|
__in IDirect3DDevice9* pDirect3DDevice9,
|
|
__in OPM_VIDEO_OUTPUT_SEMANTICS vos,
|
|
__out ULONG* pulNumVideoOutputs,
|
|
__deref_out_ecount(*pulNumVideoOutputs) IOPMVideoOutput*** pppOPMVideoOutputArray
|
|
);
|
|
#endif // DO_NOT_USE_DIRECTX_OR_DXVA2
|
|
#pragma pack( pop )
|
|
#endif // OPM_API_DEFINED
|
|
|
|
|
|
extern RPC_IF_HANDLE __MIDL_itf_opmapi_0000_0001_v0_0_c_ifspec;
|
|
extern RPC_IF_HANDLE __MIDL_itf_opmapi_0000_0001_v0_0_s_ifspec;
|
|
|
|
/* Additional Prototypes for ALL interfaces */
|
|
|
|
/* end of Additional Prototypes */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|