| 1 | /** | 
 
 
 
 
 | 2 | * This file has no copyright assigned and is placed in the Public Domain. | 
 
 
 
 
 | 3 | * This file is part of the mingw-w64 runtime package. | 
 
 
 
 
 | 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | 
 
 
 
 
 | 5 | */ | 
 
 
 
 
 | 6 | #ifndef _INC_OPMAPI | 
 
 
 
 
 | 7 | #define _INC_OPMAPI | 
 
 
 
 
 | 8 |  | 
 
 
 
 
 | 9 | #include <dxva2api.h> | 
 
 
 
 
 | 10 |  | 
 
 
 
 
 | 11 | #define OPM_OMAC_SIZE                                16 | 
 
 
 
 
 | 12 | #define OPM_CONFIGURE_SETTING_DATA_SIZE              4056 | 
 
 
 
 
 | 13 | #define OPM_REQUESTED_INFORMATION_SIZE               4076 | 
 
 
 
 
 | 14 | #define OPM_ENCRYPTED_INITIALIZATION_PARAMETERS_SIZE 256 | 
 
 
 
 
 | 15 | #define OPM_GET_INFORMATION_PARAMETERS_SIZE          4056 | 
 
 
 
 
 | 16 | #define OPM_HDCP_KEY_SELECTION_VECTOR_SIZE           5 | 
 
 
 
 
 | 17 | #define OPM_128_BIT_RANDOM_NUMBER_SIZE               16 | 
 
 
 
 
 | 18 |  | 
 
 
 
 
 | 19 | #define OPM_CGMSA_OFF 0x00 | 
 
 
 
 
 | 20 | #define OPM_CGMSA_COPY_FREELY 0x01 | 
 
 
 
 
 | 21 | #define OPM_CGMSA_COPY_NO_MORE 0x02 | 
 
 
 
 
 | 22 | #define OPM_CGMSA_COPY_ONE_GENERATION 0x03 | 
 
 
 
 
 | 23 | #define OPM_CGMSA_COPY_NEVER 0x04 | 
 
 
 
 
 | 24 | #define OPM_CGMSA_REDISTRIBUTION_CONTROL_REQUIRED 0x08 | 
 
 
 
 
 | 25 |  | 
 
 
 
 
 | 26 | #define OPM_PROTECTION_STANDARD_OTHER 0x80000000 | 
 
 
 
 
 | 27 | #define OPM_PROTECTION_STANDARD_NONE 0x00000000 | 
 
 
 
 
 | 28 | #define OPM_PROTECTION_STANDARD_IEC61880_525I 0x00000001 | 
 
 
 
 
 | 29 | #define OPM_PROTECTION_STANDARD_IEC61880_2_525I 0x00000002 | 
 
 
 
 
 | 30 | #define OPM_PROTECTION_STANDARD_IEC62375_625P 0x00000004 | 
 
 
 
 
 | 31 | #define OPM_PROTECTION_STANDARD_EIA608B_525 0x00000008 | 
 
 
 
 
 | 32 | #define OPM_PROTECTION_STANDARD_EN300294_625I 0x00000010 | 
 
 
 
 
 | 33 | #define OPM_PROTECTION_STANDARD_CEA805A_TYPEA_525P 0x00000020 | 
 
 
 
 
 | 34 | #define OPM_PROTECTION_STANDARD_CEA805A_TYPEA_750P 0x00000040 | 
 
 
 
 
 | 35 | #define OPM_PROTECTION_STANDARD_CEA805A_TYPEA_1125I 0x00000080 | 
 
 
 
 
 | 36 | #define OPM_PROTECTION_STANDARD_CEA805A_TYPEB_525P 0x00000100 | 
 
 
 
 
 | 37 | #define OPM_PROTECTION_STANDARD_CEA805A_TYPEB_750P 0x00000200 | 
 
 
 
 
 | 38 | #define OPM_PROTECTION_STANDARD_CEA805A_TYPEB_1125I 0x00000400 | 
 
 
 
 
 | 39 | #define OPM_PROTECTION_STANDARD_ARIBTRB15_525I 0x00000800 | 
 
 
 
 
 | 40 | #define OPM_PROTECTION_STANDARD_ARIBTRB15_525P 0x00001000 | 
 
 
 
 
 | 41 | #define OPM_PROTECTION_STANDARD_ARIBTRB15_750P 0x00002000 | 
 
 
 
 
 | 42 | #define OPM_PROTECTION_STANDARD_ARIBTRB15_1125I 0x00004000 | 
 
 
 
 
 | 43 |  | 
 
 
 
 
 | 44 | #ifdef __cplusplus | 
 
 
 
 
 | 45 | extern "C" { | 
 
 
 
 
 | 46 | #endif | 
 
 
 
 
 | 47 |  | 
 
 
 
 
 | 48 | typedef enum _OPM_VIDEO_OUTPUT_SEMANTICS { | 
 
 
 
 
 | 49 | OPM_VOS_COPP_SEMANTICS   = 0, | 
 
 
 
 
 | 50 | OPM_VOS_OPM_SEMANTICS    = 1 | 
 
 
 
 
 | 51 | } OPM_VIDEO_OUTPUT_SEMANTICS; | 
 
 
 
 
 | 52 |  | 
 
 
 
 
 | 53 | typedef enum _OPM_ACP_PROTECTION_LEVEL { | 
 
 
 
 
 | 54 | OPM_ACP_OFF           = 0, | 
 
 
 
 
 | 55 | OPM_ACP_LEVEL_ONE     = 1, | 
 
 
 
 
 | 56 | OPM_ACP_LEVEL_TWO     = 2, | 
 
 
 
 
 | 57 | OPM_ACP_LEVEL_THREE   = 3, | 
 
 
 
 
 | 58 | OPM_ACP_FORCE_ULONG   = 0x7fffffff | 
 
 
 
 
 | 59 | } OPM_ACP_PROTECTION_LEVEL; | 
 
 
 
 
 | 60 |  | 
 
 
 
 
 | 61 | typedef enum _OPM_DPCP_PROTECTION_LEVEL { | 
 
 
 
 
 | 62 | OPM_DPCP_OFF           = 0, | 
 
 
 
 
 | 63 | OPM_DPCP_ON            = 1, | 
 
 
 
 
 | 64 | OPM_DPCP_FORCE_ULONG   = 0x7fffffff | 
 
 
 
 
 | 65 | } OPM_DPCP_PROTECTION_LEVEL; | 
 
 
 
 
 | 66 |  | 
 
 
 
 
 | 67 | typedef enum _OPM_HDCP_PROTECTION_LEVEL { | 
 
 
 
 
 | 68 | OPM_HDCP_OFF           = 0, | 
 
 
 
 
 | 69 | OPM_HDCP_ON            = 1, | 
 
 
 
 
 | 70 | OPM_HDCP_FORCE_ULONG   = 0x7fffffff | 
 
 
 
 
 | 71 | } OPM_HDCP_PROTECTION_LEVEL; | 
 
 
 
 
 | 72 |  | 
 
 
 
 
 | 73 | typedef enum _OPM_IMAGE_ASPECT_RATIO_EN300294 { | 
 
 
 
 
 | 74 | OPM_ASPECT_RATIO_EN300294_FULL_FORMAT_4_BY_3                    = 0, | 
 
 
 
 
 | 75 | OPM_ASPECT_RATIO_EN300294_BOX_14_BY_9_CENTER                    = 1, | 
 
 
 
 
 | 76 | OPM_ASPECT_RATIO_EN300294_BOX_14_BY_9_TOP                       = 2, | 
 
 
 
 
 | 77 | OPM_ASPECT_RATIO_EN300294_BOX_16_BY_9_CENTER                    = 3, | 
 
 
 
 
 | 78 | OPM_ASPECT_RATIO_EN300294_BOX_16_BY_9_TOP                       = 4, | 
 
 
 
 
 | 79 | OPM_ASPECT_RATIO_EN300294_BOX_GT_16_BY_9_CENTER                 = 5, | 
 
 
 
 
 | 80 | OPM_ASPECT_RATIO_EN300294_FULL_FORMAT_4_BY_3_PROTECTED_CENTER   = 6, | 
 
 
 
 
 | 81 | OPM_ASPECT_RATIO_EN300294_FULL_FORMAT_16_BY_9_ANAMORPHIC        = 7, | 
 
 
 
 
 | 82 | OPM_ASPECT_RATIO_FORCE_ULONG                                    = 0x7FFFFFFF | 
 
 
 
 
 | 83 | } OPM_IMAGE_ASPECT_RATIO_EN300294; | 
 
 
 
 
 | 84 |  | 
 
 
 
 
 | 85 | typedef struct _OPM_OMAC { | 
 
 
 
 
 | 86 | BYTE abOMAC[OPM_OMAC_SIZE]; | 
 
 
 
 
 | 87 | } OPM_OMAC; | 
 
 
 
 
 | 88 |  | 
 
 
 
 
 | 89 | typedef struct _OPM_REQUESTED_INFORMATION { | 
 
 
 
 
 | 90 | OPM_OMAC omac; | 
 
 
 
 
 | 91 | ULONG    cbRequestedInformationSize; | 
 
 
 
 
 | 92 | BYTE     abRequestedInformation[OPM_REQUESTED_INFORMATION_SIZE]; | 
 
 
 
 
 | 93 | } OPM_REQUESTED_INFORMATION; | 
 
 
 
 
 | 94 |  | 
 
 
 
 
 | 95 | typedef struct _OPM_ENCRYPTED_INITIALIZATION_PARAMETERS { | 
 
 
 
 
 | 96 | BYTE abEncryptedInitializationParameters[OPM_ENCRYPTED_INITIALIZATION_PARAMETERS_SIZE]; | 
 
 
 
 
 | 97 | } OPM_ENCRYPTED_INITIALIZATION_PARAMETERS; | 
 
 
 
 
 | 98 |  | 
 
 
 
 
 | 99 | typedef struct _OPM_RANDOM_NUMBER { | 
 
 
 
 
 | 100 | BYTE abRandomNumber[OPM_128_BIT_RANDOM_NUMBER_SIZE]; | 
 
 
 
 
 | 101 | } OPM_RANDOM_NUMBER; | 
 
 
 
 
 | 102 |  | 
 
 
 
 
 | 103 | typedef struct _OPM_GET_INFO_PARAMETERS { | 
 
 
 
 
 | 104 | OPM_OMAC          omac; | 
 
 
 
 
 | 105 | OPM_RANDOM_NUMBER rnRandomNumber; | 
 
 
 
 
 | 106 | GUID              guidInformation; | 
 
 
 
 
 | 107 | ULONG             ulSequenceNumber; | 
 
 
 
 
 | 108 | ULONG             cbParametersSize; | 
 
 
 
 
 | 109 | BYTE              abParameters[OPM_GET_INFORMATION_PARAMETERS_SIZE]; | 
 
 
 
 
 | 110 | } OPM_GET_INFO_PARAMETERS; | 
 
 
 
 
 | 111 |  | 
 
 
 
 
 | 112 | typedef struct _OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS { | 
 
 
 
 
 | 113 | OPM_RANDOM_NUMBER rnRandomNumber; | 
 
 
 
 
 | 114 | GUID              guidInformation; | 
 
 
 
 
 | 115 | ULONG             ulSequenceNumber; | 
 
 
 
 
 | 116 | ULONG             cbParametersSize; | 
 
 
 
 
 | 117 | BYTE              abParameters[OPM_GET_INFORMATION_PARAMETERS_SIZE]; | 
 
 
 
 
 | 118 | } OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS; | 
 
 
 
 
 | 119 |  | 
 
 
 
 
 | 120 | typedef struct _OPM_ACP_AND_CGMSA_SIGNALING { | 
 
 
 
 
 | 121 | OPM_RANDOM_NUMBER rnRandomNumber; | 
 
 
 
 
 | 122 | ULONG             ulStatusFlags; | 
 
 
 
 
 | 123 | ULONG             ulAvailableTVProtectionStandards; | 
 
 
 
 
 | 124 | ULONG             ulActiveTVProtectionStandard; | 
 
 
 
 
 | 125 | ULONG             ulReserved; | 
 
 
 
 
 | 126 | ULONG             ulAspectRatioValidMask1; | 
 
 
 
 
 | 127 | ULONG             ulAspectRatioData1; | 
 
 
 
 
 | 128 | ULONG             ulAspectRatioValidMask2; | 
 
 
 
 
 | 129 | ULONG             ulAspectRatioData2; | 
 
 
 
 
 | 130 | ULONG             ulAspectRatioValidMask3; | 
 
 
 
 
 | 131 | ULONG             ulAspectRatioData3; | 
 
 
 
 
 | 132 | ULONG             ulReserved2[4]; | 
 
 
 
 
 | 133 | ULONG             ulReserved3[4]; | 
 
 
 
 
 | 134 | } OPM_ACP_AND_CGMSA_SIGNALING; | 
 
 
 
 
 | 135 |  | 
 
 
 
 
 | 136 | typedef struct _OPM_ACTUAL_OUTPUT_FORMAT { | 
 
 
 
 
 | 137 | OPM_RANDOM_NUMBER  rnRandomNumber; | 
 
 
 
 
 | 138 | ULONG              ulStatusFlags; | 
 
 
 
 
 | 139 | ULONG              ulDisplayWidth; | 
 
 
 
 
 | 140 | ULONG              ulDisplayHeight; | 
 
 
 
 
 | 141 | DXVA2_SampleFormat dsfSampleInterleaveFormat; | 
 
 
 
 
 | 142 | D3DFORMAT          d3dFormat; | 
 
 
 
 
 | 143 | ULONG              ulFrequencyNumerator; | 
 
 
 
 
 | 144 | ULONG              ulFrequencyDenominator; | 
 
 
 
 
 | 145 | } OPM_ACTUAL_OUTPUT_FORMAT; | 
 
 
 
 
 | 146 |  | 
 
 
 
 
 | 147 | typedef struct _OPM_CONFIGURE_PARAMETERS { | 
 
 
 
 
 | 148 | OPM_OMAC omac; | 
 
 
 
 
 | 149 | GUID     guidSetting; | 
 
 
 
 
 | 150 | ULONG    ulSequenceNumber; | 
 
 
 
 
 | 151 | ULONG    cbParametersSize; | 
 
 
 
 
 | 152 | BYTE     abParameters[OPM_CONFIGURE_SETTING_DATA_SIZE]; | 
 
 
 
 
 | 153 | } OPM_CONFIGURE_PARAMETERS; | 
 
 
 
 
 | 154 |  | 
 
 
 
 
 | 155 | typedef struct _OPM_HDCP_KEY_SELECTION_VECTOR { | 
 
 
 
 
 | 156 | BYTE abKeySelectionVector[OPM_HDCP_KEY_SELECTION_VECTOR_SIZE]; | 
 
 
 
 
 | 157 | } OPM_HDCP_KEY_SELECTION_VECTOR; | 
 
 
 
 
 | 158 |  | 
 
 
 
 
 | 159 | #define OPM_HDCP_FLAG_NONE 0x00 | 
 
 
 
 
 | 160 | #define OPM_HDCP_FLAG_REPEATER 0x01 | 
 
 
 
 
 | 161 |  | 
 
 
 
 
 | 162 | typedef struct _OPM_CONNECTED_HDCP_DEVICE_INFORMATION { | 
 
 
 
 
 | 163 | OPM_RANDOM_NUMBER             rnRandomNumber; | 
 
 
 
 
 | 164 | ULONG                         ulStatusFlags; | 
 
 
 
 
 | 165 | ULONG                         ulHDCPFlags; | 
 
 
 
 
 | 166 | OPM_HDCP_KEY_SELECTION_VECTOR ksvB; | 
 
 
 
 
 | 167 | BYTE                          Reserved[11]; | 
 
 
 
 
 | 168 | BYTE                          Reserved2[16]; | 
 
 
 
 
 | 169 | BYTE                          Reserved3[16]; | 
 
 
 
 
 | 170 | } OPM_CONNECTED_HDCP_DEVICE_INFORMATION; | 
 
 
 
 
 | 171 |  | 
 
 
 
 
 | 172 | typedef struct _OPM_OUTPUT_ID_DATA { | 
 
 
 
 
 | 173 | OPM_RANDOM_NUMBER rnRandomNumber; | 
 
 
 
 
 | 174 | ULONG             ulStatusFlags; | 
 
 
 
 
 | 175 | UINT64            OutputId; | 
 
 
 
 
 | 176 | } OPM_OUTPUT_ID_DATA; | 
 
 
 
 
 | 177 |  | 
 
 
 
 
 | 178 | typedef struct _OPM_SET_ACP_AND_CGMSA_SIGNALING_PARAMETERS { | 
 
 
 
 
 | 179 | ULONG ulNewTVProtectionStandard; | 
 
 
 
 
 | 180 | ULONG ulAspectRatioChangeMask1; | 
 
 
 
 
 | 181 | ULONG ulAspectRatioData1; | 
 
 
 
 
 | 182 | ULONG ulAspectRatioChangeMask2; | 
 
 
 
 
 | 183 | ULONG ulAspectRatioData2; | 
 
 
 
 
 | 184 | ULONG ulAspectRatioChangeMask3; | 
 
 
 
 
 | 185 | ULONG ulAspectRatioData3; | 
 
 
 
 
 | 186 | ULONG ulReserved[4]; | 
 
 
 
 
 | 187 | ULONG ulReserved2[4]; | 
 
 
 
 
 | 188 | ULONG ulReserved3; | 
 
 
 
 
 | 189 | } OPM_SET_ACP_AND_CGMSA_SIGNALING_PARAMETERS; | 
 
 
 
 
 | 190 |  | 
 
 
 
 
 | 191 | typedef struct _OPM_SET_HDCP_SRM_PARAMETERS { | 
 
 
 
 
 | 192 | ULONG ulSRMVersion; | 
 
 
 
 
 | 193 | } OPM_SET_HDCP_SRM_PARAMETERS; | 
 
 
 
 
 | 194 |  | 
 
 
 
 
 | 195 | typedef struct _OPM_SET_PROTECTION_LEVEL_PARAMETERS { | 
 
 
 
 
 | 196 | ULONG ulProtectionType; | 
 
 
 
 
 | 197 | ULONG ulProtectionLevel; | 
 
 
 
 
 | 198 | ULONG Reserved; | 
 
 
 
 
 | 199 | ULONG Reserved2; | 
 
 
 
 
 | 200 | } OPM_SET_PROTECTION_LEVEL_PARAMETERS; | 
 
 
 
 
 | 201 |  | 
 
 
 
 
 | 202 | typedef struct _OPM_STANDARD_INFORMATION { | 
 
 
 
 
 | 203 | OPM_RANDOM_NUMBER rnRandomNumber; | 
 
 
 
 
 | 204 | ULONG             ulStatusFlags; | 
 
 
 
 
 | 205 | ULONG             ulInformation; | 
 
 
 
 
 | 206 | ULONG             ulReserved; | 
 
 
 
 
 | 207 | ULONG             ulReserved2; | 
 
 
 
 
 | 208 | } OPM_STANDARD_INFORMATION; | 
 
 
 
 
 | 209 |  | 
 
 
 
 
 | 210 | #ifdef __cplusplus | 
 
 
 
 
 | 211 | } | 
 
 
 
 
 | 212 | #endif | 
 
 
 
 
 | 213 |  | 
 
 
 
 
 | 214 | #undef  INTERFACE | 
 
 
 
 
 | 215 | #define INTERFACE IOPMVideoOutput | 
 
 
 
 
 | 216 | DECLARE_INTERFACE_(IOPMVideoOutput,IUnknown) | 
 
 
 
 
 | 217 | { | 
 
 
 
 
 | 218 | BEGIN_INTERFACE | 
 
 
 
 
 | 219 |  | 
 
 
 
 
 | 220 | /* IUnknown methods */ | 
 
 
 
 
 | 221 | STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; | 
 
 
 
 
 | 222 | STDMETHOD_(ULONG, AddRef)(THIS) PURE; | 
 
 
 
 
 | 223 | STDMETHOD_(ULONG, Release)(THIS) PURE; | 
 
 
 
 
 | 224 |  | 
 
 
 
 
 | 225 | /* IOPMVideoOutput methods */ | 
 
 
 
 
 | 226 | STDMETHOD_(HRESULT,StartInitialization)(THIS_ OPM_RANDOM_NUMBER *prnRandomNumber,BYTE **ppbCertificate,ULONG *pulCertificateLength) PURE; | 
 
 
 
 
 | 227 | STDMETHOD_(HRESULT,FinishInitialization)(THIS_ const OPM_ENCRYPTED_INITIALIZATION_PARAMETERS *pParameters) PURE; | 
 
 
 
 
 | 228 | STDMETHOD_(HRESULT,GetInformation)(THIS_ const OPM_GET_INFO_PARAMETERS *pParameters,OPM_REQUESTED_INFORMATION *pRequestedInformation) PURE; | 
 
 
 
 
 | 229 | STDMETHOD_(HRESULT,COPPCompatibleGetInformation)(THIS_ const OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS *pParameters,OPM_REQUESTED_INFORMATION *pRequestedInformation) PURE; | 
 
 
 
 
 | 230 | STDMETHOD_(HRESULT,Configure)(THIS_ const OPM_CONFIGURE_PARAMETERS *pParameters,ULONG ulAdditionalParametersSize,const BYTE *pbAdditionalParameters) PURE; | 
 
 
 
 
 | 231 |  | 
 
 
 
 
 | 232 | END_INTERFACE | 
 
 
 
 
 | 233 | }; | 
 
 
 
 
 | 234 | #ifdef COBJMACROS | 
 
 
 
 
 | 235 | #define IOPMVideoOutput_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
 
 
 
 
 | 236 | #define IOPMVideoOutput_AddRef(This) (This)->lpVtbl->AddRef(This) | 
 
 
 
 
 | 237 | #define IOPMVideoOutput_Release(This) (This)->lpVtbl->Release(This) | 
 
 
 
 
 | 238 | #define IOPMVideoOutput_Configure(This,pParameters,ulAdditionalParametersSize,pbAdditionalParameters) (This)->lpVtbl->Configure(This,pParameters,ulAdditionalParametersSize,pbAdditionalParameters) | 
 
 
 
 
 | 239 | #define IOPMVideoOutput_COPPCompatibleGetInformation(This,pParameters,pRequestedInformation) (This)->lpVtbl->COPPCompatibleGetInformation(This,pParameters,pRequestedInformation) | 
 
 
 
 
 | 240 | #define IOPMVideoOutput_FinishInitialization(This,pParameters) (This)->lpVtbl->FinishInitialization(This,pParameters) | 
 
 
 
 
 | 241 | #define IOPMVideoOutput_GetInformation(This,pParameters,pRequestedInformation) (This)->lpVtbl->GetInformation(This,pParameters,pRequestedInformation) | 
 
 
 
 
 | 242 | #define IOPMVideoOutput_StartInitialization(This,prnRandomNumber,ppbCertificate,pulCertificateLength) (This)->lpVtbl->StartInitialization(This,prnRandomNumber,ppbCertificate,pulCertificateLength) | 
 
 
 
 
 | 243 | #endif /*COBJMACROS*/ | 
 
 
 
 
 | 244 |  | 
 
 
 
 
 | 245 | #ifdef __cplusplus | 
 
 
 
 
 | 246 | extern "C" { | 
 
 
 
 
 | 247 | #endif | 
 
 
 
 
 | 248 |  | 
 
 
 
 
 | 249 | HRESULT WINAPI OPMGetVideoOutputsFromHMONITOR( | 
 
 
 
 
 | 250 | HMONITOR hMonitor, | 
 
 
 
 
 | 251 | OPM_VIDEO_OUTPUT_SEMANTICS vos, | 
 
 
 
 
 | 252 | ULONG *pulNumVideoOutputs, | 
 
 
 
 
 | 253 | IOPMVideoOutput ***pppOPMVideoOutputArray | 
 
 
 
 
 | 254 | ); | 
 
 
 
 
 | 255 |  | 
 
 
 
 
 | 256 | HRESULT WINAPI OPMGetVideoOutputsFromIDirect3DDevice9Object( | 
 
 
 
 
 | 257 | IDirect3DDevice9 *pDirect3DDevice9, | 
 
 
 
 
 | 258 | OPM_VIDEO_OUTPUT_SEMANTICS vos, | 
 
 
 
 
 | 259 | ULONG *pulNumVideoOutputs, | 
 
 
 
 
 | 260 | IOPMVideoOutput ***pppOPMVideoOutputArray | 
 
 
 
 
 | 261 | ); | 
 
 
 
 
 | 262 |  | 
 
 
 
 
 | 263 | typedef struct _OPM_GET_CODEC_INFO_INFORMATION { | 
 
 
 
 
 | 264 | OPM_RANDOM_NUMBER rnRandomNumber; | 
 
 
 
 
 | 265 | DWORD             Merit; | 
 
 
 
 
 | 266 | } OPM_GET_CODEC_INFO_INFORMATION; | 
 
 
 
 
 | 267 |  | 
 
 
 
 
 | 268 | typedef struct _OPM_GET_CODEC_INFO_PARAMETERS { | 
 
 
 
 
 | 269 | DWORD cbVerifier; | 
 
 
 
 
 | 270 | BYTE  Verifier[OPM_GET_INFORMATION_PARAMETERS_SIZE - 4]; | 
 
 
 
 
 | 271 | } OPM_GET_CODEC_INFO_PARAMETERS; | 
 
 
 
 
 | 272 |  | 
 
 
 
 
 | 273 | #ifdef __cplusplus | 
 
 
 
 
 | 274 | } | 
 
 
 
 
 | 275 | #endif | 
 
 
 
 
 | 276 |  | 
 
 
 
 
 | 277 | #endif /*_INC_OPMAPI*/ | 
 
 
 
 
 | 278 |  |