Home | History | Annotate | Download | only in include
      1 /*** Autogenerated by WIDL 1.6 from include/msopc.idl - Do not edit ***/
      2 
      3 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      4 #define __REQUIRED_RPCNDR_H_VERSION__ 475
      5 #endif
      6 
      7 #include <rpc.h>
      8 #include <rpcndr.h>
      9 
     10 #ifndef COM_NO_WINDOWS_H
     11 #include <windows.h>
     12 #include <ole2.h>
     13 #endif
     14 
     15 #ifndef __msopc_h__
     16 #define __msopc_h__
     17 
     18 /* Forward declarations */
     19 
     20 #ifndef __IOpcUri_FWD_DEFINED__
     21 #define __IOpcUri_FWD_DEFINED__
     22 typedef interface IOpcUri IOpcUri;
     23 #endif
     24 
     25 #ifndef __IOpcPartUri_FWD_DEFINED__
     26 #define __IOpcPartUri_FWD_DEFINED__
     27 typedef interface IOpcPartUri IOpcPartUri;
     28 #endif
     29 
     30 #ifndef __IOpcPart_FWD_DEFINED__
     31 #define __IOpcPart_FWD_DEFINED__
     32 typedef interface IOpcPart IOpcPart;
     33 #endif
     34 
     35 #ifndef __IOpcPartEnumerator_FWD_DEFINED__
     36 #define __IOpcPartEnumerator_FWD_DEFINED__
     37 typedef interface IOpcPartEnumerator IOpcPartEnumerator;
     38 #endif
     39 
     40 #ifndef __IOpcPartSet_FWD_DEFINED__
     41 #define __IOpcPartSet_FWD_DEFINED__
     42 typedef interface IOpcPartSet IOpcPartSet;
     43 #endif
     44 
     45 #ifndef __IOpcPackage_FWD_DEFINED__
     46 #define __IOpcPackage_FWD_DEFINED__
     47 typedef interface IOpcPackage IOpcPackage;
     48 #endif
     49 
     50 #ifndef __IOpcRelationship_FWD_DEFINED__
     51 #define __IOpcRelationship_FWD_DEFINED__
     52 typedef interface IOpcRelationship IOpcRelationship;
     53 #endif
     54 
     55 #ifndef __IOpcRelationshipEnumerator_FWD_DEFINED__
     56 #define __IOpcRelationshipEnumerator_FWD_DEFINED__
     57 typedef interface IOpcRelationshipEnumerator IOpcRelationshipEnumerator;
     58 #endif
     59 
     60 #ifndef __IOpcRelationshipSelector_FWD_DEFINED__
     61 #define __IOpcRelationshipSelector_FWD_DEFINED__
     62 typedef interface IOpcRelationshipSelector IOpcRelationshipSelector;
     63 #endif
     64 
     65 #ifndef __IOpcRelationshipSet_FWD_DEFINED__
     66 #define __IOpcRelationshipSet_FWD_DEFINED__
     67 typedef interface IOpcRelationshipSet IOpcRelationshipSet;
     68 #endif
     69 
     70 #ifndef __IOpcSignatureCustomObject_FWD_DEFINED__
     71 #define __IOpcSignatureCustomObject_FWD_DEFINED__
     72 typedef interface IOpcSignatureCustomObject IOpcSignatureCustomObject;
     73 #endif
     74 
     75 #ifndef __IOpcSignatureCustomObjectEnumerator_FWD_DEFINED__
     76 #define __IOpcSignatureCustomObjectEnumerator_FWD_DEFINED__
     77 typedef interface IOpcSignatureCustomObjectEnumerator IOpcSignatureCustomObjectEnumerator;
     78 #endif
     79 
     80 #ifndef __IOpcSignaturePartReference_FWD_DEFINED__
     81 #define __IOpcSignaturePartReference_FWD_DEFINED__
     82 typedef interface IOpcSignaturePartReference IOpcSignaturePartReference;
     83 #endif
     84 
     85 #ifndef __IOpcSignaturePartReferenceEnumerator_FWD_DEFINED__
     86 #define __IOpcSignaturePartReferenceEnumerator_FWD_DEFINED__
     87 typedef interface IOpcSignaturePartReferenceEnumerator IOpcSignaturePartReferenceEnumerator;
     88 #endif
     89 
     90 #ifndef __IOpcSignatureReference_FWD_DEFINED__
     91 #define __IOpcSignatureReference_FWD_DEFINED__
     92 typedef interface IOpcSignatureReference IOpcSignatureReference;
     93 #endif
     94 
     95 #ifndef __IOpcSignatureReferenceEnumerator_FWD_DEFINED__
     96 #define __IOpcSignatureReferenceEnumerator_FWD_DEFINED__
     97 typedef interface IOpcSignatureReferenceEnumerator IOpcSignatureReferenceEnumerator;
     98 #endif
     99 
    100 #ifndef __IOpcSignatureRelationshipReferenceEnumerator_FWD_DEFINED__
    101 #define __IOpcSignatureRelationshipReferenceEnumerator_FWD_DEFINED__
    102 typedef interface IOpcSignatureRelationshipReferenceEnumerator IOpcSignatureRelationshipReferenceEnumerator;
    103 #endif
    104 
    105 #ifndef __IOpcSignatureRelationshipReference_FWD_DEFINED__
    106 #define __IOpcSignatureRelationshipReference_FWD_DEFINED__
    107 typedef interface IOpcSignatureRelationshipReference IOpcSignatureRelationshipReference;
    108 #endif
    109 
    110 #ifndef __IOpcRelationshipSelectorEnumerator_FWD_DEFINED__
    111 #define __IOpcRelationshipSelectorEnumerator_FWD_DEFINED__
    112 typedef interface IOpcRelationshipSelectorEnumerator IOpcRelationshipSelectorEnumerator;
    113 #endif
    114 
    115 #ifndef __IOpcCertificateEnumerator_FWD_DEFINED__
    116 #define __IOpcCertificateEnumerator_FWD_DEFINED__
    117 typedef interface IOpcCertificateEnumerator IOpcCertificateEnumerator;
    118 #endif
    119 
    120 #ifndef __IOpcCertificateSet_FWD_DEFINED__
    121 #define __IOpcCertificateSet_FWD_DEFINED__
    122 typedef interface IOpcCertificateSet IOpcCertificateSet;
    123 #endif
    124 
    125 #ifndef __IOpcDigitalSignatureEnumerator_FWD_DEFINED__
    126 #define __IOpcDigitalSignatureEnumerator_FWD_DEFINED__
    127 typedef interface IOpcDigitalSignatureEnumerator IOpcDigitalSignatureEnumerator;
    128 #endif
    129 
    130 #ifndef __IOpcDigitalSignatureManager_FWD_DEFINED__
    131 #define __IOpcDigitalSignatureManager_FWD_DEFINED__
    132 typedef interface IOpcDigitalSignatureManager IOpcDigitalSignatureManager;
    133 #endif
    134 
    135 #ifndef __IOpcSignaturePartReferenceSet_FWD_DEFINED__
    136 #define __IOpcSignaturePartReferenceSet_FWD_DEFINED__
    137 typedef interface IOpcSignaturePartReferenceSet IOpcSignaturePartReferenceSet;
    138 #endif
    139 
    140 #ifndef __IOpcRelationshipSelectorSet_FWD_DEFINED__
    141 #define __IOpcRelationshipSelectorSet_FWD_DEFINED__
    142 typedef interface IOpcRelationshipSelectorSet IOpcRelationshipSelectorSet;
    143 #endif
    144 
    145 #ifndef __IOpcSignatureRelationshipReferenceSet_FWD_DEFINED__
    146 #define __IOpcSignatureRelationshipReferenceSet_FWD_DEFINED__
    147 typedef interface IOpcSignatureRelationshipReferenceSet IOpcSignatureRelationshipReferenceSet;
    148 #endif
    149 
    150 #ifndef __IOpcSignatureReferenceSet_FWD_DEFINED__
    151 #define __IOpcSignatureReferenceSet_FWD_DEFINED__
    152 typedef interface IOpcSignatureReferenceSet IOpcSignatureReferenceSet;
    153 #endif
    154 
    155 #ifndef __IOpcSignatureCustomObjectSet_FWD_DEFINED__
    156 #define __IOpcSignatureCustomObjectSet_FWD_DEFINED__
    157 typedef interface IOpcSignatureCustomObjectSet IOpcSignatureCustomObjectSet;
    158 #endif
    159 
    160 #ifndef __IOpcDigitalSignature_FWD_DEFINED__
    161 #define __IOpcDigitalSignature_FWD_DEFINED__
    162 typedef interface IOpcDigitalSignature IOpcDigitalSignature;
    163 #endif
    164 
    165 #ifndef __IOpcSigningOptions_FWD_DEFINED__
    166 #define __IOpcSigningOptions_FWD_DEFINED__
    167 typedef interface IOpcSigningOptions IOpcSigningOptions;
    168 #endif
    169 
    170 #ifndef __IOpcFactory_FWD_DEFINED__
    171 #define __IOpcFactory_FWD_DEFINED__
    172 typedef interface IOpcFactory IOpcFactory;
    173 #endif
    174 
    175 #ifndef __OpcFactory_FWD_DEFINED__
    176 #define __OpcFactory_FWD_DEFINED__
    177 #ifdef __cplusplus
    178 typedef class OpcFactory OpcFactory;
    179 #else
    180 typedef struct OpcFactory OpcFactory;
    181 #endif /* defined __cplusplus */
    182 #endif /* defined __OpcFactory_FWD_DEFINED__ */
    183 
    184 /* Headers for imported files */
    185 
    186 #include <oaidl.h>
    187 #include <ocidl.h>
    188 #include <urlmon.h>
    189 #include <wincrypt.h>
    190 
    191 #ifdef __cplusplus
    192 extern "C" {
    193 #endif
    194 
    195 #include <winapifamily.h>
    196 #if NTDDI_VERSION >= 0x06010000
    197 #ifndef __IOpcUri_FWD_DEFINED__
    198 #define __IOpcUri_FWD_DEFINED__
    199 typedef interface IOpcUri IOpcUri;
    200 #endif
    201 
    202 #ifndef __IOpcPartUri_FWD_DEFINED__
    203 #define __IOpcPartUri_FWD_DEFINED__
    204 typedef interface IOpcPartUri IOpcPartUri;
    205 #endif
    206 
    207 /*****************************************************************************
    208  * IOpcUri interface
    209  */
    210 #ifndef __IOpcUri_INTERFACE_DEFINED__
    211 #define __IOpcUri_INTERFACE_DEFINED__
    212 
    213 DEFINE_GUID(IID_IOpcUri, 0xbc9c1b9b, 0xd62c, 0x49eb, 0xae,0xf0, 0x3b,0x4e,0x0b,0x28,0xeb,0xed);
    214 #if defined(__cplusplus) && !defined(CINTERFACE)
    215 MIDL_INTERFACE("bc9c1b9b-d62c-49eb-aef0-3b4e0b28ebed")
    216 IOpcUri : public IUri
    217 {
    218     virtual HRESULT STDMETHODCALLTYPE GetRelationshipsPartUri(
    219         IOpcPartUri **relationshipPartUri) = 0;
    220 
    221     virtual HRESULT STDMETHODCALLTYPE GetRelativeUri(
    222         IOpcPartUri *targetPartUri,
    223         IUri **relativeUri) = 0;
    224 
    225     virtual HRESULT STDMETHODCALLTYPE CombinePartUri(
    226         IUri *relativeUri,
    227         IOpcPartUri **combinedUri) = 0;
    228 
    229 };
    230 #ifdef __CRT_UUID_DECL
    231 __CRT_UUID_DECL(IOpcUri, 0xbc9c1b9b, 0xd62c, 0x49eb, 0xae,0xf0, 0x3b,0x4e,0x0b,0x28,0xeb,0xed)
    232 #endif
    233 #else
    234 typedef struct IOpcUriVtbl {
    235     BEGIN_INTERFACE
    236 
    237     /*** IUnknown methods ***/
    238     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    239         IOpcUri* This,
    240         REFIID riid,
    241         void **ppvObject);
    242 
    243     ULONG (STDMETHODCALLTYPE *AddRef)(
    244         IOpcUri* This);
    245 
    246     ULONG (STDMETHODCALLTYPE *Release)(
    247         IOpcUri* This);
    248 
    249     /*** IUri methods ***/
    250     HRESULT (STDMETHODCALLTYPE *GetPropertyBSTR)(
    251         IOpcUri* This,
    252         Uri_PROPERTY uriProp,
    253         BSTR *pbstrProperty,
    254         DWORD dwFlags);
    255 
    256     HRESULT (STDMETHODCALLTYPE *GetPropertyLength)(
    257         IOpcUri* This,
    258         Uri_PROPERTY uriProp,
    259         DWORD *pcchProperty,
    260         DWORD dwFlags);
    261 
    262     HRESULT (STDMETHODCALLTYPE *GetPropertyDWORD)(
    263         IOpcUri* This,
    264         Uri_PROPERTY uriProp,
    265         DWORD *pdwProperty,
    266         DWORD dwFlags);
    267 
    268     HRESULT (STDMETHODCALLTYPE *HasProperty)(
    269         IOpcUri* This,
    270         Uri_PROPERTY uriProp,
    271         WINBOOL *pfHasProperty);
    272 
    273     HRESULT (STDMETHODCALLTYPE *GetAbsoluteUri)(
    274         IOpcUri* This,
    275         BSTR *pbstrAbsoluteUri);
    276 
    277     HRESULT (STDMETHODCALLTYPE *GetAuthority)(
    278         IOpcUri* This,
    279         BSTR *pbstrAuthority);
    280 
    281     HRESULT (STDMETHODCALLTYPE *GetDisplayUri)(
    282         IOpcUri* This,
    283         BSTR *pbstrDisplayString);
    284 
    285     HRESULT (STDMETHODCALLTYPE *GetDomain)(
    286         IOpcUri* This,
    287         BSTR *pbstrDomain);
    288 
    289     HRESULT (STDMETHODCALLTYPE *GetExtension)(
    290         IOpcUri* This,
    291         BSTR *pbstrExtension);
    292 
    293     HRESULT (STDMETHODCALLTYPE *GetFragment)(
    294         IOpcUri* This,
    295         BSTR *pbstrFragment);
    296 
    297     HRESULT (STDMETHODCALLTYPE *GetHost)(
    298         IOpcUri* This,
    299         BSTR *pbstrHost);
    300 
    301     HRESULT (STDMETHODCALLTYPE *GetPassword)(
    302         IOpcUri* This,
    303         BSTR *pbstrPassword);
    304 
    305     HRESULT (STDMETHODCALLTYPE *GetPath)(
    306         IOpcUri* This,
    307         BSTR *pbstrPath);
    308 
    309     HRESULT (STDMETHODCALLTYPE *GetPathAndQuery)(
    310         IOpcUri* This,
    311         BSTR *pbstrPathAndQuery);
    312 
    313     HRESULT (STDMETHODCALLTYPE *GetQuery)(
    314         IOpcUri* This,
    315         BSTR *pbstrQuery);
    316 
    317     HRESULT (STDMETHODCALLTYPE *GetRawUri)(
    318         IOpcUri* This,
    319         BSTR *pbstrRawUri);
    320 
    321     HRESULT (STDMETHODCALLTYPE *GetSchemeName)(
    322         IOpcUri* This,
    323         BSTR *pbstrSchemeName);
    324 
    325     HRESULT (STDMETHODCALLTYPE *GetUserInfo)(
    326         IOpcUri* This,
    327         BSTR *pbstrUserInfo);
    328 
    329     HRESULT (STDMETHODCALLTYPE *GetUserName)(
    330         IOpcUri* This,
    331         BSTR *pbstrUserName);
    332 
    333     HRESULT (STDMETHODCALLTYPE *GetHostType)(
    334         IOpcUri* This,
    335         DWORD *pdwHostType);
    336 
    337     HRESULT (STDMETHODCALLTYPE *GetPort)(
    338         IOpcUri* This,
    339         DWORD *pdwPort);
    340 
    341     HRESULT (STDMETHODCALLTYPE *GetScheme)(
    342         IOpcUri* This,
    343         DWORD *pdwScheme);
    344 
    345     HRESULT (STDMETHODCALLTYPE *GetZone)(
    346         IOpcUri* This,
    347         DWORD *pdwZone);
    348 
    349     HRESULT (STDMETHODCALLTYPE *GetProperties)(
    350         IOpcUri* This,
    351         LPDWORD pdwFlags);
    352 
    353     HRESULT (STDMETHODCALLTYPE *IsEqual)(
    354         IOpcUri* This,
    355         IUri *pUri,
    356         WINBOOL *pfEqual);
    357 
    358     /*** IOpcUri methods ***/
    359     HRESULT (STDMETHODCALLTYPE *GetRelationshipsPartUri)(
    360         IOpcUri* This,
    361         IOpcPartUri **relationshipPartUri);
    362 
    363     HRESULT (STDMETHODCALLTYPE *GetRelativeUri)(
    364         IOpcUri* This,
    365         IOpcPartUri *targetPartUri,
    366         IUri **relativeUri);
    367 
    368     HRESULT (STDMETHODCALLTYPE *CombinePartUri)(
    369         IOpcUri* This,
    370         IUri *relativeUri,
    371         IOpcPartUri **combinedUri);
    372 
    373     END_INTERFACE
    374 } IOpcUriVtbl;
    375 interface IOpcUri {
    376     CONST_VTBL IOpcUriVtbl* lpVtbl;
    377 };
    378 
    379 #ifdef COBJMACROS
    380 #ifndef WIDL_C_INLINE_WRAPPERS
    381 /*** IUnknown methods ***/
    382 #define IOpcUri_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    383 #define IOpcUri_AddRef(This) (This)->lpVtbl->AddRef(This)
    384 #define IOpcUri_Release(This) (This)->lpVtbl->Release(This)
    385 /*** IUri methods ***/
    386 #define IOpcUri_GetPropertyBSTR(This,uriProp,pbstrProperty,dwFlags) (This)->lpVtbl->GetPropertyBSTR(This,uriProp,pbstrProperty,dwFlags)
    387 #define IOpcUri_GetPropertyLength(This,uriProp,pcchProperty,dwFlags) (This)->lpVtbl->GetPropertyLength(This,uriProp,pcchProperty,dwFlags)
    388 #define IOpcUri_GetPropertyDWORD(This,uriProp,pdwProperty,dwFlags) (This)->lpVtbl->GetPropertyDWORD(This,uriProp,pdwProperty,dwFlags)
    389 #define IOpcUri_HasProperty(This,uriProp,pfHasProperty) (This)->lpVtbl->HasProperty(This,uriProp,pfHasProperty)
    390 #define IOpcUri_GetAbsoluteUri(This,pbstrAbsoluteUri) (This)->lpVtbl->GetAbsoluteUri(This,pbstrAbsoluteUri)
    391 #define IOpcUri_GetAuthority(This,pbstrAuthority) (This)->lpVtbl->GetAuthority(This,pbstrAuthority)
    392 #define IOpcUri_GetDisplayUri(This,pbstrDisplayString) (This)->lpVtbl->GetDisplayUri(This,pbstrDisplayString)
    393 #define IOpcUri_GetDomain(This,pbstrDomain) (This)->lpVtbl->GetDomain(This,pbstrDomain)
    394 #define IOpcUri_GetExtension(This,pbstrExtension) (This)->lpVtbl->GetExtension(This,pbstrExtension)
    395 #define IOpcUri_GetFragment(This,pbstrFragment) (This)->lpVtbl->GetFragment(This,pbstrFragment)
    396 #define IOpcUri_GetHost(This,pbstrHost) (This)->lpVtbl->GetHost(This,pbstrHost)
    397 #define IOpcUri_GetPassword(This,pbstrPassword) (This)->lpVtbl->GetPassword(This,pbstrPassword)
    398 #define IOpcUri_GetPath(This,pbstrPath) (This)->lpVtbl->GetPath(This,pbstrPath)
    399 #define IOpcUri_GetPathAndQuery(This,pbstrPathAndQuery) (This)->lpVtbl->GetPathAndQuery(This,pbstrPathAndQuery)
    400 #define IOpcUri_GetQuery(This,pbstrQuery) (This)->lpVtbl->GetQuery(This,pbstrQuery)
    401 #define IOpcUri_GetRawUri(This,pbstrRawUri) (This)->lpVtbl->GetRawUri(This,pbstrRawUri)
    402 #define IOpcUri_GetSchemeName(This,pbstrSchemeName) (This)->lpVtbl->GetSchemeName(This,pbstrSchemeName)
    403 #define IOpcUri_GetUserInfo(This,pbstrUserInfo) (This)->lpVtbl->GetUserInfo(This,pbstrUserInfo)
    404 #define IOpcUri_GetUserName(This,pbstrUserName) (This)->lpVtbl->GetUserName(This,pbstrUserName)
    405 #define IOpcUri_GetHostType(This,pdwHostType) (This)->lpVtbl->GetHostType(This,pdwHostType)
    406 #define IOpcUri_GetPort(This,pdwPort) (This)->lpVtbl->GetPort(This,pdwPort)
    407 #define IOpcUri_GetScheme(This,pdwScheme) (This)->lpVtbl->GetScheme(This,pdwScheme)
    408 #define IOpcUri_GetZone(This,pdwZone) (This)->lpVtbl->GetZone(This,pdwZone)
    409 #define IOpcUri_GetProperties(This,pdwFlags) (This)->lpVtbl->GetProperties(This,pdwFlags)
    410 #define IOpcUri_IsEqual(This,pUri,pfEqual) (This)->lpVtbl->IsEqual(This,pUri,pfEqual)
    411 /*** IOpcUri methods ***/
    412 #define IOpcUri_GetRelationshipsPartUri(This,relationshipPartUri) (This)->lpVtbl->GetRelationshipsPartUri(This,relationshipPartUri)
    413 #define IOpcUri_GetRelativeUri(This,targetPartUri,relativeUri) (This)->lpVtbl->GetRelativeUri(This,targetPartUri,relativeUri)
    414 #define IOpcUri_CombinePartUri(This,relativeUri,combinedUri) (This)->lpVtbl->CombinePartUri(This,relativeUri,combinedUri)
    415 #else
    416 /*** IUnknown methods ***/
    417 static FORCEINLINE HRESULT IOpcUri_QueryInterface(IOpcUri* This,REFIID riid,void **ppvObject) {
    418     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    419 }
    420 static FORCEINLINE ULONG IOpcUri_AddRef(IOpcUri* This) {
    421     return This->lpVtbl->AddRef(This);
    422 }
    423 static FORCEINLINE ULONG IOpcUri_Release(IOpcUri* This) {
    424     return This->lpVtbl->Release(This);
    425 }
    426 /*** IUri methods ***/
    427 static FORCEINLINE HRESULT IOpcUri_GetPropertyBSTR(IOpcUri* This,Uri_PROPERTY uriProp,BSTR *pbstrProperty,DWORD dwFlags) {
    428     return This->lpVtbl->GetPropertyBSTR(This,uriProp,pbstrProperty,dwFlags);
    429 }
    430 static FORCEINLINE HRESULT IOpcUri_GetPropertyLength(IOpcUri* This,Uri_PROPERTY uriProp,DWORD *pcchProperty,DWORD dwFlags) {
    431     return This->lpVtbl->GetPropertyLength(This,uriProp,pcchProperty,dwFlags);
    432 }
    433 static FORCEINLINE HRESULT IOpcUri_GetPropertyDWORD(IOpcUri* This,Uri_PROPERTY uriProp,DWORD *pdwProperty,DWORD dwFlags) {
    434     return This->lpVtbl->GetPropertyDWORD(This,uriProp,pdwProperty,dwFlags);
    435 }
    436 static FORCEINLINE HRESULT IOpcUri_HasProperty(IOpcUri* This,Uri_PROPERTY uriProp,WINBOOL *pfHasProperty) {
    437     return This->lpVtbl->HasProperty(This,uriProp,pfHasProperty);
    438 }
    439 static FORCEINLINE HRESULT IOpcUri_GetAbsoluteUri(IOpcUri* This,BSTR *pbstrAbsoluteUri) {
    440     return This->lpVtbl->GetAbsoluteUri(This,pbstrAbsoluteUri);
    441 }
    442 static FORCEINLINE HRESULT IOpcUri_GetAuthority(IOpcUri* This,BSTR *pbstrAuthority) {
    443     return This->lpVtbl->GetAuthority(This,pbstrAuthority);
    444 }
    445 static FORCEINLINE HRESULT IOpcUri_GetDisplayUri(IOpcUri* This,BSTR *pbstrDisplayString) {
    446     return This->lpVtbl->GetDisplayUri(This,pbstrDisplayString);
    447 }
    448 static FORCEINLINE HRESULT IOpcUri_GetDomain(IOpcUri* This,BSTR *pbstrDomain) {
    449     return This->lpVtbl->GetDomain(This,pbstrDomain);
    450 }
    451 static FORCEINLINE HRESULT IOpcUri_GetExtension(IOpcUri* This,BSTR *pbstrExtension) {
    452     return This->lpVtbl->GetExtension(This,pbstrExtension);
    453 }
    454 static FORCEINLINE HRESULT IOpcUri_GetFragment(IOpcUri* This,BSTR *pbstrFragment) {
    455     return This->lpVtbl->GetFragment(This,pbstrFragment);
    456 }
    457 static FORCEINLINE HRESULT IOpcUri_GetHost(IOpcUri* This,BSTR *pbstrHost) {
    458     return This->lpVtbl->GetHost(This,pbstrHost);
    459 }
    460 static FORCEINLINE HRESULT IOpcUri_GetPassword(IOpcUri* This,BSTR *pbstrPassword) {
    461     return This->lpVtbl->GetPassword(This,pbstrPassword);
    462 }
    463 static FORCEINLINE HRESULT IOpcUri_GetPath(IOpcUri* This,BSTR *pbstrPath) {
    464     return This->lpVtbl->GetPath(This,pbstrPath);
    465 }
    466 static FORCEINLINE HRESULT IOpcUri_GetPathAndQuery(IOpcUri* This,BSTR *pbstrPathAndQuery) {
    467     return This->lpVtbl->GetPathAndQuery(This,pbstrPathAndQuery);
    468 }
    469 static FORCEINLINE HRESULT IOpcUri_GetQuery(IOpcUri* This,BSTR *pbstrQuery) {
    470     return This->lpVtbl->GetQuery(This,pbstrQuery);
    471 }
    472 static FORCEINLINE HRESULT IOpcUri_GetRawUri(IOpcUri* This,BSTR *pbstrRawUri) {
    473     return This->lpVtbl->GetRawUri(This,pbstrRawUri);
    474 }
    475 static FORCEINLINE HRESULT IOpcUri_GetSchemeName(IOpcUri* This,BSTR *pbstrSchemeName) {
    476     return This->lpVtbl->GetSchemeName(This,pbstrSchemeName);
    477 }
    478 static FORCEINLINE HRESULT IOpcUri_GetUserInfo(IOpcUri* This,BSTR *pbstrUserInfo) {
    479     return This->lpVtbl->GetUserInfo(This,pbstrUserInfo);
    480 }
    481 static FORCEINLINE HRESULT IOpcUri_GetUserName(IOpcUri* This,BSTR *pbstrUserName) {
    482     return This->lpVtbl->GetUserName(This,pbstrUserName);
    483 }
    484 static FORCEINLINE HRESULT IOpcUri_GetHostType(IOpcUri* This,DWORD *pdwHostType) {
    485     return This->lpVtbl->GetHostType(This,pdwHostType);
    486 }
    487 static FORCEINLINE HRESULT IOpcUri_GetPort(IOpcUri* This,DWORD *pdwPort) {
    488     return This->lpVtbl->GetPort(This,pdwPort);
    489 }
    490 static FORCEINLINE HRESULT IOpcUri_GetScheme(IOpcUri* This,DWORD *pdwScheme) {
    491     return This->lpVtbl->GetScheme(This,pdwScheme);
    492 }
    493 static FORCEINLINE HRESULT IOpcUri_GetZone(IOpcUri* This,DWORD *pdwZone) {
    494     return This->lpVtbl->GetZone(This,pdwZone);
    495 }
    496 static FORCEINLINE HRESULT IOpcUri_GetProperties(IOpcUri* This,LPDWORD pdwFlags) {
    497     return This->lpVtbl->GetProperties(This,pdwFlags);
    498 }
    499 static FORCEINLINE HRESULT IOpcUri_IsEqual(IOpcUri* This,IUri *pUri,WINBOOL *pfEqual) {
    500     return This->lpVtbl->IsEqual(This,pUri,pfEqual);
    501 }
    502 /*** IOpcUri methods ***/
    503 static FORCEINLINE HRESULT IOpcUri_GetRelationshipsPartUri(IOpcUri* This,IOpcPartUri **relationshipPartUri) {
    504     return This->lpVtbl->GetRelationshipsPartUri(This,relationshipPartUri);
    505 }
    506 static FORCEINLINE HRESULT IOpcUri_GetRelativeUri(IOpcUri* This,IOpcPartUri *targetPartUri,IUri **relativeUri) {
    507     return This->lpVtbl->GetRelativeUri(This,targetPartUri,relativeUri);
    508 }
    509 static FORCEINLINE HRESULT IOpcUri_CombinePartUri(IOpcUri* This,IUri *relativeUri,IOpcPartUri **combinedUri) {
    510     return This->lpVtbl->CombinePartUri(This,relativeUri,combinedUri);
    511 }
    512 #endif
    513 #endif
    514 
    515 #endif
    516 
    517 HRESULT STDMETHODCALLTYPE IOpcUri_GetRelationshipsPartUri_Proxy(
    518     IOpcUri* This,
    519     IOpcPartUri **relationshipPartUri);
    520 void __RPC_STUB IOpcUri_GetRelationshipsPartUri_Stub(
    521     IRpcStubBuffer* This,
    522     IRpcChannelBuffer* pRpcChannelBuffer,
    523     PRPC_MESSAGE pRpcMessage,
    524     DWORD* pdwStubPhase);
    525 HRESULT STDMETHODCALLTYPE IOpcUri_GetRelativeUri_Proxy(
    526     IOpcUri* This,
    527     IOpcPartUri *targetPartUri,
    528     IUri **relativeUri);
    529 void __RPC_STUB IOpcUri_GetRelativeUri_Stub(
    530     IRpcStubBuffer* This,
    531     IRpcChannelBuffer* pRpcChannelBuffer,
    532     PRPC_MESSAGE pRpcMessage,
    533     DWORD* pdwStubPhase);
    534 HRESULT STDMETHODCALLTYPE IOpcUri_CombinePartUri_Proxy(
    535     IOpcUri* This,
    536     IUri *relativeUri,
    537     IOpcPartUri **combinedUri);
    538 void __RPC_STUB IOpcUri_CombinePartUri_Stub(
    539     IRpcStubBuffer* This,
    540     IRpcChannelBuffer* pRpcChannelBuffer,
    541     PRPC_MESSAGE pRpcMessage,
    542     DWORD* pdwStubPhase);
    543 
    544 #endif  /* __IOpcUri_INTERFACE_DEFINED__ */
    545 
    546 /*****************************************************************************
    547  * IOpcPartUri interface
    548  */
    549 #ifndef __IOpcPartUri_INTERFACE_DEFINED__
    550 #define __IOpcPartUri_INTERFACE_DEFINED__
    551 
    552 DEFINE_GUID(IID_IOpcPartUri, 0x7d3babe7, 0x88b2, 0x46ba, 0x85,0xcb, 0x42,0x03,0xcb,0x01,0x6c,0x87);
    553 #if defined(__cplusplus) && !defined(CINTERFACE)
    554 MIDL_INTERFACE("7d3babe7-88b2-46ba-85cb-4203cb016c87")
    555 IOpcPartUri : public IOpcUri
    556 {
    557     virtual HRESULT STDMETHODCALLTYPE ComparePartUri(
    558         IOpcPartUri *partUri,
    559         INT32 *comparisonResult) = 0;
    560 
    561     virtual HRESULT STDMETHODCALLTYPE GetSourceUri(
    562         IOpcUri **sourceUri) = 0;
    563 
    564     virtual HRESULT STDMETHODCALLTYPE IsRelationshipsPartUri(
    565         WINBOOL *isRelationshipUri) = 0;
    566 
    567 };
    568 #ifdef __CRT_UUID_DECL
    569 __CRT_UUID_DECL(IOpcPartUri, 0x7d3babe7, 0x88b2, 0x46ba, 0x85,0xcb, 0x42,0x03,0xcb,0x01,0x6c,0x87)
    570 #endif
    571 #else
    572 typedef struct IOpcPartUriVtbl {
    573     BEGIN_INTERFACE
    574 
    575     /*** IUnknown methods ***/
    576     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    577         IOpcPartUri* This,
    578         REFIID riid,
    579         void **ppvObject);
    580 
    581     ULONG (STDMETHODCALLTYPE *AddRef)(
    582         IOpcPartUri* This);
    583 
    584     ULONG (STDMETHODCALLTYPE *Release)(
    585         IOpcPartUri* This);
    586 
    587     /*** IUri methods ***/
    588     HRESULT (STDMETHODCALLTYPE *GetPropertyBSTR)(
    589         IOpcPartUri* This,
    590         Uri_PROPERTY uriProp,
    591         BSTR *pbstrProperty,
    592         DWORD dwFlags);
    593 
    594     HRESULT (STDMETHODCALLTYPE *GetPropertyLength)(
    595         IOpcPartUri* This,
    596         Uri_PROPERTY uriProp,
    597         DWORD *pcchProperty,
    598         DWORD dwFlags);
    599 
    600     HRESULT (STDMETHODCALLTYPE *GetPropertyDWORD)(
    601         IOpcPartUri* This,
    602         Uri_PROPERTY uriProp,
    603         DWORD *pdwProperty,
    604         DWORD dwFlags);
    605 
    606     HRESULT (STDMETHODCALLTYPE *HasProperty)(
    607         IOpcPartUri* This,
    608         Uri_PROPERTY uriProp,
    609         WINBOOL *pfHasProperty);
    610 
    611     HRESULT (STDMETHODCALLTYPE *GetAbsoluteUri)(
    612         IOpcPartUri* This,
    613         BSTR *pbstrAbsoluteUri);
    614 
    615     HRESULT (STDMETHODCALLTYPE *GetAuthority)(
    616         IOpcPartUri* This,
    617         BSTR *pbstrAuthority);
    618 
    619     HRESULT (STDMETHODCALLTYPE *GetDisplayUri)(
    620         IOpcPartUri* This,
    621         BSTR *pbstrDisplayString);
    622 
    623     HRESULT (STDMETHODCALLTYPE *GetDomain)(
    624         IOpcPartUri* This,
    625         BSTR *pbstrDomain);
    626 
    627     HRESULT (STDMETHODCALLTYPE *GetExtension)(
    628         IOpcPartUri* This,
    629         BSTR *pbstrExtension);
    630 
    631     HRESULT (STDMETHODCALLTYPE *GetFragment)(
    632         IOpcPartUri* This,
    633         BSTR *pbstrFragment);
    634 
    635     HRESULT (STDMETHODCALLTYPE *GetHost)(
    636         IOpcPartUri* This,
    637         BSTR *pbstrHost);
    638 
    639     HRESULT (STDMETHODCALLTYPE *GetPassword)(
    640         IOpcPartUri* This,
    641         BSTR *pbstrPassword);
    642 
    643     HRESULT (STDMETHODCALLTYPE *GetPath)(
    644         IOpcPartUri* This,
    645         BSTR *pbstrPath);
    646 
    647     HRESULT (STDMETHODCALLTYPE *GetPathAndQuery)(
    648         IOpcPartUri* This,
    649         BSTR *pbstrPathAndQuery);
    650 
    651     HRESULT (STDMETHODCALLTYPE *GetQuery)(
    652         IOpcPartUri* This,
    653         BSTR *pbstrQuery);
    654 
    655     HRESULT (STDMETHODCALLTYPE *GetRawUri)(
    656         IOpcPartUri* This,
    657         BSTR *pbstrRawUri);
    658 
    659     HRESULT (STDMETHODCALLTYPE *GetSchemeName)(
    660         IOpcPartUri* This,
    661         BSTR *pbstrSchemeName);
    662 
    663     HRESULT (STDMETHODCALLTYPE *GetUserInfo)(
    664         IOpcPartUri* This,
    665         BSTR *pbstrUserInfo);
    666 
    667     HRESULT (STDMETHODCALLTYPE *GetUserName)(
    668         IOpcPartUri* This,
    669         BSTR *pbstrUserName);
    670 
    671     HRESULT (STDMETHODCALLTYPE *GetHostType)(
    672         IOpcPartUri* This,
    673         DWORD *pdwHostType);
    674 
    675     HRESULT (STDMETHODCALLTYPE *GetPort)(
    676         IOpcPartUri* This,
    677         DWORD *pdwPort);
    678 
    679     HRESULT (STDMETHODCALLTYPE *GetScheme)(
    680         IOpcPartUri* This,
    681         DWORD *pdwScheme);
    682 
    683     HRESULT (STDMETHODCALLTYPE *GetZone)(
    684         IOpcPartUri* This,
    685         DWORD *pdwZone);
    686 
    687     HRESULT (STDMETHODCALLTYPE *GetProperties)(
    688         IOpcPartUri* This,
    689         LPDWORD pdwFlags);
    690 
    691     HRESULT (STDMETHODCALLTYPE *IsEqual)(
    692         IOpcPartUri* This,
    693         IUri *pUri,
    694         WINBOOL *pfEqual);
    695 
    696     /*** IOpcUri methods ***/
    697     HRESULT (STDMETHODCALLTYPE *GetRelationshipsPartUri)(
    698         IOpcPartUri* This,
    699         IOpcPartUri **relationshipPartUri);
    700 
    701     HRESULT (STDMETHODCALLTYPE *GetRelativeUri)(
    702         IOpcPartUri* This,
    703         IOpcPartUri *targetPartUri,
    704         IUri **relativeUri);
    705 
    706     HRESULT (STDMETHODCALLTYPE *CombinePartUri)(
    707         IOpcPartUri* This,
    708         IUri *relativeUri,
    709         IOpcPartUri **combinedUri);
    710 
    711     /*** IOpcPartUri methods ***/
    712     HRESULT (STDMETHODCALLTYPE *ComparePartUri)(
    713         IOpcPartUri* This,
    714         IOpcPartUri *partUri,
    715         INT32 *comparisonResult);
    716 
    717     HRESULT (STDMETHODCALLTYPE *GetSourceUri)(
    718         IOpcPartUri* This,
    719         IOpcUri **sourceUri);
    720 
    721     HRESULT (STDMETHODCALLTYPE *IsRelationshipsPartUri)(
    722         IOpcPartUri* This,
    723         WINBOOL *isRelationshipUri);
    724 
    725     END_INTERFACE
    726 } IOpcPartUriVtbl;
    727 interface IOpcPartUri {
    728     CONST_VTBL IOpcPartUriVtbl* lpVtbl;
    729 };
    730 
    731 #ifdef COBJMACROS
    732 #ifndef WIDL_C_INLINE_WRAPPERS
    733 /*** IUnknown methods ***/
    734 #define IOpcPartUri_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    735 #define IOpcPartUri_AddRef(This) (This)->lpVtbl->AddRef(This)
    736 #define IOpcPartUri_Release(This) (This)->lpVtbl->Release(This)
    737 /*** IUri methods ***/
    738 #define IOpcPartUri_GetPropertyBSTR(This,uriProp,pbstrProperty,dwFlags) (This)->lpVtbl->GetPropertyBSTR(This,uriProp,pbstrProperty,dwFlags)
    739 #define IOpcPartUri_GetPropertyLength(This,uriProp,pcchProperty,dwFlags) (This)->lpVtbl->GetPropertyLength(This,uriProp,pcchProperty,dwFlags)
    740 #define IOpcPartUri_GetPropertyDWORD(This,uriProp,pdwProperty,dwFlags) (This)->lpVtbl->GetPropertyDWORD(This,uriProp,pdwProperty,dwFlags)
    741 #define IOpcPartUri_HasProperty(This,uriProp,pfHasProperty) (This)->lpVtbl->HasProperty(This,uriProp,pfHasProperty)
    742 #define IOpcPartUri_GetAbsoluteUri(This,pbstrAbsoluteUri) (This)->lpVtbl->GetAbsoluteUri(This,pbstrAbsoluteUri)
    743 #define IOpcPartUri_GetAuthority(This,pbstrAuthority) (This)->lpVtbl->GetAuthority(This,pbstrAuthority)
    744 #define IOpcPartUri_GetDisplayUri(This,pbstrDisplayString) (This)->lpVtbl->GetDisplayUri(This,pbstrDisplayString)
    745 #define IOpcPartUri_GetDomain(This,pbstrDomain) (This)->lpVtbl->GetDomain(This,pbstrDomain)
    746 #define IOpcPartUri_GetExtension(This,pbstrExtension) (This)->lpVtbl->GetExtension(This,pbstrExtension)
    747 #define IOpcPartUri_GetFragment(This,pbstrFragment) (This)->lpVtbl->GetFragment(This,pbstrFragment)
    748 #define IOpcPartUri_GetHost(This,pbstrHost) (This)->lpVtbl->GetHost(This,pbstrHost)
    749 #define IOpcPartUri_GetPassword(This,pbstrPassword) (This)->lpVtbl->GetPassword(This,pbstrPassword)
    750 #define IOpcPartUri_GetPath(This,pbstrPath) (This)->lpVtbl->GetPath(This,pbstrPath)
    751 #define IOpcPartUri_GetPathAndQuery(This,pbstrPathAndQuery) (This)->lpVtbl->GetPathAndQuery(This,pbstrPathAndQuery)
    752 #define IOpcPartUri_GetQuery(This,pbstrQuery) (This)->lpVtbl->GetQuery(This,pbstrQuery)
    753 #define IOpcPartUri_GetRawUri(This,pbstrRawUri) (This)->lpVtbl->GetRawUri(This,pbstrRawUri)
    754 #define IOpcPartUri_GetSchemeName(This,pbstrSchemeName) (This)->lpVtbl->GetSchemeName(This,pbstrSchemeName)
    755 #define IOpcPartUri_GetUserInfo(This,pbstrUserInfo) (This)->lpVtbl->GetUserInfo(This,pbstrUserInfo)
    756 #define IOpcPartUri_GetUserName(This,pbstrUserName) (This)->lpVtbl->GetUserName(This,pbstrUserName)
    757 #define IOpcPartUri_GetHostType(This,pdwHostType) (This)->lpVtbl->GetHostType(This,pdwHostType)
    758 #define IOpcPartUri_GetPort(This,pdwPort) (This)->lpVtbl->GetPort(This,pdwPort)
    759 #define IOpcPartUri_GetScheme(This,pdwScheme) (This)->lpVtbl->GetScheme(This,pdwScheme)
    760 #define IOpcPartUri_GetZone(This,pdwZone) (This)->lpVtbl->GetZone(This,pdwZone)
    761 #define IOpcPartUri_GetProperties(This,pdwFlags) (This)->lpVtbl->GetProperties(This,pdwFlags)
    762 #define IOpcPartUri_IsEqual(This,pUri,pfEqual) (This)->lpVtbl->IsEqual(This,pUri,pfEqual)
    763 /*** IOpcUri methods ***/
    764 #define IOpcPartUri_GetRelationshipsPartUri(This,relationshipPartUri) (This)->lpVtbl->GetRelationshipsPartUri(This,relationshipPartUri)
    765 #define IOpcPartUri_GetRelativeUri(This,targetPartUri,relativeUri) (This)->lpVtbl->GetRelativeUri(This,targetPartUri,relativeUri)
    766 #define IOpcPartUri_CombinePartUri(This,relativeUri,combinedUri) (This)->lpVtbl->CombinePartUri(This,relativeUri,combinedUri)
    767 /*** IOpcPartUri methods ***/
    768 #define IOpcPartUri_ComparePartUri(This,partUri,comparisonResult) (This)->lpVtbl->ComparePartUri(This,partUri,comparisonResult)
    769 #define IOpcPartUri_GetSourceUri(This,sourceUri) (This)->lpVtbl->GetSourceUri(This,sourceUri)
    770 #define IOpcPartUri_IsRelationshipsPartUri(This,isRelationshipUri) (This)->lpVtbl->IsRelationshipsPartUri(This,isRelationshipUri)
    771 #else
    772 /*** IUnknown methods ***/
    773 static FORCEINLINE HRESULT IOpcPartUri_QueryInterface(IOpcPartUri* This,REFIID riid,void **ppvObject) {
    774     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    775 }
    776 static FORCEINLINE ULONG IOpcPartUri_AddRef(IOpcPartUri* This) {
    777     return This->lpVtbl->AddRef(This);
    778 }
    779 static FORCEINLINE ULONG IOpcPartUri_Release(IOpcPartUri* This) {
    780     return This->lpVtbl->Release(This);
    781 }
    782 /*** IUri methods ***/
    783 static FORCEINLINE HRESULT IOpcPartUri_GetPropertyBSTR(IOpcPartUri* This,Uri_PROPERTY uriProp,BSTR *pbstrProperty,DWORD dwFlags) {
    784     return This->lpVtbl->GetPropertyBSTR(This,uriProp,pbstrProperty,dwFlags);
    785 }
    786 static FORCEINLINE HRESULT IOpcPartUri_GetPropertyLength(IOpcPartUri* This,Uri_PROPERTY uriProp,DWORD *pcchProperty,DWORD dwFlags) {
    787     return This->lpVtbl->GetPropertyLength(This,uriProp,pcchProperty,dwFlags);
    788 }
    789 static FORCEINLINE HRESULT IOpcPartUri_GetPropertyDWORD(IOpcPartUri* This,Uri_PROPERTY uriProp,DWORD *pdwProperty,DWORD dwFlags) {
    790     return This->lpVtbl->GetPropertyDWORD(This,uriProp,pdwProperty,dwFlags);
    791 }
    792 static FORCEINLINE HRESULT IOpcPartUri_HasProperty(IOpcPartUri* This,Uri_PROPERTY uriProp,WINBOOL *pfHasProperty) {
    793     return This->lpVtbl->HasProperty(This,uriProp,pfHasProperty);
    794 }
    795 static FORCEINLINE HRESULT IOpcPartUri_GetAbsoluteUri(IOpcPartUri* This,BSTR *pbstrAbsoluteUri) {
    796     return This->lpVtbl->GetAbsoluteUri(This,pbstrAbsoluteUri);
    797 }
    798 static FORCEINLINE HRESULT IOpcPartUri_GetAuthority(IOpcPartUri* This,BSTR *pbstrAuthority) {
    799     return This->lpVtbl->GetAuthority(This,pbstrAuthority);
    800 }
    801 static FORCEINLINE HRESULT IOpcPartUri_GetDisplayUri(IOpcPartUri* This,BSTR *pbstrDisplayString) {
    802     return This->lpVtbl->GetDisplayUri(This,pbstrDisplayString);
    803 }
    804 static FORCEINLINE HRESULT IOpcPartUri_GetDomain(IOpcPartUri* This,BSTR *pbstrDomain) {
    805     return This->lpVtbl->GetDomain(This,pbstrDomain);
    806 }
    807 static FORCEINLINE HRESULT IOpcPartUri_GetExtension(IOpcPartUri* This,BSTR *pbstrExtension) {
    808     return This->lpVtbl->GetExtension(This,pbstrExtension);
    809 }
    810 static FORCEINLINE HRESULT IOpcPartUri_GetFragment(IOpcPartUri* This,BSTR *pbstrFragment) {
    811     return This->lpVtbl->GetFragment(This,pbstrFragment);
    812 }
    813 static FORCEINLINE HRESULT IOpcPartUri_GetHost(IOpcPartUri* This,BSTR *pbstrHost) {
    814     return This->lpVtbl->GetHost(This,pbstrHost);
    815 }
    816 static FORCEINLINE HRESULT IOpcPartUri_GetPassword(IOpcPartUri* This,BSTR *pbstrPassword) {
    817     return This->lpVtbl->GetPassword(This,pbstrPassword);
    818 }
    819 static FORCEINLINE HRESULT IOpcPartUri_GetPath(IOpcPartUri* This,BSTR *pbstrPath) {
    820     return This->lpVtbl->GetPath(This,pbstrPath);
    821 }
    822 static FORCEINLINE HRESULT IOpcPartUri_GetPathAndQuery(IOpcPartUri* This,BSTR *pbstrPathAndQuery) {
    823     return This->lpVtbl->GetPathAndQuery(This,pbstrPathAndQuery);
    824 }
    825 static FORCEINLINE HRESULT IOpcPartUri_GetQuery(IOpcPartUri* This,BSTR *pbstrQuery) {
    826     return This->lpVtbl->GetQuery(This,pbstrQuery);
    827 }
    828 static FORCEINLINE HRESULT IOpcPartUri_GetRawUri(IOpcPartUri* This,BSTR *pbstrRawUri) {
    829     return This->lpVtbl->GetRawUri(This,pbstrRawUri);
    830 }
    831 static FORCEINLINE HRESULT IOpcPartUri_GetSchemeName(IOpcPartUri* This,BSTR *pbstrSchemeName) {
    832     return This->lpVtbl->GetSchemeName(This,pbstrSchemeName);
    833 }
    834 static FORCEINLINE HRESULT IOpcPartUri_GetUserInfo(IOpcPartUri* This,BSTR *pbstrUserInfo) {
    835     return This->lpVtbl->GetUserInfo(This,pbstrUserInfo);
    836 }
    837 static FORCEINLINE HRESULT IOpcPartUri_GetUserName(IOpcPartUri* This,BSTR *pbstrUserName) {
    838     return This->lpVtbl->GetUserName(This,pbstrUserName);
    839 }
    840 static FORCEINLINE HRESULT IOpcPartUri_GetHostType(IOpcPartUri* This,DWORD *pdwHostType) {
    841     return This->lpVtbl->GetHostType(This,pdwHostType);
    842 }
    843 static FORCEINLINE HRESULT IOpcPartUri_GetPort(IOpcPartUri* This,DWORD *pdwPort) {
    844     return This->lpVtbl->GetPort(This,pdwPort);
    845 }
    846 static FORCEINLINE HRESULT IOpcPartUri_GetScheme(IOpcPartUri* This,DWORD *pdwScheme) {
    847     return This->lpVtbl->GetScheme(This,pdwScheme);
    848 }
    849 static FORCEINLINE HRESULT IOpcPartUri_GetZone(IOpcPartUri* This,DWORD *pdwZone) {
    850     return This->lpVtbl->GetZone(This,pdwZone);
    851 }
    852 static FORCEINLINE HRESULT IOpcPartUri_GetProperties(IOpcPartUri* This,LPDWORD pdwFlags) {
    853     return This->lpVtbl->GetProperties(This,pdwFlags);
    854 }
    855 static FORCEINLINE HRESULT IOpcPartUri_IsEqual(IOpcPartUri* This,IUri *pUri,WINBOOL *pfEqual) {
    856     return This->lpVtbl->IsEqual(This,pUri,pfEqual);
    857 }
    858 /*** IOpcUri methods ***/
    859 static FORCEINLINE HRESULT IOpcPartUri_GetRelationshipsPartUri(IOpcPartUri* This,IOpcPartUri **relationshipPartUri) {
    860     return This->lpVtbl->GetRelationshipsPartUri(This,relationshipPartUri);
    861 }
    862 static FORCEINLINE HRESULT IOpcPartUri_GetRelativeUri(IOpcPartUri* This,IOpcPartUri *targetPartUri,IUri **relativeUri) {
    863     return This->lpVtbl->GetRelativeUri(This,targetPartUri,relativeUri);
    864 }
    865 static FORCEINLINE HRESULT IOpcPartUri_CombinePartUri(IOpcPartUri* This,IUri *relativeUri,IOpcPartUri **combinedUri) {
    866     return This->lpVtbl->CombinePartUri(This,relativeUri,combinedUri);
    867 }
    868 /*** IOpcPartUri methods ***/
    869 static FORCEINLINE HRESULT IOpcPartUri_ComparePartUri(IOpcPartUri* This,IOpcPartUri *partUri,INT32 *comparisonResult) {
    870     return This->lpVtbl->ComparePartUri(This,partUri,comparisonResult);
    871 }
    872 static FORCEINLINE HRESULT IOpcPartUri_GetSourceUri(IOpcPartUri* This,IOpcUri **sourceUri) {
    873     return This->lpVtbl->GetSourceUri(This,sourceUri);
    874 }
    875 static FORCEINLINE HRESULT IOpcPartUri_IsRelationshipsPartUri(IOpcPartUri* This,WINBOOL *isRelationshipUri) {
    876     return This->lpVtbl->IsRelationshipsPartUri(This,isRelationshipUri);
    877 }
    878 #endif
    879 #endif
    880 
    881 #endif
    882 
    883 HRESULT STDMETHODCALLTYPE IOpcPartUri_ComparePartUri_Proxy(
    884     IOpcPartUri* This,
    885     IOpcPartUri *partUri,
    886     INT32 *comparisonResult);
    887 void __RPC_STUB IOpcPartUri_ComparePartUri_Stub(
    888     IRpcStubBuffer* This,
    889     IRpcChannelBuffer* pRpcChannelBuffer,
    890     PRPC_MESSAGE pRpcMessage,
    891     DWORD* pdwStubPhase);
    892 HRESULT STDMETHODCALLTYPE IOpcPartUri_GetSourceUri_Proxy(
    893     IOpcPartUri* This,
    894     IOpcUri **sourceUri);
    895 void __RPC_STUB IOpcPartUri_GetSourceUri_Stub(
    896     IRpcStubBuffer* This,
    897     IRpcChannelBuffer* pRpcChannelBuffer,
    898     PRPC_MESSAGE pRpcMessage,
    899     DWORD* pdwStubPhase);
    900 HRESULT STDMETHODCALLTYPE IOpcPartUri_IsRelationshipsPartUri_Proxy(
    901     IOpcPartUri* This,
    902     WINBOOL *isRelationshipUri);
    903 void __RPC_STUB IOpcPartUri_IsRelationshipsPartUri_Stub(
    904     IRpcStubBuffer* This,
    905     IRpcChannelBuffer* pRpcChannelBuffer,
    906     PRPC_MESSAGE pRpcMessage,
    907     DWORD* pdwStubPhase);
    908 
    909 #endif  /* __IOpcPartUri_INTERFACE_DEFINED__ */
    910 
    911 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
    912 #define IS_OPC_CONFORMANCE_ERROR(x) (((x) & 0x1ffff000) == (0x0000 + (FACILITY_OPC << 16)))
    913 #define IS_ZIP_CONFORMANCE_ERROR(x) (((x) & 0x1ffff000) == (0x1000 + (FACILITY_OPC << 16)))
    914 #define OPC_E_NONCONFORMING_URI MAKE_HRESULT(1, FACILITY_OPC, 0x1)
    915 #define OPC_E_RELATIVE_URI_REQUIRED MAKE_HRESULT(1, FACILITY_OPC, 0x2)
    916 #define OPC_E_RELATIONSHIP_URI_REQUIRED MAKE_HRESULT(1, FACILITY_OPC, 0x3)
    917 #define OPC_E_PART_CANNOT_BE_DIRECTORY MAKE_HRESULT(1, FACILITY_OPC, 0x4)
    918 #define OPC_E_UNEXPECTED_CONTENT_TYPE MAKE_HRESULT(1, FACILITY_OPC, 0x5)
    919 #define OPC_E_INVALID_CONTENT_TYPE_XML MAKE_HRESULT(1, FACILITY_OPC, 0x6)
    920 #define OPC_E_MISSING_CONTENT_TYPES MAKE_HRESULT(1, FACILITY_OPC, 0x7)
    921 #define OPC_E_NONCONFORMING_CONTENT_TYPES_XML MAKE_HRESULT(1, FACILITY_OPC, 0x8)
    922 #define OPC_E_NONCONFORMING_RELS_XML MAKE_HRESULT(1, FACILITY_OPC, 0x9)
    923 #define OPC_E_INVALID_RELS_XML MAKE_HRESULT(1, FACILITY_OPC, 0xa)
    924 #define OPC_E_DUPLICATE_PART MAKE_HRESULT(1, FACILITY_OPC, 0xb)
    925 #define OPC_E_INVALID_OVERRIDE_PART_NAME MAKE_HRESULT(1, FACILITY_OPC, 0xc)
    926 #define OPC_E_DUPLICATE_OVERRIDE_PART MAKE_HRESULT(1, FACILITY_OPC, 0xd)
    927 #define OPC_E_INVALID_DEFAULT_EXTENSION MAKE_HRESULT(1, FACILITY_OPC, 0xe)
    928 #define OPC_E_DUPLICATE_DEFAULT_EXTENSION MAKE_HRESULT(1, FACILITY_OPC, 0xf)
    929 #define OPC_E_INVALID_RELATIONSHIP_ID MAKE_HRESULT(1, FACILITY_OPC, 0x10)
    930 #define OPC_E_INVALID_RELATIONSHIP_TYPE MAKE_HRESULT(1, FACILITY_OPC, 0x11)
    931 #define OPC_E_INVALID_RELATIONSHIP_TARGET MAKE_HRESULT(1, FACILITY_OPC, 0x12)
    932 #define OPC_E_DUPLICATE_RELATIONSHIP MAKE_HRESULT(1, FACILITY_OPC, 0x13)
    933 #define OPC_E_CONFLICTING_SETTINGS MAKE_HRESULT(1, FACILITY_OPC, 0x14)
    934 #define OPC_E_DUPLICATE_PIECE MAKE_HRESULT(1, FACILITY_OPC, 0x15)
    935 #define OPC_E_INVALID_PIECE MAKE_HRESULT(1, FACILITY_OPC, 0x16)
    936 #define OPC_E_MISSING_PIECE MAKE_HRESULT(1, FACILITY_OPC, 0x17)
    937 #define OPC_E_NO_SUCH_PART MAKE_HRESULT(1, FACILITY_OPC, 0x18)
    938 #define OPC_E_DS_SIGNATURE_CORRUPT MAKE_HRESULT(1, FACILITY_OPC, 0x19)
    939 #define OPC_E_DS_DIGEST_VALUE_ERROR MAKE_HRESULT(1, FACILITY_OPC, 0x1a)
    940 #define OPC_E_DS_DUPLICATE_SIGNATURE_ORIGIN_RELATIONSHIP MAKE_HRESULT(1, FACILITY_OPC, 0x1b)
    941 #define OPC_E_DS_INVALID_SIGNATURE_ORIGIN_RELATIONSHIP MAKE_HRESULT(1, FACILITY_OPC, 0x1c)
    942 #define OPC_E_DS_INVALID_CERTIFICATE_RELATIONSHIP MAKE_HRESULT(1, FACILITY_OPC, 0x1d)
    943 #define OPC_E_DS_EXTERNAL_SIGNATURE MAKE_HRESULT(1, FACILITY_OPC, 0x1e)
    944 #define OPC_E_DS_MISSING_SIGNATURE_ORIGIN_PART MAKE_HRESULT(1, FACILITY_OPC, 0x1f)
    945 #define OPC_E_DS_MISSING_SIGNATURE_PART MAKE_HRESULT(1, FACILITY_OPC, 0x20)
    946 #define OPC_E_DS_INVALID_RELATIONSHIP_TRANSFORM_XML MAKE_HRESULT(1, FACILITY_OPC, 0x21)
    947 #define OPC_E_DS_INVALID_CANONICALIZATION_METHOD MAKE_HRESULT(1, FACILITY_OPC, 0x22)
    948 #define OPC_E_DS_INVALID_RELATIONSHIPS_SIGNING_OPTION MAKE_HRESULT(1, FACILITY_OPC, 0x23)
    949 #define OPC_E_DS_INVALID_OPC_SIGNATURE_TIME_FORMAT MAKE_HRESULT(1, FACILITY_OPC, 0x24)
    950 #define OPC_E_DS_PACKAGE_REFERENCE_URI_RESERVED MAKE_HRESULT(1, FACILITY_OPC, 0x25)
    951 #define OPC_E_DS_MISSING_SIGNATURE_PROPERTIES_ELEMENT MAKE_HRESULT(1, FACILITY_OPC, 0x26)
    952 #define OPC_E_DS_MISSING_SIGNATURE_PROPERTY_ELEMENT MAKE_HRESULT(1, FACILITY_OPC, 0x27)
    953 #define OPC_E_DS_DUPLICATE_SIGNATURE_PROPERTY_ELEMENT MAKE_HRESULT(1, FACILITY_OPC, 0x28)
    954 #define OPC_E_DS_MISSING_SIGNATURE_TIME_PROPERTY MAKE_HRESULT(1, FACILITY_OPC, 0x29)
    955 #define OPC_E_DS_INVALID_SIGNATURE_XML MAKE_HRESULT(1, FACILITY_OPC, 0x2a)
    956 #define OPC_E_DS_INVALID_SIGNATURE_COUNT MAKE_HRESULT(1, FACILITY_OPC, 0x2b)
    957 #define OPC_E_DS_MISSING_SIGNATURE_ALGORITHM MAKE_HRESULT(1, FACILITY_OPC, 0x2c)
    958 #define OPC_E_DS_DUPLICATE_PACKAGE_OBJECT_REFERENCES MAKE_HRESULT(1, FACILITY_OPC, 0x2d)
    959 #define OPC_E_DS_MISSING_PACKAGE_OBJECT_REFERENCE MAKE_HRESULT(1, FACILITY_OPC, 0x2e)
    960 #define OPC_E_DS_EXTERNAL_SIGNATURE_REFERENCE MAKE_HRESULT(1, FACILITY_OPC, 0x2f)
    961 #define OPC_E_DS_REFERENCE_MISSING_CONTENT_TYPE MAKE_HRESULT(1, FACILITY_OPC, 0x30)
    962 #define OPC_E_DS_MULTIPLE_RELATIONSHIP_TRANSFORMS MAKE_HRESULT(1, FACILITY_OPC, 0x31)
    963 #define OPC_E_DS_MISSING_CANONICALIZATION_TRANSFORM MAKE_HRESULT(1, FACILITY_OPC, 0x32)
    964 #define OPC_E_MC_UNEXPECTED_ELEMENT MAKE_HRESULT(1, FACILITY_OPC, 0x33)
    965 #define OPC_E_MC_UNEXPECTED_REQUIRES_ATTR MAKE_HRESULT(1, FACILITY_OPC, 0x34)
    966 #define OPC_E_MC_MISSING_REQUIRES_ATTR MAKE_HRESULT(1, FACILITY_OPC, 0x35)
    967 #define OPC_E_MC_UNEXPECTED_ATTR MAKE_HRESULT(1, FACILITY_OPC, 0x36)
    968 #define OPC_E_MC_INVALID_PREFIX_LIST MAKE_HRESULT(1, FACILITY_OPC, 0x37)
    969 #define OPC_E_MC_INVALID_QNAME_LIST MAKE_HRESULT(1, FACILITY_OPC, 0x38)
    970 #define OPC_E_MC_NESTED_ALTERNATE_CONTENT MAKE_HRESULT(1, FACILITY_OPC, 0x39)
    971 #define OPC_E_MC_UNEXPECTED_CHOICE MAKE_HRESULT(1, FACILITY_OPC, 0x3a)
    972 #define OPC_E_MC_MISSING_CHOICE MAKE_HRESULT(1, FACILITY_OPC, 0x3b)
    973 #define OPC_E_MC_INVALID_ENUM_TYPE MAKE_HRESULT(1, FACILITY_OPC, 0x3c)
    974 #define OPC_E_MC_UNKNOWN_NAMESPACE MAKE_HRESULT(1, FACILITY_OPC, 0x3e)
    975 #define OPC_E_MC_UNKNOWN_PREFIX MAKE_HRESULT(1, FACILITY_OPC, 0x3f)
    976 #define OPC_E_MC_INVALID_ATTRIBUTES_ON_IGNORABLE_ELEMENT MAKE_HRESULT(1, FACILITY_OPC, 0x40)
    977 #define OPC_E_MC_INVALID_XMLNS_ATTRIBUTE MAKE_HRESULT(1, FACILITY_OPC, 0x41)
    978 #define OPC_E_INVALID_XML_ENCODING MAKE_HRESULT(1, FACILITY_OPC, 0x42)
    979 #define OPC_E_DS_SIGNATURE_REFERENCE_MISSING_URI MAKE_HRESULT(1, FACILITY_OPC, 0x43)
    980 #define OPC_E_INVALID_CONTENT_TYPE MAKE_HRESULT(1, FACILITY_OPC, 0x44)
    981 #define OPC_E_DS_SIGNATURE_PROPERTY_MISSING_TARGET MAKE_HRESULT(1, FACILITY_OPC, 0x45)
    982 #define OPC_E_DS_SIGNATURE_METHOD_NOT_SET MAKE_HRESULT(1, FACILITY_OPC, 0x46)
    983 #define OPC_E_DS_DEFAULT_DIGEST_METHOD_NOT_SET MAKE_HRESULT(1, FACILITY_OPC, 0x47)
    984 #define OPC_E_NO_SUCH_RELATIONSHIP MAKE_HRESULT(1, FACILITY_OPC, 0x48)
    985 #define OPC_E_MC_MULTIPLE_FALLBACK_ELEMENTS MAKE_HRESULT(1, FACILITY_OPC, 0x49)
    986 #define OPC_E_MC_INCONSISTENT_PROCESS_CONTENT MAKE_HRESULT(1, FACILITY_OPC, 0x4a)
    987 #define OPC_E_MC_INCONSISTENT_PRESERVE_ATTRIBUTES MAKE_HRESULT(1, FACILITY_OPC, 0x4b)
    988 #define OPC_E_MC_INCONSISTENT_PRESERVE_ELEMENTS MAKE_HRESULT(1, FACILITY_OPC, 0x4c)
    989 #define OPC_E_INVALID_RELATIONSHIP_TARGET_MODE MAKE_HRESULT(1, FACILITY_OPC, 0x4d)
    990 #define OPC_E_COULD_NOT_RECOVER MAKE_HRESULT(1, FACILITY_OPC, 0x4e)
    991 #define OPC_E_UNSUPPORTED_PACKAGE MAKE_HRESULT(1, FACILITY_OPC, 0x4f)
    992 #define OPC_E_ENUM_COLLECTION_CHANGED MAKE_HRESULT(1, FACILITY_OPC, 0x50)
    993 #define OPC_E_ENUM_CANNOT_MOVE_NEXT MAKE_HRESULT(1, FACILITY_OPC, 0x51)
    994 #define OPC_E_ENUM_CANNOT_MOVE_PREVIOUS MAKE_HRESULT(1, FACILITY_OPC, 0x52)
    995 #define OPC_E_ENUM_INVALID_POSITION MAKE_HRESULT(1, FACILITY_OPC, 0x53)
    996 #define OPC_E_DS_SIGNATURE_ORIGIN_EXISTS MAKE_HRESULT(1, FACILITY_OPC, 0x54)
    997 #define OPC_E_DS_UNSIGNED_PACKAGE MAKE_HRESULT(1, FACILITY_OPC, 0x55)
    998 #define OPC_E_DS_MISSING_CERTIFICATE_PART MAKE_HRESULT(1, FACILITY_OPC, 0x56)
    999 #define OPC_E_NO_SUCH_SETTINGS MAKE_HRESULT(1, FACILITY_OPC, 0x57)
   1000 #define OPC_E_ZIP_INCORRECT_DATA_SIZE MAKE_HRESULT(1, FACILITY_OPC, 0x1001)
   1001 #define OPC_E_ZIP_CORRUPTED_ARCHIVE MAKE_HRESULT(1, FACILITY_OPC, 0x1002)
   1002 #define OPC_E_ZIP_COMPRESSION_FAILED MAKE_HRESULT(1, FACILITY_OPC, 0x1003)
   1003 #define OPC_E_ZIP_DECOMPRESSION_FAILED MAKE_HRESULT(1, FACILITY_OPC, 0x1004)
   1004 #define OPC_E_ZIP_INCONSISTENT_FILEITEM MAKE_HRESULT(1, FACILITY_OPC, 0x1005)
   1005 #define OPC_E_ZIP_INCONSISTENT_DIRECTORY MAKE_HRESULT(1, FACILITY_OPC, 0x1006)
   1006 #define OPC_E_ZIP_MISSING_DATA_DESCRIPTOR MAKE_HRESULT(1, FACILITY_OPC, 0x1007)
   1007 #define OPC_E_ZIP_UNSUPPORTEDARCHIVE MAKE_HRESULT(1, FACILITY_OPC, 0x1008)
   1008 #define OPC_E_ZIP_CENTRAL_DIRECTORY_TOO_LARGE MAKE_HRESULT(1, FACILITY_OPC, 0x1009)
   1009 #define OPC_E_ZIP_NAME_TOO_LARGE MAKE_HRESULT(1, FACILITY_OPC, 0x100a)
   1010 #define OPC_E_ZIP_DUPLICATE_NAME MAKE_HRESULT(1, FACILITY_OPC, 0x100b)
   1011 #define OPC_E_ZIP_COMMENT_TOO_LARGE MAKE_HRESULT(1, FACILITY_OPC, 0x100c)
   1012 #define OPC_E_ZIP_EXTRA_FIELDS_TOO_LARGE MAKE_HRESULT(1, FACILITY_OPC, 0x100d)
   1013 #define OPC_E_ZIP_FILE_HEADER_TOO_LARGE MAKE_HRESULT(1, FACILITY_OPC, 0x100e)
   1014 #define OPC_E_ZIP_MISSING_END_OF_CENTRAL_DIRECTORY MAKE_HRESULT(1, FACILITY_OPC, 0x100f)
   1015 #define OPC_E_ZIP_REQUIRES_64_BIT MAKE_HRESULT(1, FACILITY_OPC, 0x1010)
   1016 
   1017 DEFINE_GUID(LIBID_MSOPC, 0x3d8d6062, 0x2749, 0x442b, 0x9e,0x32, 0xe4,0x0e,0xf8,0x01,0xa7,0x66);
   1018 
   1019 #ifndef __IOpcCertificateEnumerator_FWD_DEFINED__
   1020 #define __IOpcCertificateEnumerator_FWD_DEFINED__
   1021 typedef interface IOpcCertificateEnumerator IOpcCertificateEnumerator;
   1022 #endif
   1023 
   1024 #ifndef __IOpcCertificateSet_FWD_DEFINED__
   1025 #define __IOpcCertificateSet_FWD_DEFINED__
   1026 typedef interface IOpcCertificateSet IOpcCertificateSet;
   1027 #endif
   1028 
   1029 #ifndef __IOpcDigitalSignature_FWD_DEFINED__
   1030 #define __IOpcDigitalSignature_FWD_DEFINED__
   1031 typedef interface IOpcDigitalSignature IOpcDigitalSignature;
   1032 #endif
   1033 
   1034 #ifndef __IOpcDigitalSignatureEnumerator_FWD_DEFINED__
   1035 #define __IOpcDigitalSignatureEnumerator_FWD_DEFINED__
   1036 typedef interface IOpcDigitalSignatureEnumerator IOpcDigitalSignatureEnumerator;
   1037 #endif
   1038 
   1039 #ifndef __IOpcDigitalSignatureManager_FWD_DEFINED__
   1040 #define __IOpcDigitalSignatureManager_FWD_DEFINED__
   1041 typedef interface IOpcDigitalSignatureManager IOpcDigitalSignatureManager;
   1042 #endif
   1043 
   1044 #ifndef __IOpcPackage_FWD_DEFINED__
   1045 #define __IOpcPackage_FWD_DEFINED__
   1046 typedef interface IOpcPackage IOpcPackage;
   1047 #endif
   1048 
   1049 #ifndef __IOpcPart_FWD_DEFINED__
   1050 #define __IOpcPart_FWD_DEFINED__
   1051 typedef interface IOpcPart IOpcPart;
   1052 #endif
   1053 
   1054 #ifndef __IOpcPartEnumerator_FWD_DEFINED__
   1055 #define __IOpcPartEnumerator_FWD_DEFINED__
   1056 typedef interface IOpcPartEnumerator IOpcPartEnumerator;
   1057 #endif
   1058 
   1059 #ifndef __IOpcPartSet_FWD_DEFINED__
   1060 #define __IOpcPartSet_FWD_DEFINED__
   1061 typedef interface IOpcPartSet IOpcPartSet;
   1062 #endif
   1063 
   1064 #ifndef __IOpcPartUri_FWD_DEFINED__
   1065 #define __IOpcPartUri_FWD_DEFINED__
   1066 typedef interface IOpcPartUri IOpcPartUri;
   1067 #endif
   1068 
   1069 #ifndef __IOpcRelationship_FWD_DEFINED__
   1070 #define __IOpcRelationship_FWD_DEFINED__
   1071 typedef interface IOpcRelationship IOpcRelationship;
   1072 #endif
   1073 
   1074 #ifndef __IOpcRelationshipEnumerator_FWD_DEFINED__
   1075 #define __IOpcRelationshipEnumerator_FWD_DEFINED__
   1076 typedef interface IOpcRelationshipEnumerator IOpcRelationshipEnumerator;
   1077 #endif
   1078 
   1079 #ifndef __IOpcRelationshipSelector_FWD_DEFINED__
   1080 #define __IOpcRelationshipSelector_FWD_DEFINED__
   1081 typedef interface IOpcRelationshipSelector IOpcRelationshipSelector;
   1082 #endif
   1083 
   1084 #ifndef __IOpcRelationshipSelectorSet_FWD_DEFINED__
   1085 #define __IOpcRelationshipSelectorSet_FWD_DEFINED__
   1086 typedef interface IOpcRelationshipSelectorSet IOpcRelationshipSelectorSet;
   1087 #endif
   1088 
   1089 #ifndef __IOpcRelationshipSet_FWD_DEFINED__
   1090 #define __IOpcRelationshipSet_FWD_DEFINED__
   1091 typedef interface IOpcRelationshipSet IOpcRelationshipSet;
   1092 #endif
   1093 
   1094 #ifndef __IOpcSigningOptions_FWD_DEFINED__
   1095 #define __IOpcSigningOptions_FWD_DEFINED__
   1096 typedef interface IOpcSigningOptions IOpcSigningOptions;
   1097 #endif
   1098 
   1099 #ifndef __IOpcSignatureCustomObject_FWD_DEFINED__
   1100 #define __IOpcSignatureCustomObject_FWD_DEFINED__
   1101 typedef interface IOpcSignatureCustomObject IOpcSignatureCustomObject;
   1102 #endif
   1103 
   1104 #ifndef __IOpcSignatureCustomObjectSet_FWD_DEFINED__
   1105 #define __IOpcSignatureCustomObjectSet_FWD_DEFINED__
   1106 typedef interface IOpcSignatureCustomObjectSet IOpcSignatureCustomObjectSet;
   1107 #endif
   1108 
   1109 #ifndef __IOpcSignaturePartReference_FWD_DEFINED__
   1110 #define __IOpcSignaturePartReference_FWD_DEFINED__
   1111 typedef interface IOpcSignaturePartReference IOpcSignaturePartReference;
   1112 #endif
   1113 
   1114 #ifndef __IOpcSignaturePartReferenceEnumerator_FWD_DEFINED__
   1115 #define __IOpcSignaturePartReferenceEnumerator_FWD_DEFINED__
   1116 typedef interface IOpcSignaturePartReferenceEnumerator IOpcSignaturePartReferenceEnumerator;
   1117 #endif
   1118 
   1119 #ifndef __IOpcSignaturePartReferenceSet_FWD_DEFINED__
   1120 #define __IOpcSignaturePartReferenceSet_FWD_DEFINED__
   1121 typedef interface IOpcSignaturePartReferenceSet IOpcSignaturePartReferenceSet;
   1122 #endif
   1123 
   1124 #ifndef __IOpcSignatureReference_FWD_DEFINED__
   1125 #define __IOpcSignatureReference_FWD_DEFINED__
   1126 typedef interface IOpcSignatureReference IOpcSignatureReference;
   1127 #endif
   1128 
   1129 #ifndef __IOpcSignatureReferenceSet_FWD_DEFINED__
   1130 #define __IOpcSignatureReferenceSet_FWD_DEFINED__
   1131 typedef interface IOpcSignatureReferenceSet IOpcSignatureReferenceSet;
   1132 #endif
   1133 
   1134 #ifndef __IOpcSignatureRelationshipReference_FWD_DEFINED__
   1135 #define __IOpcSignatureRelationshipReference_FWD_DEFINED__
   1136 typedef interface IOpcSignatureRelationshipReference IOpcSignatureRelationshipReference;
   1137 #endif
   1138 
   1139 #ifndef __IOpcSignatureRelationshipReferenceEnumerator_FWD_DEFINED__
   1140 #define __IOpcSignatureRelationshipReferenceEnumerator_FWD_DEFINED__
   1141 typedef interface IOpcSignatureRelationshipReferenceEnumerator IOpcSignatureRelationshipReferenceEnumerator;
   1142 #endif
   1143 
   1144 #ifndef __IOpcSignatureRelationshipReferenceSet_FWD_DEFINED__
   1145 #define __IOpcSignatureRelationshipReferenceSet_FWD_DEFINED__
   1146 typedef interface IOpcSignatureRelationshipReferenceSet IOpcSignatureRelationshipReferenceSet;
   1147 #endif
   1148 
   1149 #ifndef __IOpcRelationshipSelectorEnumerator_FWD_DEFINED__
   1150 #define __IOpcRelationshipSelectorEnumerator_FWD_DEFINED__
   1151 typedef interface IOpcRelationshipSelectorEnumerator IOpcRelationshipSelectorEnumerator;
   1152 #endif
   1153 
   1154 #ifndef __IOpcSignatureReferenceEnumerator_FWD_DEFINED__
   1155 #define __IOpcSignatureReferenceEnumerator_FWD_DEFINED__
   1156 typedef interface IOpcSignatureReferenceEnumerator IOpcSignatureReferenceEnumerator;
   1157 #endif
   1158 
   1159 #ifndef __IOpcSignatureCustomObjectEnumerator_FWD_DEFINED__
   1160 #define __IOpcSignatureCustomObjectEnumerator_FWD_DEFINED__
   1161 typedef interface IOpcSignatureCustomObjectEnumerator IOpcSignatureCustomObjectEnumerator;
   1162 #endif
   1163 
   1164 #ifndef __IOpcUri_FWD_DEFINED__
   1165 #define __IOpcUri_FWD_DEFINED__
   1166 typedef interface IOpcUri IOpcUri;
   1167 #endif
   1168 
   1169 typedef enum __WIDL_msopc_generated_name_00000016 {
   1170     OPC_CANONICALIZATION_NONE = 0,
   1171     OPC_CANONICALIZATION_C14N = 1,
   1172     OPC_CANONICALIZATION_C14N_WITH_COMMENTS = 2
   1173 } OPC_CANONICALIZATION_METHOD;
   1174 typedef enum __WIDL_msopc_generated_name_00000017 {
   1175     OPC_CERTIFICATE_IN_CERTIFICATE_PART = 0,
   1176     OPC_CERTIFICATE_IN_SIGNATURE_PART = 1,
   1177     OPC_CERTIFICATE_NOT_EMBEDDED = 2
   1178 } OPC_CERTIFICATE_EMBEDDING_OPTION;
   1179 typedef enum __WIDL_msopc_generated_name_00000018 {
   1180     OPC_COMPRESSION_NONE = -1,
   1181     OPC_COMPRESSION_NORMAL = 0,
   1182     OPC_COMPRESSION_MAXIMUM = 1,
   1183     OPC_COMPRESSION_FAST = 2,
   1184     OPC_COMPRESSION_SUPERFAST = 3
   1185 } OPC_COMPRESSION_OPTIONS;
   1186 typedef enum __WIDL_msopc_generated_name_00000019 {
   1187     OPC_READ_DEFAULT = 0x0,
   1188     OPC_VALIDATE_ON_LOAD = 0x1,
   1189     OPC_CACHE_ON_ACCESS = 0x2
   1190 } OPC_READ_FLAGS;
   1191 typedef enum __WIDL_msopc_generated_name_0000001A {
   1192     OPC_RELATIONSHIP_SELECT_BY_ID = 0,
   1193     OPC_RELATIONSHIP_SELECT_BY_TYPE = 1
   1194 } OPC_RELATIONSHIP_SELECTOR;
   1195 typedef enum __WIDL_msopc_generated_name_0000001B {
   1196     OPC_RELATIONSHIP_SIGN_USING_SELECTORS = 0,
   1197     OPC_RELATIONSHIP_SIGN_PART = 1
   1198 } OPC_RELATIONSHIPS_SIGNING_OPTION;
   1199 typedef enum OPC_SIGNATURE_VALIDATION_RESULT {
   1200     OPC_SIGNATURE_VALID = 0,
   1201     OPC_SIGNATURE_INVALID = -1
   1202 } OPC_SIGNATURE_VALIDATION_RESULT;
   1203 typedef enum __WIDL_msopc_generated_name_0000001C {
   1204     OPC_SIGNATURE_TIME_FORMAT_MILLISECONDS = 0,
   1205     OPC_SIGNATURE_TIME_FORMAT_SECONDS = 1,
   1206     OPC_SIGNATURE_TIME_FORMAT_MINUTES = 2,
   1207     OPC_SIGNATURE_TIME_FORMAT_DAYS = 3,
   1208     OPC_SIGNATURE_TIME_FORMAT_MONTHS = 4,
   1209     OPC_SIGNATURE_TIME_FORMAT_YEARS = 5
   1210 } OPC_SIGNATURE_TIME_FORMAT;
   1211 typedef enum __WIDL_msopc_generated_name_0000001D {
   1212     OPC_STREAM_IO_READ = 1,
   1213     OPC_STREAM_IO_WRITE = 2
   1214 } OPC_STREAM_IO_MODE;
   1215 typedef enum __WIDL_msopc_generated_name_0000001E {
   1216     OPC_URI_TARGET_MODE_INTERNAL = 0,
   1217     OPC_URI_TARGET_MODE_EXTERNAL = 1
   1218 } OPC_URI_TARGET_MODE;
   1219 typedef enum __WIDL_msopc_generated_name_0000001F {
   1220     OPC_WRITE_DEFAULT = 0x0,
   1221     OPC_WRITE_FORCE_ZIP32 = 0x1
   1222 } OPC_WRITE_FLAGS;
   1223 DEFINE_ENUM_FLAG_OPERATORS(OPC_READ_FLAGS);
   1224 DEFINE_ENUM_FLAG_OPERATORS(OPC_WRITE_FLAGS);
   1225 /*****************************************************************************
   1226  * IOpcPart interface
   1227  */
   1228 #ifndef __IOpcPart_INTERFACE_DEFINED__
   1229 #define __IOpcPart_INTERFACE_DEFINED__
   1230 
   1231 DEFINE_GUID(IID_IOpcPart, 0x42195949, 0x3b79, 0x4fc8, 0x89,0xc6, 0xfc,0x7f,0xb9,0x79,0xee,0x71);
   1232 #if defined(__cplusplus) && !defined(CINTERFACE)
   1233 MIDL_INTERFACE("42195949-3b79-4fc8-89c6-fc7fb979ee71")
   1234 IOpcPart : public IUnknown
   1235 {
   1236     virtual HRESULT STDMETHODCALLTYPE GetRelationshipSet(
   1237         IOpcRelationshipSet **relationshipSet) = 0;
   1238 
   1239     virtual HRESULT STDMETHODCALLTYPE GetContentStream(
   1240         IStream **stream) = 0;
   1241 
   1242     virtual HRESULT STDMETHODCALLTYPE GetName(
   1243         IOpcPartUri **name) = 0;
   1244 
   1245     virtual HRESULT STDMETHODCALLTYPE GetContentType(
   1246         LPWSTR *contentType) = 0;
   1247 
   1248     virtual HRESULT STDMETHODCALLTYPE GetCompressionOptions(
   1249         OPC_COMPRESSION_OPTIONS *compressionOptions) = 0;
   1250 
   1251 };
   1252 #ifdef __CRT_UUID_DECL
   1253 __CRT_UUID_DECL(IOpcPart, 0x42195949, 0x3b79, 0x4fc8, 0x89,0xc6, 0xfc,0x7f,0xb9,0x79,0xee,0x71)
   1254 #endif
   1255 #else
   1256 typedef struct IOpcPartVtbl {
   1257     BEGIN_INTERFACE
   1258 
   1259     /*** IUnknown methods ***/
   1260     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1261         IOpcPart* This,
   1262         REFIID riid,
   1263         void **ppvObject);
   1264 
   1265     ULONG (STDMETHODCALLTYPE *AddRef)(
   1266         IOpcPart* This);
   1267 
   1268     ULONG (STDMETHODCALLTYPE *Release)(
   1269         IOpcPart* This);
   1270 
   1271     /*** IOpcPart methods ***/
   1272     HRESULT (STDMETHODCALLTYPE *GetRelationshipSet)(
   1273         IOpcPart* This,
   1274         IOpcRelationshipSet **relationshipSet);
   1275 
   1276     HRESULT (STDMETHODCALLTYPE *GetContentStream)(
   1277         IOpcPart* This,
   1278         IStream **stream);
   1279 
   1280     HRESULT (STDMETHODCALLTYPE *GetName)(
   1281         IOpcPart* This,
   1282         IOpcPartUri **name);
   1283 
   1284     HRESULT (STDMETHODCALLTYPE *GetContentType)(
   1285         IOpcPart* This,
   1286         LPWSTR *contentType);
   1287 
   1288     HRESULT (STDMETHODCALLTYPE *GetCompressionOptions)(
   1289         IOpcPart* This,
   1290         OPC_COMPRESSION_OPTIONS *compressionOptions);
   1291 
   1292     END_INTERFACE
   1293 } IOpcPartVtbl;
   1294 interface IOpcPart {
   1295     CONST_VTBL IOpcPartVtbl* lpVtbl;
   1296 };
   1297 
   1298 #ifdef COBJMACROS
   1299 #ifndef WIDL_C_INLINE_WRAPPERS
   1300 /*** IUnknown methods ***/
   1301 #define IOpcPart_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1302 #define IOpcPart_AddRef(This) (This)->lpVtbl->AddRef(This)
   1303 #define IOpcPart_Release(This) (This)->lpVtbl->Release(This)
   1304 /*** IOpcPart methods ***/
   1305 #define IOpcPart_GetRelationshipSet(This,relationshipSet) (This)->lpVtbl->GetRelationshipSet(This,relationshipSet)
   1306 #define IOpcPart_GetContentStream(This,stream) (This)->lpVtbl->GetContentStream(This,stream)
   1307 #define IOpcPart_GetName(This,name) (This)->lpVtbl->GetName(This,name)
   1308 #define IOpcPart_GetContentType(This,contentType) (This)->lpVtbl->GetContentType(This,contentType)
   1309 #define IOpcPart_GetCompressionOptions(This,compressionOptions) (This)->lpVtbl->GetCompressionOptions(This,compressionOptions)
   1310 #else
   1311 /*** IUnknown methods ***/
   1312 static FORCEINLINE HRESULT IOpcPart_QueryInterface(IOpcPart* This,REFIID riid,void **ppvObject) {
   1313     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1314 }
   1315 static FORCEINLINE ULONG IOpcPart_AddRef(IOpcPart* This) {
   1316     return This->lpVtbl->AddRef(This);
   1317 }
   1318 static FORCEINLINE ULONG IOpcPart_Release(IOpcPart* This) {
   1319     return This->lpVtbl->Release(This);
   1320 }
   1321 /*** IOpcPart methods ***/
   1322 static FORCEINLINE HRESULT IOpcPart_GetRelationshipSet(IOpcPart* This,IOpcRelationshipSet **relationshipSet) {
   1323     return This->lpVtbl->GetRelationshipSet(This,relationshipSet);
   1324 }
   1325 static FORCEINLINE HRESULT IOpcPart_GetContentStream(IOpcPart* This,IStream **stream) {
   1326     return This->lpVtbl->GetContentStream(This,stream);
   1327 }
   1328 static FORCEINLINE HRESULT IOpcPart_GetName(IOpcPart* This,IOpcPartUri **name) {
   1329     return This->lpVtbl->GetName(This,name);
   1330 }
   1331 static FORCEINLINE HRESULT IOpcPart_GetContentType(IOpcPart* This,LPWSTR *contentType) {
   1332     return This->lpVtbl->GetContentType(This,contentType);
   1333 }
   1334 static FORCEINLINE HRESULT IOpcPart_GetCompressionOptions(IOpcPart* This,OPC_COMPRESSION_OPTIONS *compressionOptions) {
   1335     return This->lpVtbl->GetCompressionOptions(This,compressionOptions);
   1336 }
   1337 #endif
   1338 #endif
   1339 
   1340 #endif
   1341 
   1342 HRESULT STDMETHODCALLTYPE IOpcPart_GetRelationshipSet_Proxy(
   1343     IOpcPart* This,
   1344     IOpcRelationshipSet **relationshipSet);
   1345 void __RPC_STUB IOpcPart_GetRelationshipSet_Stub(
   1346     IRpcStubBuffer* This,
   1347     IRpcChannelBuffer* pRpcChannelBuffer,
   1348     PRPC_MESSAGE pRpcMessage,
   1349     DWORD* pdwStubPhase);
   1350 HRESULT STDMETHODCALLTYPE IOpcPart_GetContentStream_Proxy(
   1351     IOpcPart* This,
   1352     IStream **stream);
   1353 void __RPC_STUB IOpcPart_GetContentStream_Stub(
   1354     IRpcStubBuffer* This,
   1355     IRpcChannelBuffer* pRpcChannelBuffer,
   1356     PRPC_MESSAGE pRpcMessage,
   1357     DWORD* pdwStubPhase);
   1358 HRESULT STDMETHODCALLTYPE IOpcPart_GetName_Proxy(
   1359     IOpcPart* This,
   1360     IOpcPartUri **name);
   1361 void __RPC_STUB IOpcPart_GetName_Stub(
   1362     IRpcStubBuffer* This,
   1363     IRpcChannelBuffer* pRpcChannelBuffer,
   1364     PRPC_MESSAGE pRpcMessage,
   1365     DWORD* pdwStubPhase);
   1366 HRESULT STDMETHODCALLTYPE IOpcPart_GetContentType_Proxy(
   1367     IOpcPart* This,
   1368     LPWSTR *contentType);
   1369 void __RPC_STUB IOpcPart_GetContentType_Stub(
   1370     IRpcStubBuffer* This,
   1371     IRpcChannelBuffer* pRpcChannelBuffer,
   1372     PRPC_MESSAGE pRpcMessage,
   1373     DWORD* pdwStubPhase);
   1374 HRESULT STDMETHODCALLTYPE IOpcPart_GetCompressionOptions_Proxy(
   1375     IOpcPart* This,
   1376     OPC_COMPRESSION_OPTIONS *compressionOptions);
   1377 void __RPC_STUB IOpcPart_GetCompressionOptions_Stub(
   1378     IRpcStubBuffer* This,
   1379     IRpcChannelBuffer* pRpcChannelBuffer,
   1380     PRPC_MESSAGE pRpcMessage,
   1381     DWORD* pdwStubPhase);
   1382 
   1383 #endif  /* __IOpcPart_INTERFACE_DEFINED__ */
   1384 
   1385 /*****************************************************************************
   1386  * IOpcPartEnumerator interface
   1387  */
   1388 #ifndef __IOpcPartEnumerator_INTERFACE_DEFINED__
   1389 #define __IOpcPartEnumerator_INTERFACE_DEFINED__
   1390 
   1391 DEFINE_GUID(IID_IOpcPartEnumerator, 0x42195949, 0x3b79, 0x4fc8, 0x89,0xc6, 0xfc,0x7f,0xb9,0x79,0xee,0x75);
   1392 #if defined(__cplusplus) && !defined(CINTERFACE)
   1393 MIDL_INTERFACE("42195949-3b79-4fc8-89c6-fc7fb979ee75")
   1394 IOpcPartEnumerator : public IUnknown
   1395 {
   1396     virtual HRESULT STDMETHODCALLTYPE MoveNext(
   1397         WINBOOL *hasNext) = 0;
   1398 
   1399     virtual HRESULT STDMETHODCALLTYPE MovePrevious(
   1400         WINBOOL *hasPrevious) = 0;
   1401 
   1402     virtual HRESULT STDMETHODCALLTYPE GetCurrent(
   1403         IOpcPart **part) = 0;
   1404 
   1405     virtual HRESULT STDMETHODCALLTYPE Clone(
   1406         IOpcPartEnumerator **copy) = 0;
   1407 
   1408 };
   1409 #ifdef __CRT_UUID_DECL
   1410 __CRT_UUID_DECL(IOpcPartEnumerator, 0x42195949, 0x3b79, 0x4fc8, 0x89,0xc6, 0xfc,0x7f,0xb9,0x79,0xee,0x75)
   1411 #endif
   1412 #else
   1413 typedef struct IOpcPartEnumeratorVtbl {
   1414     BEGIN_INTERFACE
   1415 
   1416     /*** IUnknown methods ***/
   1417     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1418         IOpcPartEnumerator* This,
   1419         REFIID riid,
   1420         void **ppvObject);
   1421 
   1422     ULONG (STDMETHODCALLTYPE *AddRef)(
   1423         IOpcPartEnumerator* This);
   1424 
   1425     ULONG (STDMETHODCALLTYPE *Release)(
   1426         IOpcPartEnumerator* This);
   1427 
   1428     /*** IOpcPartEnumerator methods ***/
   1429     HRESULT (STDMETHODCALLTYPE *MoveNext)(
   1430         IOpcPartEnumerator* This,
   1431         WINBOOL *hasNext);
   1432 
   1433     HRESULT (STDMETHODCALLTYPE *MovePrevious)(
   1434         IOpcPartEnumerator* This,
   1435         WINBOOL *hasPrevious);
   1436 
   1437     HRESULT (STDMETHODCALLTYPE *GetCurrent)(
   1438         IOpcPartEnumerator* This,
   1439         IOpcPart **part);
   1440 
   1441     HRESULT (STDMETHODCALLTYPE *Clone)(
   1442         IOpcPartEnumerator* This,
   1443         IOpcPartEnumerator **copy);
   1444 
   1445     END_INTERFACE
   1446 } IOpcPartEnumeratorVtbl;
   1447 interface IOpcPartEnumerator {
   1448     CONST_VTBL IOpcPartEnumeratorVtbl* lpVtbl;
   1449 };
   1450 
   1451 #ifdef COBJMACROS
   1452 #ifndef WIDL_C_INLINE_WRAPPERS
   1453 /*** IUnknown methods ***/
   1454 #define IOpcPartEnumerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1455 #define IOpcPartEnumerator_AddRef(This) (This)->lpVtbl->AddRef(This)
   1456 #define IOpcPartEnumerator_Release(This) (This)->lpVtbl->Release(This)
   1457 /*** IOpcPartEnumerator methods ***/
   1458 #define IOpcPartEnumerator_MoveNext(This,hasNext) (This)->lpVtbl->MoveNext(This,hasNext)
   1459 #define IOpcPartEnumerator_MovePrevious(This,hasPrevious) (This)->lpVtbl->MovePrevious(This,hasPrevious)
   1460 #define IOpcPartEnumerator_GetCurrent(This,part) (This)->lpVtbl->GetCurrent(This,part)
   1461 #define IOpcPartEnumerator_Clone(This,copy) (This)->lpVtbl->Clone(This,copy)
   1462 #else
   1463 /*** IUnknown methods ***/
   1464 static FORCEINLINE HRESULT IOpcPartEnumerator_QueryInterface(IOpcPartEnumerator* This,REFIID riid,void **ppvObject) {
   1465     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1466 }
   1467 static FORCEINLINE ULONG IOpcPartEnumerator_AddRef(IOpcPartEnumerator* This) {
   1468     return This->lpVtbl->AddRef(This);
   1469 }
   1470 static FORCEINLINE ULONG IOpcPartEnumerator_Release(IOpcPartEnumerator* This) {
   1471     return This->lpVtbl->Release(This);
   1472 }
   1473 /*** IOpcPartEnumerator methods ***/
   1474 static FORCEINLINE HRESULT IOpcPartEnumerator_MoveNext(IOpcPartEnumerator* This,WINBOOL *hasNext) {
   1475     return This->lpVtbl->MoveNext(This,hasNext);
   1476 }
   1477 static FORCEINLINE HRESULT IOpcPartEnumerator_MovePrevious(IOpcPartEnumerator* This,WINBOOL *hasPrevious) {
   1478     return This->lpVtbl->MovePrevious(This,hasPrevious);
   1479 }
   1480 static FORCEINLINE HRESULT IOpcPartEnumerator_GetCurrent(IOpcPartEnumerator* This,IOpcPart **part) {
   1481     return This->lpVtbl->GetCurrent(This,part);
   1482 }
   1483 static FORCEINLINE HRESULT IOpcPartEnumerator_Clone(IOpcPartEnumerator* This,IOpcPartEnumerator **copy) {
   1484     return This->lpVtbl->Clone(This,copy);
   1485 }
   1486 #endif
   1487 #endif
   1488 
   1489 #endif
   1490 
   1491 HRESULT STDMETHODCALLTYPE IOpcPartEnumerator_MoveNext_Proxy(
   1492     IOpcPartEnumerator* This,
   1493     WINBOOL *hasNext);
   1494 void __RPC_STUB IOpcPartEnumerator_MoveNext_Stub(
   1495     IRpcStubBuffer* This,
   1496     IRpcChannelBuffer* pRpcChannelBuffer,
   1497     PRPC_MESSAGE pRpcMessage,
   1498     DWORD* pdwStubPhase);
   1499 HRESULT STDMETHODCALLTYPE IOpcPartEnumerator_MovePrevious_Proxy(
   1500     IOpcPartEnumerator* This,
   1501     WINBOOL *hasPrevious);
   1502 void __RPC_STUB IOpcPartEnumerator_MovePrevious_Stub(
   1503     IRpcStubBuffer* This,
   1504     IRpcChannelBuffer* pRpcChannelBuffer,
   1505     PRPC_MESSAGE pRpcMessage,
   1506     DWORD* pdwStubPhase);
   1507 HRESULT STDMETHODCALLTYPE IOpcPartEnumerator_GetCurrent_Proxy(
   1508     IOpcPartEnumerator* This,
   1509     IOpcPart **part);
   1510 void __RPC_STUB IOpcPartEnumerator_GetCurrent_Stub(
   1511     IRpcStubBuffer* This,
   1512     IRpcChannelBuffer* pRpcChannelBuffer,
   1513     PRPC_MESSAGE pRpcMessage,
   1514     DWORD* pdwStubPhase);
   1515 HRESULT STDMETHODCALLTYPE IOpcPartEnumerator_Clone_Proxy(
   1516     IOpcPartEnumerator* This,
   1517     IOpcPartEnumerator **copy);
   1518 void __RPC_STUB IOpcPartEnumerator_Clone_Stub(
   1519     IRpcStubBuffer* This,
   1520     IRpcChannelBuffer* pRpcChannelBuffer,
   1521     PRPC_MESSAGE pRpcMessage,
   1522     DWORD* pdwStubPhase);
   1523 
   1524 #endif  /* __IOpcPartEnumerator_INTERFACE_DEFINED__ */
   1525 
   1526 /*****************************************************************************
   1527  * IOpcPartSet interface
   1528  */
   1529 #ifndef __IOpcPartSet_INTERFACE_DEFINED__
   1530 #define __IOpcPartSet_INTERFACE_DEFINED__
   1531 
   1532 DEFINE_GUID(IID_IOpcPartSet, 0x42195949, 0x3b79, 0x4fc8, 0x89,0xc6, 0xfc,0x7f,0xb9,0x79,0xee,0x73);
   1533 #if defined(__cplusplus) && !defined(CINTERFACE)
   1534 MIDL_INTERFACE("42195949-3b79-4fc8-89c6-fc7fb979ee73")
   1535 IOpcPartSet : public IUnknown
   1536 {
   1537     virtual HRESULT STDMETHODCALLTYPE GetPart(
   1538         IOpcPartUri *name,
   1539         IOpcPart **part) = 0;
   1540 
   1541     virtual HRESULT STDMETHODCALLTYPE CreatePart(
   1542         IOpcPartUri *name,
   1543         LPCWSTR contentType,
   1544         OPC_COMPRESSION_OPTIONS compressionOptions,
   1545         IOpcPart **part) = 0;
   1546 
   1547     virtual HRESULT STDMETHODCALLTYPE DeletePart(
   1548         IOpcPartUri *name) = 0;
   1549 
   1550     virtual HRESULT STDMETHODCALLTYPE PartExists(
   1551         IOpcPartUri *name,
   1552         WINBOOL *partExists) = 0;
   1553 
   1554     virtual HRESULT STDMETHODCALLTYPE GetEnumerator(
   1555         IOpcPartEnumerator **partEnumerator) = 0;
   1556 
   1557 };
   1558 #ifdef __CRT_UUID_DECL
   1559 __CRT_UUID_DECL(IOpcPartSet, 0x42195949, 0x3b79, 0x4fc8, 0x89,0xc6, 0xfc,0x7f,0xb9,0x79,0xee,0x73)
   1560 #endif
   1561 #else
   1562 typedef struct IOpcPartSetVtbl {
   1563     BEGIN_INTERFACE
   1564 
   1565     /*** IUnknown methods ***/
   1566     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1567         IOpcPartSet* This,
   1568         REFIID riid,
   1569         void **ppvObject);
   1570 
   1571     ULONG (STDMETHODCALLTYPE *AddRef)(
   1572         IOpcPartSet* This);
   1573 
   1574     ULONG (STDMETHODCALLTYPE *Release)(
   1575         IOpcPartSet* This);
   1576 
   1577     /*** IOpcPartSet methods ***/
   1578     HRESULT (STDMETHODCALLTYPE *GetPart)(
   1579         IOpcPartSet* This,
   1580         IOpcPartUri *name,
   1581         IOpcPart **part);
   1582 
   1583     HRESULT (STDMETHODCALLTYPE *CreatePart)(
   1584         IOpcPartSet* This,
   1585         IOpcPartUri *name,
   1586         LPCWSTR contentType,
   1587         OPC_COMPRESSION_OPTIONS compressionOptions,
   1588         IOpcPart **part);
   1589 
   1590     HRESULT (STDMETHODCALLTYPE *DeletePart)(
   1591         IOpcPartSet* This,
   1592         IOpcPartUri *name);
   1593 
   1594     HRESULT (STDMETHODCALLTYPE *PartExists)(
   1595         IOpcPartSet* This,
   1596         IOpcPartUri *name,
   1597         WINBOOL *partExists);
   1598 
   1599     HRESULT (STDMETHODCALLTYPE *GetEnumerator)(
   1600         IOpcPartSet* This,
   1601         IOpcPartEnumerator **partEnumerator);
   1602 
   1603     END_INTERFACE
   1604 } IOpcPartSetVtbl;
   1605 interface IOpcPartSet {
   1606     CONST_VTBL IOpcPartSetVtbl* lpVtbl;
   1607 };
   1608 
   1609 #ifdef COBJMACROS
   1610 #ifndef WIDL_C_INLINE_WRAPPERS
   1611 /*** IUnknown methods ***/
   1612 #define IOpcPartSet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1613 #define IOpcPartSet_AddRef(This) (This)->lpVtbl->AddRef(This)
   1614 #define IOpcPartSet_Release(This) (This)->lpVtbl->Release(This)
   1615 /*** IOpcPartSet methods ***/
   1616 #define IOpcPartSet_GetPart(This,name,part) (This)->lpVtbl->GetPart(This,name,part)
   1617 #define IOpcPartSet_CreatePart(This,name,contentType,compressionOptions,part) (This)->lpVtbl->CreatePart(This,name,contentType,compressionOptions,part)
   1618 #define IOpcPartSet_DeletePart(This,name) (This)->lpVtbl->DeletePart(This,name)
   1619 #define IOpcPartSet_PartExists(This,name,partExists) (This)->lpVtbl->PartExists(This,name,partExists)
   1620 #define IOpcPartSet_GetEnumerator(This,partEnumerator) (This)->lpVtbl->GetEnumerator(This,partEnumerator)
   1621 #else
   1622 /*** IUnknown methods ***/
   1623 static FORCEINLINE HRESULT IOpcPartSet_QueryInterface(IOpcPartSet* This,REFIID riid,void **ppvObject) {
   1624     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1625 }
   1626 static FORCEINLINE ULONG IOpcPartSet_AddRef(IOpcPartSet* This) {
   1627     return This->lpVtbl->AddRef(This);
   1628 }
   1629 static FORCEINLINE ULONG IOpcPartSet_Release(IOpcPartSet* This) {
   1630     return This->lpVtbl->Release(This);
   1631 }
   1632 /*** IOpcPartSet methods ***/
   1633 static FORCEINLINE HRESULT IOpcPartSet_GetPart(IOpcPartSet* This,IOpcPartUri *name,IOpcPart **part) {
   1634     return This->lpVtbl->GetPart(This,name,part);
   1635 }
   1636 static FORCEINLINE HRESULT IOpcPartSet_CreatePart(IOpcPartSet* This,IOpcPartUri *name,LPCWSTR contentType,OPC_COMPRESSION_OPTIONS compressionOptions,IOpcPart **part) {
   1637     return This->lpVtbl->CreatePart(This,name,contentType,compressionOptions,part);
   1638 }
   1639 static FORCEINLINE HRESULT IOpcPartSet_DeletePart(IOpcPartSet* This,IOpcPartUri *name) {
   1640     return This->lpVtbl->DeletePart(This,name);
   1641 }
   1642 static FORCEINLINE HRESULT IOpcPartSet_PartExists(IOpcPartSet* This,IOpcPartUri *name,WINBOOL *partExists) {
   1643     return This->lpVtbl->PartExists(This,name,partExists);
   1644 }
   1645 static FORCEINLINE HRESULT IOpcPartSet_GetEnumerator(IOpcPartSet* This,IOpcPartEnumerator **partEnumerator) {
   1646     return This->lpVtbl->GetEnumerator(This,partEnumerator);
   1647 }
   1648 #endif
   1649 #endif
   1650 
   1651 #endif
   1652 
   1653 HRESULT STDMETHODCALLTYPE IOpcPartSet_GetPart_Proxy(
   1654     IOpcPartSet* This,
   1655     IOpcPartUri *name,
   1656     IOpcPart **part);
   1657 void __RPC_STUB IOpcPartSet_GetPart_Stub(
   1658     IRpcStubBuffer* This,
   1659     IRpcChannelBuffer* pRpcChannelBuffer,
   1660     PRPC_MESSAGE pRpcMessage,
   1661     DWORD* pdwStubPhase);
   1662 HRESULT STDMETHODCALLTYPE IOpcPartSet_CreatePart_Proxy(
   1663     IOpcPartSet* This,
   1664     IOpcPartUri *name,
   1665     LPCWSTR contentType,
   1666     OPC_COMPRESSION_OPTIONS compressionOptions,
   1667     IOpcPart **part);
   1668 void __RPC_STUB IOpcPartSet_CreatePart_Stub(
   1669     IRpcStubBuffer* This,
   1670     IRpcChannelBuffer* pRpcChannelBuffer,
   1671     PRPC_MESSAGE pRpcMessage,
   1672     DWORD* pdwStubPhase);
   1673 HRESULT STDMETHODCALLTYPE IOpcPartSet_DeletePart_Proxy(
   1674     IOpcPartSet* This,
   1675     IOpcPartUri *name);
   1676 void __RPC_STUB IOpcPartSet_DeletePart_Stub(
   1677     IRpcStubBuffer* This,
   1678     IRpcChannelBuffer* pRpcChannelBuffer,
   1679     PRPC_MESSAGE pRpcMessage,
   1680     DWORD* pdwStubPhase);
   1681 HRESULT STDMETHODCALLTYPE IOpcPartSet_PartExists_Proxy(
   1682     IOpcPartSet* This,
   1683     IOpcPartUri *name,
   1684     WINBOOL *partExists);
   1685 void __RPC_STUB IOpcPartSet_PartExists_Stub(
   1686     IRpcStubBuffer* This,
   1687     IRpcChannelBuffer* pRpcChannelBuffer,
   1688     PRPC_MESSAGE pRpcMessage,
   1689     DWORD* pdwStubPhase);
   1690 HRESULT STDMETHODCALLTYPE IOpcPartSet_GetEnumerator_Proxy(
   1691     IOpcPartSet* This,
   1692     IOpcPartEnumerator **partEnumerator);
   1693 void __RPC_STUB IOpcPartSet_GetEnumerator_Stub(
   1694     IRpcStubBuffer* This,
   1695     IRpcChannelBuffer* pRpcChannelBuffer,
   1696     PRPC_MESSAGE pRpcMessage,
   1697     DWORD* pdwStubPhase);
   1698 
   1699 #endif  /* __IOpcPartSet_INTERFACE_DEFINED__ */
   1700 
   1701 /*****************************************************************************
   1702  * IOpcPackage interface
   1703  */
   1704 #ifndef __IOpcPackage_INTERFACE_DEFINED__
   1705 #define __IOpcPackage_INTERFACE_DEFINED__
   1706 
   1707 DEFINE_GUID(IID_IOpcPackage, 0x42195949, 0x3b79, 0x4fc8, 0x89,0xc6, 0xfc,0x7f,0xb9,0x79,0xee,0x70);
   1708 #if defined(__cplusplus) && !defined(CINTERFACE)
   1709 MIDL_INTERFACE("42195949-3b79-4fc8-89c6-fc7fb979ee70")
   1710 IOpcPackage : public IUnknown
   1711 {
   1712     virtual HRESULT STDMETHODCALLTYPE GetPartSet(
   1713         IOpcPartSet **partSet) = 0;
   1714 
   1715     virtual HRESULT STDMETHODCALLTYPE GetRelationshipSet(
   1716         IOpcRelationshipSet **relationshipSet) = 0;
   1717 
   1718 };
   1719 #ifdef __CRT_UUID_DECL
   1720 __CRT_UUID_DECL(IOpcPackage, 0x42195949, 0x3b79, 0x4fc8, 0x89,0xc6, 0xfc,0x7f,0xb9,0x79,0xee,0x70)
   1721 #endif
   1722 #else
   1723 typedef struct IOpcPackageVtbl {
   1724     BEGIN_INTERFACE
   1725 
   1726     /*** IUnknown methods ***/
   1727     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1728         IOpcPackage* This,
   1729         REFIID riid,
   1730         void **ppvObject);
   1731 
   1732     ULONG (STDMETHODCALLTYPE *AddRef)(
   1733         IOpcPackage* This);
   1734 
   1735     ULONG (STDMETHODCALLTYPE *Release)(
   1736         IOpcPackage* This);
   1737 
   1738     /*** IOpcPackage methods ***/
   1739     HRESULT (STDMETHODCALLTYPE *GetPartSet)(
   1740         IOpcPackage* This,
   1741         IOpcPartSet **partSet);
   1742 
   1743     HRESULT (STDMETHODCALLTYPE *GetRelationshipSet)(
   1744         IOpcPackage* This,
   1745         IOpcRelationshipSet **relationshipSet);
   1746 
   1747     END_INTERFACE
   1748 } IOpcPackageVtbl;
   1749 interface IOpcPackage {
   1750     CONST_VTBL IOpcPackageVtbl* lpVtbl;
   1751 };
   1752 
   1753 #ifdef COBJMACROS
   1754 #ifndef WIDL_C_INLINE_WRAPPERS
   1755 /*** IUnknown methods ***/
   1756 #define IOpcPackage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1757 #define IOpcPackage_AddRef(This) (This)->lpVtbl->AddRef(This)
   1758 #define IOpcPackage_Release(This) (This)->lpVtbl->Release(This)
   1759 /*** IOpcPackage methods ***/
   1760 #define IOpcPackage_GetPartSet(This,partSet) (This)->lpVtbl->GetPartSet(This,partSet)
   1761 #define IOpcPackage_GetRelationshipSet(This,relationshipSet) (This)->lpVtbl->GetRelationshipSet(This,relationshipSet)
   1762 #else
   1763 /*** IUnknown methods ***/
   1764 static FORCEINLINE HRESULT IOpcPackage_QueryInterface(IOpcPackage* This,REFIID riid,void **ppvObject) {
   1765     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1766 }
   1767 static FORCEINLINE ULONG IOpcPackage_AddRef(IOpcPackage* This) {
   1768     return This->lpVtbl->AddRef(This);
   1769 }
   1770 static FORCEINLINE ULONG IOpcPackage_Release(IOpcPackage* This) {
   1771     return This->lpVtbl->Release(This);
   1772 }
   1773 /*** IOpcPackage methods ***/
   1774 static FORCEINLINE HRESULT IOpcPackage_GetPartSet(IOpcPackage* This,IOpcPartSet **partSet) {
   1775     return This->lpVtbl->GetPartSet(This,partSet);
   1776 }
   1777 static FORCEINLINE HRESULT IOpcPackage_GetRelationshipSet(IOpcPackage* This,IOpcRelationshipSet **relationshipSet) {
   1778     return This->lpVtbl->GetRelationshipSet(This,relationshipSet);
   1779 }
   1780 #endif
   1781 #endif
   1782 
   1783 #endif
   1784 
   1785 HRESULT STDMETHODCALLTYPE IOpcPackage_GetPartSet_Proxy(
   1786     IOpcPackage* This,
   1787     IOpcPartSet **partSet);
   1788 void __RPC_STUB IOpcPackage_GetPartSet_Stub(
   1789     IRpcStubBuffer* This,
   1790     IRpcChannelBuffer* pRpcChannelBuffer,
   1791     PRPC_MESSAGE pRpcMessage,
   1792     DWORD* pdwStubPhase);
   1793 HRESULT STDMETHODCALLTYPE IOpcPackage_GetRelationshipSet_Proxy(
   1794     IOpcPackage* This,
   1795     IOpcRelationshipSet **relationshipSet);
   1796 void __RPC_STUB IOpcPackage_GetRelationshipSet_Stub(
   1797     IRpcStubBuffer* This,
   1798     IRpcChannelBuffer* pRpcChannelBuffer,
   1799     PRPC_MESSAGE pRpcMessage,
   1800     DWORD* pdwStubPhase);
   1801 
   1802 #endif  /* __IOpcPackage_INTERFACE_DEFINED__ */
   1803 
   1804 /*****************************************************************************
   1805  * IOpcRelationship interface
   1806  */
   1807 #ifndef __IOpcRelationship_INTERFACE_DEFINED__
   1808 #define __IOpcRelationship_INTERFACE_DEFINED__
   1809 
   1810 DEFINE_GUID(IID_IOpcRelationship, 0x42195949, 0x3b79, 0x4fc8, 0x89,0xc6, 0xfc,0x7f,0xb9,0x79,0xee,0x72);
   1811 #if defined(__cplusplus) && !defined(CINTERFACE)
   1812 MIDL_INTERFACE("42195949-3b79-4fc8-89c6-fc7fb979ee72")
   1813 IOpcRelationship : public IUnknown
   1814 {
   1815     virtual HRESULT STDMETHODCALLTYPE GetId(
   1816         LPWSTR *relationshipIdentifier) = 0;
   1817 
   1818     virtual HRESULT STDMETHODCALLTYPE GetRelationshipType(
   1819         LPWSTR *relationshipType) = 0;
   1820 
   1821     virtual HRESULT STDMETHODCALLTYPE GetSourceUri(
   1822         IOpcUri **sourceUri) = 0;
   1823 
   1824     virtual HRESULT STDMETHODCALLTYPE GetTargetUri(
   1825         IUri **targetUri) = 0;
   1826 
   1827     virtual HRESULT STDMETHODCALLTYPE GetTargetMode(
   1828         OPC_URI_TARGET_MODE *targetMode) = 0;
   1829 
   1830 };
   1831 #ifdef __CRT_UUID_DECL
   1832 __CRT_UUID_DECL(IOpcRelationship, 0x42195949, 0x3b79, 0x4fc8, 0x89,0xc6, 0xfc,0x7f,0xb9,0x79,0xee,0x72)
   1833 #endif
   1834 #else
   1835 typedef struct IOpcRelationshipVtbl {
   1836     BEGIN_INTERFACE
   1837 
   1838     /*** IUnknown methods ***/
   1839     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1840         IOpcRelationship* This,
   1841         REFIID riid,
   1842         void **ppvObject);
   1843 
   1844     ULONG (STDMETHODCALLTYPE *AddRef)(
   1845         IOpcRelationship* This);
   1846 
   1847     ULONG (STDMETHODCALLTYPE *Release)(
   1848         IOpcRelationship* This);
   1849 
   1850     /*** IOpcRelationship methods ***/
   1851     HRESULT (STDMETHODCALLTYPE *GetId)(
   1852         IOpcRelationship* This,
   1853         LPWSTR *relationshipIdentifier);
   1854 
   1855     HRESULT (STDMETHODCALLTYPE *GetRelationshipType)(
   1856         IOpcRelationship* This,
   1857         LPWSTR *relationshipType);
   1858 
   1859     HRESULT (STDMETHODCALLTYPE *GetSourceUri)(
   1860         IOpcRelationship* This,
   1861         IOpcUri **sourceUri);
   1862 
   1863     HRESULT (STDMETHODCALLTYPE *GetTargetUri)(
   1864         IOpcRelationship* This,
   1865         IUri **targetUri);
   1866 
   1867     HRESULT (STDMETHODCALLTYPE *GetTargetMode)(
   1868         IOpcRelationship* This,
   1869         OPC_URI_TARGET_MODE *targetMode);
   1870 
   1871     END_INTERFACE
   1872 } IOpcRelationshipVtbl;
   1873 interface IOpcRelationship {
   1874     CONST_VTBL IOpcRelationshipVtbl* lpVtbl;
   1875 };
   1876 
   1877 #ifdef COBJMACROS
   1878 #ifndef WIDL_C_INLINE_WRAPPERS
   1879 /*** IUnknown methods ***/
   1880 #define IOpcRelationship_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1881 #define IOpcRelationship_AddRef(This) (This)->lpVtbl->AddRef(This)
   1882 #define IOpcRelationship_Release(This) (This)->lpVtbl->Release(This)
   1883 /*** IOpcRelationship methods ***/
   1884 #define IOpcRelationship_GetId(This,relationshipIdentifier) (This)->lpVtbl->GetId(This,relationshipIdentifier)
   1885 #define IOpcRelationship_GetRelationshipType(This,relationshipType) (This)->lpVtbl->GetRelationshipType(This,relationshipType)
   1886 #define IOpcRelationship_GetSourceUri(This,sourceUri) (This)->lpVtbl->GetSourceUri(This,sourceUri)
   1887 #define IOpcRelationship_GetTargetUri(This,targetUri) (This)->lpVtbl->GetTargetUri(This,targetUri)
   1888 #define IOpcRelationship_GetTargetMode(This,targetMode) (This)->lpVtbl->GetTargetMode(This,targetMode)
   1889 #else
   1890 /*** IUnknown methods ***/
   1891 static FORCEINLINE HRESULT IOpcRelationship_QueryInterface(IOpcRelationship* This,REFIID riid,void **ppvObject) {
   1892     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1893 }
   1894 static FORCEINLINE ULONG IOpcRelationship_AddRef(IOpcRelationship* This) {
   1895     return This->lpVtbl->AddRef(This);
   1896 }
   1897 static FORCEINLINE ULONG IOpcRelationship_Release(IOpcRelationship* This) {
   1898     return This->lpVtbl->Release(This);
   1899 }
   1900 /*** IOpcRelationship methods ***/
   1901 static FORCEINLINE HRESULT IOpcRelationship_GetId(IOpcRelationship* This,LPWSTR *relationshipIdentifier) {
   1902     return This->lpVtbl->GetId(This,relationshipIdentifier);
   1903 }
   1904 static FORCEINLINE HRESULT IOpcRelationship_GetRelationshipType(IOpcRelationship* This,LPWSTR *relationshipType) {
   1905     return This->lpVtbl->GetRelationshipType(This,relationshipType);
   1906 }
   1907 static FORCEINLINE HRESULT IOpcRelationship_GetSourceUri(IOpcRelationship* This,IOpcUri **sourceUri) {
   1908     return This->lpVtbl->GetSourceUri(This,sourceUri);
   1909 }
   1910 static FORCEINLINE HRESULT IOpcRelationship_GetTargetUri(IOpcRelationship* This,IUri **targetUri) {
   1911     return This->lpVtbl->GetTargetUri(This,targetUri);
   1912 }
   1913 static FORCEINLINE HRESULT IOpcRelationship_GetTargetMode(IOpcRelationship* This,OPC_URI_TARGET_MODE *targetMode) {
   1914     return This->lpVtbl->GetTargetMode(This,targetMode);
   1915 }
   1916 #endif
   1917 #endif
   1918 
   1919 #endif
   1920 
   1921 HRESULT STDMETHODCALLTYPE IOpcRelationship_GetId_Proxy(
   1922     IOpcRelationship* This,
   1923     LPWSTR *relationshipIdentifier);
   1924 void __RPC_STUB IOpcRelationship_GetId_Stub(
   1925     IRpcStubBuffer* This,
   1926     IRpcChannelBuffer* pRpcChannelBuffer,
   1927     PRPC_MESSAGE pRpcMessage,
   1928     DWORD* pdwStubPhase);
   1929 HRESULT STDMETHODCALLTYPE IOpcRelationship_GetRelationshipType_Proxy(
   1930     IOpcRelationship* This,
   1931     LPWSTR *relationshipType);
   1932 void __RPC_STUB IOpcRelationship_GetRelationshipType_Stub(
   1933     IRpcStubBuffer* This,
   1934     IRpcChannelBuffer* pRpcChannelBuffer,
   1935     PRPC_MESSAGE pRpcMessage,
   1936     DWORD* pdwStubPhase);
   1937 HRESULT STDMETHODCALLTYPE IOpcRelationship_GetSourceUri_Proxy(
   1938     IOpcRelationship* This,
   1939     IOpcUri **sourceUri);
   1940 void __RPC_STUB IOpcRelationship_GetSourceUri_Stub(
   1941     IRpcStubBuffer* This,
   1942     IRpcChannelBuffer* pRpcChannelBuffer,
   1943     PRPC_MESSAGE pRpcMessage,
   1944     DWORD* pdwStubPhase);
   1945 HRESULT STDMETHODCALLTYPE IOpcRelationship_GetTargetUri_Proxy(
   1946     IOpcRelationship* This,
   1947     IUri **targetUri);
   1948 void __RPC_STUB IOpcRelationship_GetTargetUri_Stub(
   1949     IRpcStubBuffer* This,
   1950     IRpcChannelBuffer* pRpcChannelBuffer,
   1951     PRPC_MESSAGE pRpcMessage,
   1952     DWORD* pdwStubPhase);
   1953 HRESULT STDMETHODCALLTYPE IOpcRelationship_GetTargetMode_Proxy(
   1954     IOpcRelationship* This,
   1955     OPC_URI_TARGET_MODE *targetMode);
   1956 void __RPC_STUB IOpcRelationship_GetTargetMode_Stub(
   1957     IRpcStubBuffer* This,
   1958     IRpcChannelBuffer* pRpcChannelBuffer,
   1959     PRPC_MESSAGE pRpcMessage,
   1960     DWORD* pdwStubPhase);
   1961 
   1962 #endif  /* __IOpcRelationship_INTERFACE_DEFINED__ */
   1963 
   1964 /*****************************************************************************
   1965  * IOpcRelationshipEnumerator interface
   1966  */
   1967 #ifndef __IOpcRelationshipEnumerator_INTERFACE_DEFINED__
   1968 #define __IOpcRelationshipEnumerator_INTERFACE_DEFINED__
   1969 
   1970 DEFINE_GUID(IID_IOpcRelationshipEnumerator, 0x42195949, 0x3b79, 0x4fc8, 0x89,0xc6, 0xfc,0x7f,0xb9,0x79,0xee,0x76);
   1971 #if defined(__cplusplus) && !defined(CINTERFACE)
   1972 MIDL_INTERFACE("42195949-3b79-4fc8-89c6-fc7fb979ee76")
   1973 IOpcRelationshipEnumerator : public IUnknown
   1974 {
   1975     virtual HRESULT STDMETHODCALLTYPE MoveNext(
   1976         WINBOOL *hasNext) = 0;
   1977 
   1978     virtual HRESULT STDMETHODCALLTYPE MovePrevious(
   1979         WINBOOL *hasPrevious) = 0;
   1980 
   1981     virtual HRESULT STDMETHODCALLTYPE GetCurrent(
   1982         IOpcRelationship **relationship) = 0;
   1983 
   1984     virtual HRESULT STDMETHODCALLTYPE Clone(
   1985         IOpcRelationshipEnumerator **copy) = 0;
   1986 
   1987 };
   1988 #ifdef __CRT_UUID_DECL
   1989 __CRT_UUID_DECL(IOpcRelationshipEnumerator, 0x42195949, 0x3b79, 0x4fc8, 0x89,0xc6, 0xfc,0x7f,0xb9,0x79,0xee,0x76)
   1990 #endif
   1991 #else
   1992 typedef struct IOpcRelationshipEnumeratorVtbl {
   1993     BEGIN_INTERFACE
   1994 
   1995     /*** IUnknown methods ***/
   1996     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1997         IOpcRelationshipEnumerator* This,
   1998         REFIID riid,
   1999         void **ppvObject);
   2000 
   2001     ULONG (STDMETHODCALLTYPE *AddRef)(
   2002         IOpcRelationshipEnumerator* This);
   2003 
   2004     ULONG (STDMETHODCALLTYPE *Release)(
   2005         IOpcRelationshipEnumerator* This);
   2006 
   2007     /*** IOpcRelationshipEnumerator methods ***/
   2008     HRESULT (STDMETHODCALLTYPE *MoveNext)(
   2009         IOpcRelationshipEnumerator* This,
   2010         WINBOOL *hasNext);
   2011 
   2012     HRESULT (STDMETHODCALLTYPE *MovePrevious)(
   2013         IOpcRelationshipEnumerator* This,
   2014         WINBOOL *hasPrevious);
   2015 
   2016     HRESULT (STDMETHODCALLTYPE *GetCurrent)(
   2017         IOpcRelationshipEnumerator* This,
   2018         IOpcRelationship **relationship);
   2019 
   2020     HRESULT (STDMETHODCALLTYPE *Clone)(
   2021         IOpcRelationshipEnumerator* This,
   2022         IOpcRelationshipEnumerator **copy);
   2023 
   2024     END_INTERFACE
   2025 } IOpcRelationshipEnumeratorVtbl;
   2026 interface IOpcRelationshipEnumerator {
   2027     CONST_VTBL IOpcRelationshipEnumeratorVtbl* lpVtbl;
   2028 };
   2029 
   2030 #ifdef COBJMACROS
   2031 #ifndef WIDL_C_INLINE_WRAPPERS
   2032 /*** IUnknown methods ***/
   2033 #define IOpcRelationshipEnumerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2034 #define IOpcRelationshipEnumerator_AddRef(This) (This)->lpVtbl->AddRef(This)
   2035 #define IOpcRelationshipEnumerator_Release(This) (This)->lpVtbl->Release(This)
   2036 /*** IOpcRelationshipEnumerator methods ***/
   2037 #define IOpcRelationshipEnumerator_MoveNext(This,hasNext) (This)->lpVtbl->MoveNext(This,hasNext)
   2038 #define IOpcRelationshipEnumerator_MovePrevious(This,hasPrevious) (This)->lpVtbl->MovePrevious(This,hasPrevious)
   2039 #define IOpcRelationshipEnumerator_GetCurrent(This,relationship) (This)->lpVtbl->GetCurrent(This,relationship)
   2040 #define IOpcRelationshipEnumerator_Clone(This,copy) (This)->lpVtbl->Clone(This,copy)
   2041 #else
   2042 /*** IUnknown methods ***/
   2043 static FORCEINLINE HRESULT IOpcRelationshipEnumerator_QueryInterface(IOpcRelationshipEnumerator* This,REFIID riid,void **ppvObject) {
   2044     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2045 }
   2046 static FORCEINLINE ULONG IOpcRelationshipEnumerator_AddRef(IOpcRelationshipEnumerator* This) {
   2047     return This->lpVtbl->AddRef(This);
   2048 }
   2049 static FORCEINLINE ULONG IOpcRelationshipEnumerator_Release(IOpcRelationshipEnumerator* This) {
   2050     return This->lpVtbl->Release(This);
   2051 }
   2052 /*** IOpcRelationshipEnumerator methods ***/
   2053 static FORCEINLINE HRESULT IOpcRelationshipEnumerator_MoveNext(IOpcRelationshipEnumerator* This,WINBOOL *hasNext) {
   2054     return This->lpVtbl->MoveNext(This,hasNext);
   2055 }
   2056 static FORCEINLINE HRESULT IOpcRelationshipEnumerator_MovePrevious(IOpcRelationshipEnumerator* This,WINBOOL *hasPrevious) {
   2057     return This->lpVtbl->MovePrevious(This,hasPrevious);
   2058 }
   2059 static FORCEINLINE HRESULT IOpcRelationshipEnumerator_GetCurrent(IOpcRelationshipEnumerator* This,IOpcRelationship **relationship) {
   2060     return This->lpVtbl->GetCurrent(This,relationship);
   2061 }
   2062 static FORCEINLINE HRESULT IOpcRelationshipEnumerator_Clone(IOpcRelationshipEnumerator* This,IOpcRelationshipEnumerator **copy) {
   2063     return This->lpVtbl->Clone(This,copy);
   2064 }
   2065 #endif
   2066 #endif
   2067 
   2068 #endif
   2069 
   2070 HRESULT STDMETHODCALLTYPE IOpcRelationshipEnumerator_MoveNext_Proxy(
   2071     IOpcRelationshipEnumerator* This,
   2072     WINBOOL *hasNext);
   2073 void __RPC_STUB IOpcRelationshipEnumerator_MoveNext_Stub(
   2074     IRpcStubBuffer* This,
   2075     IRpcChannelBuffer* pRpcChannelBuffer,
   2076     PRPC_MESSAGE pRpcMessage,
   2077     DWORD* pdwStubPhase);
   2078 HRESULT STDMETHODCALLTYPE IOpcRelationshipEnumerator_MovePrevious_Proxy(
   2079     IOpcRelationshipEnumerator* This,
   2080     WINBOOL *hasPrevious);
   2081 void __RPC_STUB IOpcRelationshipEnumerator_MovePrevious_Stub(
   2082     IRpcStubBuffer* This,
   2083     IRpcChannelBuffer* pRpcChannelBuffer,
   2084     PRPC_MESSAGE pRpcMessage,
   2085     DWORD* pdwStubPhase);
   2086 HRESULT STDMETHODCALLTYPE IOpcRelationshipEnumerator_GetCurrent_Proxy(
   2087     IOpcRelationshipEnumerator* This,
   2088     IOpcRelationship **relationship);
   2089 void __RPC_STUB IOpcRelationshipEnumerator_GetCurrent_Stub(
   2090     IRpcStubBuffer* This,
   2091     IRpcChannelBuffer* pRpcChannelBuffer,
   2092     PRPC_MESSAGE pRpcMessage,
   2093     DWORD* pdwStubPhase);
   2094 HRESULT STDMETHODCALLTYPE IOpcRelationshipEnumerator_Clone_Proxy(
   2095     IOpcRelationshipEnumerator* This,
   2096     IOpcRelationshipEnumerator **copy);
   2097 void __RPC_STUB IOpcRelationshipEnumerator_Clone_Stub(
   2098     IRpcStubBuffer* This,
   2099     IRpcChannelBuffer* pRpcChannelBuffer,
   2100     PRPC_MESSAGE pRpcMessage,
   2101     DWORD* pdwStubPhase);
   2102 
   2103 #endif  /* __IOpcRelationshipEnumerator_INTERFACE_DEFINED__ */
   2104 
   2105 /*****************************************************************************
   2106  * IOpcRelationshipSelector interface
   2107  */
   2108 #ifndef __IOpcRelationshipSelector_INTERFACE_DEFINED__
   2109 #define __IOpcRelationshipSelector_INTERFACE_DEFINED__
   2110 
   2111 DEFINE_GUID(IID_IOpcRelationshipSelector, 0xf8f26c7f, 0xb28f, 0x4899, 0x84,0xc8, 0x5d,0x56,0x39,0xed,0xe7,0x5f);
   2112 #if defined(__cplusplus) && !defined(CINTERFACE)
   2113 MIDL_INTERFACE("f8f26c7f-b28f-4899-84c8-5d5639ede75f")
   2114 IOpcRelationshipSelector : public IUnknown
   2115 {
   2116     virtual HRESULT STDMETHODCALLTYPE GetSelectorType(
   2117         OPC_RELATIONSHIP_SELECTOR *selector) = 0;
   2118 
   2119     virtual HRESULT STDMETHODCALLTYPE GetSelectionCriterion(
   2120         LPWSTR *selectionCriterion) = 0;
   2121 
   2122 };
   2123 #ifdef __CRT_UUID_DECL
   2124 __CRT_UUID_DECL(IOpcRelationshipSelector, 0xf8f26c7f, 0xb28f, 0x4899, 0x84,0xc8, 0x5d,0x56,0x39,0xed,0xe7,0x5f)
   2125 #endif
   2126 #else
   2127 typedef struct IOpcRelationshipSelectorVtbl {
   2128     BEGIN_INTERFACE
   2129 
   2130     /*** IUnknown methods ***/
   2131     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2132         IOpcRelationshipSelector* This,
   2133         REFIID riid,
   2134         void **ppvObject);
   2135 
   2136     ULONG (STDMETHODCALLTYPE *AddRef)(
   2137         IOpcRelationshipSelector* This);
   2138 
   2139     ULONG (STDMETHODCALLTYPE *Release)(
   2140         IOpcRelationshipSelector* This);
   2141 
   2142     /*** IOpcRelationshipSelector methods ***/
   2143     HRESULT (STDMETHODCALLTYPE *GetSelectorType)(
   2144         IOpcRelationshipSelector* This,
   2145         OPC_RELATIONSHIP_SELECTOR *selector);
   2146 
   2147     HRESULT (STDMETHODCALLTYPE *GetSelectionCriterion)(
   2148         IOpcRelationshipSelector* This,
   2149         LPWSTR *selectionCriterion);
   2150 
   2151     END_INTERFACE
   2152 } IOpcRelationshipSelectorVtbl;
   2153 interface IOpcRelationshipSelector {
   2154     CONST_VTBL IOpcRelationshipSelectorVtbl* lpVtbl;
   2155 };
   2156 
   2157 #ifdef COBJMACROS
   2158 #ifndef WIDL_C_INLINE_WRAPPERS
   2159 /*** IUnknown methods ***/
   2160 #define IOpcRelationshipSelector_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2161 #define IOpcRelationshipSelector_AddRef(This) (This)->lpVtbl->AddRef(This)
   2162 #define IOpcRelationshipSelector_Release(This) (This)->lpVtbl->Release(This)
   2163 /*** IOpcRelationshipSelector methods ***/
   2164 #define IOpcRelationshipSelector_GetSelectorType(This,selector) (This)->lpVtbl->GetSelectorType(This,selector)
   2165 #define IOpcRelationshipSelector_GetSelectionCriterion(This,selectionCriterion) (This)->lpVtbl->GetSelectionCriterion(This,selectionCriterion)
   2166 #else
   2167 /*** IUnknown methods ***/
   2168 static FORCEINLINE HRESULT IOpcRelationshipSelector_QueryInterface(IOpcRelationshipSelector* This,REFIID riid,void **ppvObject) {
   2169     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2170 }
   2171 static FORCEINLINE ULONG IOpcRelationshipSelector_AddRef(IOpcRelationshipSelector* This) {
   2172     return This->lpVtbl->AddRef(This);
   2173 }
   2174 static FORCEINLINE ULONG IOpcRelationshipSelector_Release(IOpcRelationshipSelector* This) {
   2175     return This->lpVtbl->Release(This);
   2176 }
   2177 /*** IOpcRelationshipSelector methods ***/
   2178 static FORCEINLINE HRESULT IOpcRelationshipSelector_GetSelectorType(IOpcRelationshipSelector* This,OPC_RELATIONSHIP_SELECTOR *selector) {
   2179     return This->lpVtbl->GetSelectorType(This,selector);
   2180 }
   2181 static FORCEINLINE HRESULT IOpcRelationshipSelector_GetSelectionCriterion(IOpcRelationshipSelector* This,LPWSTR *selectionCriterion) {
   2182     return This->lpVtbl->GetSelectionCriterion(This,selectionCriterion);
   2183 }
   2184 #endif
   2185 #endif
   2186 
   2187 #endif
   2188 
   2189 HRESULT STDMETHODCALLTYPE IOpcRelationshipSelector_GetSelectorType_Proxy(
   2190     IOpcRelationshipSelector* This,
   2191     OPC_RELATIONSHIP_SELECTOR *selector);
   2192 void __RPC_STUB IOpcRelationshipSelector_GetSelectorType_Stub(
   2193     IRpcStubBuffer* This,
   2194     IRpcChannelBuffer* pRpcChannelBuffer,
   2195     PRPC_MESSAGE pRpcMessage,
   2196     DWORD* pdwStubPhase);
   2197 HRESULT STDMETHODCALLTYPE IOpcRelationshipSelector_GetSelectionCriterion_Proxy(
   2198     IOpcRelationshipSelector* This,
   2199     LPWSTR *selectionCriterion);
   2200 void __RPC_STUB IOpcRelationshipSelector_GetSelectionCriterion_Stub(
   2201     IRpcStubBuffer* This,
   2202     IRpcChannelBuffer* pRpcChannelBuffer,
   2203     PRPC_MESSAGE pRpcMessage,
   2204     DWORD* pdwStubPhase);
   2205 
   2206 #endif  /* __IOpcRelationshipSelector_INTERFACE_DEFINED__ */
   2207 
   2208 /*****************************************************************************
   2209  * IOpcRelationshipSet interface
   2210  */
   2211 #ifndef __IOpcRelationshipSet_INTERFACE_DEFINED__
   2212 #define __IOpcRelationshipSet_INTERFACE_DEFINED__
   2213 
   2214 DEFINE_GUID(IID_IOpcRelationshipSet, 0x42195949, 0x3b79, 0x4fc8, 0x89,0xc6, 0xfc,0x7f,0xb9,0x79,0xee,0x74);
   2215 #if defined(__cplusplus) && !defined(CINTERFACE)
   2216 MIDL_INTERFACE("42195949-3b79-4fc8-89c6-fc7fb979ee74")
   2217 IOpcRelationshipSet : public IUnknown
   2218 {
   2219     virtual HRESULT STDMETHODCALLTYPE GetRelationship(
   2220         LPCWSTR relationshipIdentifier,
   2221         IOpcRelationship **relationship) = 0;
   2222 
   2223     virtual HRESULT STDMETHODCALLTYPE CreateRelationship(
   2224         LPCWSTR relationshipIdentifier,
   2225         LPCWSTR relationshipType,
   2226         IUri *targetUri,
   2227         OPC_URI_TARGET_MODE targetMode,
   2228         IOpcRelationship **relationship) = 0;
   2229 
   2230     virtual HRESULT STDMETHODCALLTYPE DeleteRelationship(
   2231         LPCWSTR relationshipIdentifier) = 0;
   2232 
   2233     virtual HRESULT STDMETHODCALLTYPE RelationshipExists(
   2234         LPCWSTR relationshipIdentifier,
   2235         WINBOOL *relationshipExists) = 0;
   2236 
   2237     virtual HRESULT STDMETHODCALLTYPE GetEnumerator(
   2238         IOpcRelationshipEnumerator **relationshipEnumerator) = 0;
   2239 
   2240     virtual HRESULT STDMETHODCALLTYPE GetEnumeratorForType(
   2241         LPCWSTR relationshipType,
   2242         IOpcRelationshipEnumerator **relationshipEnumerator) = 0;
   2243 
   2244     virtual HRESULT STDMETHODCALLTYPE GetRelationshipsContentStream(
   2245         IStream **contents) = 0;
   2246 
   2247 };
   2248 #ifdef __CRT_UUID_DECL
   2249 __CRT_UUID_DECL(IOpcRelationshipSet, 0x42195949, 0x3b79, 0x4fc8, 0x89,0xc6, 0xfc,0x7f,0xb9,0x79,0xee,0x74)
   2250 #endif
   2251 #else
   2252 typedef struct IOpcRelationshipSetVtbl {
   2253     BEGIN_INTERFACE
   2254 
   2255     /*** IUnknown methods ***/
   2256     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2257         IOpcRelationshipSet* This,
   2258         REFIID riid,
   2259         void **ppvObject);
   2260 
   2261     ULONG (STDMETHODCALLTYPE *AddRef)(
   2262         IOpcRelationshipSet* This);
   2263 
   2264     ULONG (STDMETHODCALLTYPE *Release)(
   2265         IOpcRelationshipSet* This);
   2266 
   2267     /*** IOpcRelationshipSet methods ***/
   2268     HRESULT (STDMETHODCALLTYPE *GetRelationship)(
   2269         IOpcRelationshipSet* This,
   2270         LPCWSTR relationshipIdentifier,
   2271         IOpcRelationship **relationship);
   2272 
   2273     HRESULT (STDMETHODCALLTYPE *CreateRelationship)(
   2274         IOpcRelationshipSet* This,
   2275         LPCWSTR relationshipIdentifier,
   2276         LPCWSTR relationshipType,
   2277         IUri *targetUri,
   2278         OPC_URI_TARGET_MODE targetMode,
   2279         IOpcRelationship **relationship);
   2280 
   2281     HRESULT (STDMETHODCALLTYPE *DeleteRelationship)(
   2282         IOpcRelationshipSet* This,
   2283         LPCWSTR relationshipIdentifier);
   2284 
   2285     HRESULT (STDMETHODCALLTYPE *RelationshipExists)(
   2286         IOpcRelationshipSet* This,
   2287         LPCWSTR relationshipIdentifier,
   2288         WINBOOL *relationshipExists);
   2289 
   2290     HRESULT (STDMETHODCALLTYPE *GetEnumerator)(
   2291         IOpcRelationshipSet* This,
   2292         IOpcRelationshipEnumerator **relationshipEnumerator);
   2293 
   2294     HRESULT (STDMETHODCALLTYPE *GetEnumeratorForType)(
   2295         IOpcRelationshipSet* This,
   2296         LPCWSTR relationshipType,
   2297         IOpcRelationshipEnumerator **relationshipEnumerator);
   2298 
   2299     HRESULT (STDMETHODCALLTYPE *GetRelationshipsContentStream)(
   2300         IOpcRelationshipSet* This,
   2301         IStream **contents);
   2302 
   2303     END_INTERFACE
   2304 } IOpcRelationshipSetVtbl;
   2305 interface IOpcRelationshipSet {
   2306     CONST_VTBL IOpcRelationshipSetVtbl* lpVtbl;
   2307 };
   2308 
   2309 #ifdef COBJMACROS
   2310 #ifndef WIDL_C_INLINE_WRAPPERS
   2311 /*** IUnknown methods ***/
   2312 #define IOpcRelationshipSet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2313 #define IOpcRelationshipSet_AddRef(This) (This)->lpVtbl->AddRef(This)
   2314 #define IOpcRelationshipSet_Release(This) (This)->lpVtbl->Release(This)
   2315 /*** IOpcRelationshipSet methods ***/
   2316 #define IOpcRelationshipSet_GetRelationship(This,relationshipIdentifier,relationship) (This)->lpVtbl->GetRelationship(This,relationshipIdentifier,relationship)
   2317 #define IOpcRelationshipSet_CreateRelationship(This,relationshipIdentifier,relationshipType,targetUri,targetMode,relationship) (This)->lpVtbl->CreateRelationship(This,relationshipIdentifier,relationshipType,targetUri,targetMode,relationship)
   2318 #define IOpcRelationshipSet_DeleteRelationship(This,relationshipIdentifier) (This)->lpVtbl->DeleteRelationship(This,relationshipIdentifier)
   2319 #define IOpcRelationshipSet_RelationshipExists(This,relationshipIdentifier,relationshipExists) (This)->lpVtbl->RelationshipExists(This,relationshipIdentifier,relationshipExists)
   2320 #define IOpcRelationshipSet_GetEnumerator(This,relationshipEnumerator) (This)->lpVtbl->GetEnumerator(This,relationshipEnumerator)
   2321 #define IOpcRelationshipSet_GetEnumeratorForType(This,relationshipType,relationshipEnumerator) (This)->lpVtbl->GetEnumeratorForType(This,relationshipType,relationshipEnumerator)
   2322 #define IOpcRelationshipSet_GetRelationshipsContentStream(This,contents) (This)->lpVtbl->GetRelationshipsContentStream(This,contents)
   2323 #else
   2324 /*** IUnknown methods ***/
   2325 static FORCEINLINE HRESULT IOpcRelationshipSet_QueryInterface(IOpcRelationshipSet* This,REFIID riid,void **ppvObject) {
   2326     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2327 }
   2328 static FORCEINLINE ULONG IOpcRelationshipSet_AddRef(IOpcRelationshipSet* This) {
   2329     return This->lpVtbl->AddRef(This);
   2330 }
   2331 static FORCEINLINE ULONG IOpcRelationshipSet_Release(IOpcRelationshipSet* This) {
   2332     return This->lpVtbl->Release(This);
   2333 }
   2334 /*** IOpcRelationshipSet methods ***/
   2335 static FORCEINLINE HRESULT IOpcRelationshipSet_GetRelationship(IOpcRelationshipSet* This,LPCWSTR relationshipIdentifier,IOpcRelationship **relationship) {
   2336     return This->lpVtbl->GetRelationship(This,relationshipIdentifier,relationship);
   2337 }
   2338 static FORCEINLINE HRESULT IOpcRelationshipSet_CreateRelationship(IOpcRelationshipSet* This,LPCWSTR relationshipIdentifier,LPCWSTR relationshipType,IUri *targetUri,OPC_URI_TARGET_MODE targetMode,IOpcRelationship **relationship) {
   2339     return This->lpVtbl->CreateRelationship(This,relationshipIdentifier,relationshipType,targetUri,targetMode,relationship);
   2340 }
   2341 static FORCEINLINE HRESULT IOpcRelationshipSet_DeleteRelationship(IOpcRelationshipSet* This,LPCWSTR relationshipIdentifier) {
   2342     return This->lpVtbl->DeleteRelationship(This,relationshipIdentifier);
   2343 }
   2344 static FORCEINLINE HRESULT IOpcRelationshipSet_RelationshipExists(IOpcRelationshipSet* This,LPCWSTR relationshipIdentifier,WINBOOL *relationshipExists) {
   2345     return This->lpVtbl->RelationshipExists(This,relationshipIdentifier,relationshipExists);
   2346 }
   2347 static FORCEINLINE HRESULT IOpcRelationshipSet_GetEnumerator(IOpcRelationshipSet* This,IOpcRelationshipEnumerator **relationshipEnumerator) {
   2348     return This->lpVtbl->GetEnumerator(This,relationshipEnumerator);
   2349 }
   2350 static FORCEINLINE HRESULT IOpcRelationshipSet_GetEnumeratorForType(IOpcRelationshipSet* This,LPCWSTR relationshipType,IOpcRelationshipEnumerator **relationshipEnumerator) {
   2351     return This->lpVtbl->GetEnumeratorForType(This,relationshipType,relationshipEnumerator);
   2352 }
   2353 static FORCEINLINE HRESULT IOpcRelationshipSet_GetRelationshipsContentStream(IOpcRelationshipSet* This,IStream **contents) {
   2354     return This->lpVtbl->GetRelationshipsContentStream(This,contents);
   2355 }
   2356 #endif
   2357 #endif
   2358 
   2359 #endif
   2360 
   2361 HRESULT STDMETHODCALLTYPE IOpcRelationshipSet_GetRelationship_Proxy(
   2362     IOpcRelationshipSet* This,
   2363     LPCWSTR relationshipIdentifier,
   2364     IOpcRelationship **relationship);
   2365 void __RPC_STUB IOpcRelationshipSet_GetRelationship_Stub(
   2366     IRpcStubBuffer* This,
   2367     IRpcChannelBuffer* pRpcChannelBuffer,
   2368     PRPC_MESSAGE pRpcMessage,
   2369     DWORD* pdwStubPhase);
   2370 HRESULT STDMETHODCALLTYPE IOpcRelationshipSet_CreateRelationship_Proxy(
   2371     IOpcRelationshipSet* This,
   2372     LPCWSTR relationshipIdentifier,
   2373     LPCWSTR relationshipType,
   2374     IUri *targetUri,
   2375     OPC_URI_TARGET_MODE targetMode,
   2376     IOpcRelationship **relationship);
   2377 void __RPC_STUB IOpcRelationshipSet_CreateRelationship_Stub(
   2378     IRpcStubBuffer* This,
   2379     IRpcChannelBuffer* pRpcChannelBuffer,
   2380     PRPC_MESSAGE pRpcMessage,
   2381     DWORD* pdwStubPhase);
   2382 HRESULT STDMETHODCALLTYPE IOpcRelationshipSet_DeleteRelationship_Proxy(
   2383     IOpcRelationshipSet* This,
   2384     LPCWSTR relationshipIdentifier);
   2385 void __RPC_STUB IOpcRelationshipSet_DeleteRelationship_Stub(
   2386     IRpcStubBuffer* This,
   2387     IRpcChannelBuffer* pRpcChannelBuffer,
   2388     PRPC_MESSAGE pRpcMessage,
   2389     DWORD* pdwStubPhase);
   2390 HRESULT STDMETHODCALLTYPE IOpcRelationshipSet_RelationshipExists_Proxy(
   2391     IOpcRelationshipSet* This,
   2392     LPCWSTR relationshipIdentifier,
   2393     WINBOOL *relationshipExists);
   2394 void __RPC_STUB IOpcRelationshipSet_RelationshipExists_Stub(
   2395     IRpcStubBuffer* This,
   2396     IRpcChannelBuffer* pRpcChannelBuffer,
   2397     PRPC_MESSAGE pRpcMessage,
   2398     DWORD* pdwStubPhase);
   2399 HRESULT STDMETHODCALLTYPE IOpcRelationshipSet_GetEnumerator_Proxy(
   2400     IOpcRelationshipSet* This,
   2401     IOpcRelationshipEnumerator **relationshipEnumerator);
   2402 void __RPC_STUB IOpcRelationshipSet_GetEnumerator_Stub(
   2403     IRpcStubBuffer* This,
   2404     IRpcChannelBuffer* pRpcChannelBuffer,
   2405     PRPC_MESSAGE pRpcMessage,
   2406     DWORD* pdwStubPhase);
   2407 HRESULT STDMETHODCALLTYPE IOpcRelationshipSet_GetEnumeratorForType_Proxy(
   2408     IOpcRelationshipSet* This,
   2409     LPCWSTR relationshipType,
   2410     IOpcRelationshipEnumerator **relationshipEnumerator);
   2411 void __RPC_STUB IOpcRelationshipSet_GetEnumeratorForType_Stub(
   2412     IRpcStubBuffer* This,
   2413     IRpcChannelBuffer* pRpcChannelBuffer,
   2414     PRPC_MESSAGE pRpcMessage,
   2415     DWORD* pdwStubPhase);
   2416 HRESULT STDMETHODCALLTYPE IOpcRelationshipSet_GetRelationshipsContentStream_Proxy(
   2417     IOpcRelationshipSet* This,
   2418     IStream **contents);
   2419 void __RPC_STUB IOpcRelationshipSet_GetRelationshipsContentStream_Stub(
   2420     IRpcStubBuffer* This,
   2421     IRpcChannelBuffer* pRpcChannelBuffer,
   2422     PRPC_MESSAGE pRpcMessage,
   2423     DWORD* pdwStubPhase);
   2424 
   2425 #endif  /* __IOpcRelationshipSet_INTERFACE_DEFINED__ */
   2426 
   2427 /*****************************************************************************
   2428  * IOpcSignatureCustomObject interface
   2429  */
   2430 #ifndef __IOpcSignatureCustomObject_INTERFACE_DEFINED__
   2431 #define __IOpcSignatureCustomObject_INTERFACE_DEFINED__
   2432 
   2433 DEFINE_GUID(IID_IOpcSignatureCustomObject, 0x5d77a19e, 0x62c1, 0x44e7, 0xbe,0xcd, 0x45,0xda,0x5a,0xe5,0x1a,0x56);
   2434 #if defined(__cplusplus) && !defined(CINTERFACE)
   2435 MIDL_INTERFACE("5d77a19e-62c1-44e7-becd-45da5ae51a56")
   2436 IOpcSignatureCustomObject : public IUnknown
   2437 {
   2438     virtual HRESULT STDMETHODCALLTYPE GetXml(
   2439         UINT8 **xmlMarkup,
   2440         UINT32 *count) = 0;
   2441 
   2442 };
   2443 #ifdef __CRT_UUID_DECL
   2444 __CRT_UUID_DECL(IOpcSignatureCustomObject, 0x5d77a19e, 0x62c1, 0x44e7, 0xbe,0xcd, 0x45,0xda,0x5a,0xe5,0x1a,0x56)
   2445 #endif
   2446 #else
   2447 typedef struct IOpcSignatureCustomObjectVtbl {
   2448     BEGIN_INTERFACE
   2449 
   2450     /*** IUnknown methods ***/
   2451     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2452         IOpcSignatureCustomObject* This,
   2453         REFIID riid,
   2454         void **ppvObject);
   2455 
   2456     ULONG (STDMETHODCALLTYPE *AddRef)(
   2457         IOpcSignatureCustomObject* This);
   2458 
   2459     ULONG (STDMETHODCALLTYPE *Release)(
   2460         IOpcSignatureCustomObject* This);
   2461 
   2462     /*** IOpcSignatureCustomObject methods ***/
   2463     HRESULT (STDMETHODCALLTYPE *GetXml)(
   2464         IOpcSignatureCustomObject* This,
   2465         UINT8 **xmlMarkup,
   2466         UINT32 *count);
   2467 
   2468     END_INTERFACE
   2469 } IOpcSignatureCustomObjectVtbl;
   2470 interface IOpcSignatureCustomObject {
   2471     CONST_VTBL IOpcSignatureCustomObjectVtbl* lpVtbl;
   2472 };
   2473 
   2474 #ifdef COBJMACROS
   2475 #ifndef WIDL_C_INLINE_WRAPPERS
   2476 /*** IUnknown methods ***/
   2477 #define IOpcSignatureCustomObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2478 #define IOpcSignatureCustomObject_AddRef(This) (This)->lpVtbl->AddRef(This)
   2479 #define IOpcSignatureCustomObject_Release(This) (This)->lpVtbl->Release(This)
   2480 /*** IOpcSignatureCustomObject methods ***/
   2481 #define IOpcSignatureCustomObject_GetXml(This,xmlMarkup,count) (This)->lpVtbl->GetXml(This,xmlMarkup,count)
   2482 #else
   2483 /*** IUnknown methods ***/
   2484 static FORCEINLINE HRESULT IOpcSignatureCustomObject_QueryInterface(IOpcSignatureCustomObject* This,REFIID riid,void **ppvObject) {
   2485     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2486 }
   2487 static FORCEINLINE ULONG IOpcSignatureCustomObject_AddRef(IOpcSignatureCustomObject* This) {
   2488     return This->lpVtbl->AddRef(This);
   2489 }
   2490 static FORCEINLINE ULONG IOpcSignatureCustomObject_Release(IOpcSignatureCustomObject* This) {
   2491     return This->lpVtbl->Release(This);
   2492 }
   2493 /*** IOpcSignatureCustomObject methods ***/
   2494 static FORCEINLINE HRESULT IOpcSignatureCustomObject_GetXml(IOpcSignatureCustomObject* This,UINT8 **xmlMarkup,UINT32 *count) {
   2495     return This->lpVtbl->GetXml(This,xmlMarkup,count);
   2496 }
   2497 #endif
   2498 #endif
   2499 
   2500 #endif
   2501 
   2502 HRESULT STDMETHODCALLTYPE IOpcSignatureCustomObject_GetXml_Proxy(
   2503     IOpcSignatureCustomObject* This,
   2504     UINT8 **xmlMarkup,
   2505     UINT32 *count);
   2506 void __RPC_STUB IOpcSignatureCustomObject_GetXml_Stub(
   2507     IRpcStubBuffer* This,
   2508     IRpcChannelBuffer* pRpcChannelBuffer,
   2509     PRPC_MESSAGE pRpcMessage,
   2510     DWORD* pdwStubPhase);
   2511 
   2512 #endif  /* __IOpcSignatureCustomObject_INTERFACE_DEFINED__ */
   2513 
   2514 /*****************************************************************************
   2515  * IOpcSignatureCustomObjectEnumerator interface
   2516  */
   2517 #ifndef __IOpcSignatureCustomObjectEnumerator_INTERFACE_DEFINED__
   2518 #define __IOpcSignatureCustomObjectEnumerator_INTERFACE_DEFINED__
   2519 
   2520 DEFINE_GUID(IID_IOpcSignatureCustomObjectEnumerator, 0x5ee4fe1d, 0xe1b0, 0x4683, 0x80,0x79, 0x7e,0xa0,0xfc,0xf8,0x0b,0x4c);
   2521 #if defined(__cplusplus) && !defined(CINTERFACE)
   2522 MIDL_INTERFACE("5ee4fe1d-e1b0-4683-8079-7ea0fcf80b4c")
   2523 IOpcSignatureCustomObjectEnumerator : public IUnknown
   2524 {
   2525     virtual HRESULT STDMETHODCALLTYPE MoveNext(
   2526         WINBOOL *hasNext) = 0;
   2527 
   2528     virtual HRESULT STDMETHODCALLTYPE MovePrevious(
   2529         WINBOOL *hasPrevious) = 0;
   2530 
   2531     virtual HRESULT STDMETHODCALLTYPE GetCurrent(
   2532         IOpcSignatureCustomObject **customObject) = 0;
   2533 
   2534     virtual HRESULT STDMETHODCALLTYPE Clone(
   2535         IOpcSignatureCustomObjectEnumerator **copy) = 0;
   2536 
   2537 };
   2538 #ifdef __CRT_UUID_DECL
   2539 __CRT_UUID_DECL(IOpcSignatureCustomObjectEnumerator, 0x5ee4fe1d, 0xe1b0, 0x4683, 0x80,0x79, 0x7e,0xa0,0xfc,0xf8,0x0b,0x4c)
   2540 #endif
   2541 #else
   2542 typedef struct IOpcSignatureCustomObjectEnumeratorVtbl {
   2543     BEGIN_INTERFACE
   2544 
   2545     /*** IUnknown methods ***/
   2546     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2547         IOpcSignatureCustomObjectEnumerator* This,
   2548         REFIID riid,
   2549         void **ppvObject);
   2550 
   2551     ULONG (STDMETHODCALLTYPE *AddRef)(
   2552         IOpcSignatureCustomObjectEnumerator* This);
   2553 
   2554     ULONG (STDMETHODCALLTYPE *Release)(
   2555         IOpcSignatureCustomObjectEnumerator* This);
   2556 
   2557     /*** IOpcSignatureCustomObjectEnumerator methods ***/
   2558     HRESULT (STDMETHODCALLTYPE *MoveNext)(
   2559         IOpcSignatureCustomObjectEnumerator* This,
   2560         WINBOOL *hasNext);
   2561 
   2562     HRESULT (STDMETHODCALLTYPE *MovePrevious)(
   2563         IOpcSignatureCustomObjectEnumerator* This,
   2564         WINBOOL *hasPrevious);
   2565 
   2566     HRESULT (STDMETHODCALLTYPE *GetCurrent)(
   2567         IOpcSignatureCustomObjectEnumerator* This,
   2568         IOpcSignatureCustomObject **customObject);
   2569 
   2570     HRESULT (STDMETHODCALLTYPE *Clone)(
   2571         IOpcSignatureCustomObjectEnumerator* This,
   2572         IOpcSignatureCustomObjectEnumerator **copy);
   2573 
   2574     END_INTERFACE
   2575 } IOpcSignatureCustomObjectEnumeratorVtbl;
   2576 interface IOpcSignatureCustomObjectEnumerator {
   2577     CONST_VTBL IOpcSignatureCustomObjectEnumeratorVtbl* lpVtbl;
   2578 };
   2579 
   2580 #ifdef COBJMACROS
   2581 #ifndef WIDL_C_INLINE_WRAPPERS
   2582 /*** IUnknown methods ***/
   2583 #define IOpcSignatureCustomObjectEnumerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2584 #define IOpcSignatureCustomObjectEnumerator_AddRef(This) (This)->lpVtbl->AddRef(This)
   2585 #define IOpcSignatureCustomObjectEnumerator_Release(This) (This)->lpVtbl->Release(This)
   2586 /*** IOpcSignatureCustomObjectEnumerator methods ***/
   2587 #define IOpcSignatureCustomObjectEnumerator_MoveNext(This,hasNext) (This)->lpVtbl->MoveNext(This,hasNext)
   2588 #define IOpcSignatureCustomObjectEnumerator_MovePrevious(This,hasPrevious) (This)->lpVtbl->MovePrevious(This,hasPrevious)
   2589 #define IOpcSignatureCustomObjectEnumerator_GetCurrent(This,customObject) (This)->lpVtbl->GetCurrent(This,customObject)
   2590 #define IOpcSignatureCustomObjectEnumerator_Clone(This,copy) (This)->lpVtbl->Clone(This,copy)
   2591 #else
   2592 /*** IUnknown methods ***/
   2593 static FORCEINLINE HRESULT IOpcSignatureCustomObjectEnumerator_QueryInterface(IOpcSignatureCustomObjectEnumerator* This,REFIID riid,void **ppvObject) {
   2594     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2595 }
   2596 static FORCEINLINE ULONG IOpcSignatureCustomObjectEnumerator_AddRef(IOpcSignatureCustomObjectEnumerator* This) {
   2597     return This->lpVtbl->AddRef(This);
   2598 }
   2599 static FORCEINLINE ULONG IOpcSignatureCustomObjectEnumerator_Release(IOpcSignatureCustomObjectEnumerator* This) {
   2600     return This->lpVtbl->Release(This);
   2601 }
   2602 /*** IOpcSignatureCustomObjectEnumerator methods ***/
   2603 static FORCEINLINE HRESULT IOpcSignatureCustomObjectEnumerator_MoveNext(IOpcSignatureCustomObjectEnumerator* This,WINBOOL *hasNext) {
   2604     return This->lpVtbl->MoveNext(This,hasNext);
   2605 }
   2606 static FORCEINLINE HRESULT IOpcSignatureCustomObjectEnumerator_MovePrevious(IOpcSignatureCustomObjectEnumerator* This,WINBOOL *hasPrevious) {
   2607     return This->lpVtbl->MovePrevious(This,hasPrevious);
   2608 }
   2609 static FORCEINLINE HRESULT IOpcSignatureCustomObjectEnumerator_GetCurrent(IOpcSignatureCustomObjectEnumerator* This,IOpcSignatureCustomObject **customObject) {
   2610     return This->lpVtbl->GetCurrent(This,customObject);
   2611 }
   2612 static FORCEINLINE HRESULT IOpcSignatureCustomObjectEnumerator_Clone(IOpcSignatureCustomObjectEnumerator* This,IOpcSignatureCustomObjectEnumerator **copy) {
   2613     return This->lpVtbl->Clone(This,copy);
   2614 }
   2615 #endif
   2616 #endif
   2617 
   2618 #endif
   2619 
   2620 HRESULT STDMETHODCALLTYPE IOpcSignatureCustomObjectEnumerator_MoveNext_Proxy(
   2621     IOpcSignatureCustomObjectEnumerator* This,
   2622     WINBOOL *hasNext);
   2623 void __RPC_STUB IOpcSignatureCustomObjectEnumerator_MoveNext_Stub(
   2624     IRpcStubBuffer* This,
   2625     IRpcChannelBuffer* pRpcChannelBuffer,
   2626     PRPC_MESSAGE pRpcMessage,
   2627     DWORD* pdwStubPhase);
   2628 HRESULT STDMETHODCALLTYPE IOpcSignatureCustomObjectEnumerator_MovePrevious_Proxy(
   2629     IOpcSignatureCustomObjectEnumerator* This,
   2630     WINBOOL *hasPrevious);
   2631 void __RPC_STUB IOpcSignatureCustomObjectEnumerator_MovePrevious_Stub(
   2632     IRpcStubBuffer* This,
   2633     IRpcChannelBuffer* pRpcChannelBuffer,
   2634     PRPC_MESSAGE pRpcMessage,
   2635     DWORD* pdwStubPhase);
   2636 HRESULT STDMETHODCALLTYPE IOpcSignatureCustomObjectEnumerator_GetCurrent_Proxy(
   2637     IOpcSignatureCustomObjectEnumerator* This,
   2638     IOpcSignatureCustomObject **customObject);
   2639 void __RPC_STUB IOpcSignatureCustomObjectEnumerator_GetCurrent_Stub(
   2640     IRpcStubBuffer* This,
   2641     IRpcChannelBuffer* pRpcChannelBuffer,
   2642     PRPC_MESSAGE pRpcMessage,
   2643     DWORD* pdwStubPhase);
   2644 HRESULT STDMETHODCALLTYPE IOpcSignatureCustomObjectEnumerator_Clone_Proxy(
   2645     IOpcSignatureCustomObjectEnumerator* This,
   2646     IOpcSignatureCustomObjectEnumerator **copy);
   2647 void __RPC_STUB IOpcSignatureCustomObjectEnumerator_Clone_Stub(
   2648     IRpcStubBuffer* This,
   2649     IRpcChannelBuffer* pRpcChannelBuffer,
   2650     PRPC_MESSAGE pRpcMessage,
   2651     DWORD* pdwStubPhase);
   2652 
   2653 #endif  /* __IOpcSignatureCustomObjectEnumerator_INTERFACE_DEFINED__ */
   2654 
   2655 /*****************************************************************************
   2656  * IOpcSignaturePartReference interface
   2657  */
   2658 #ifndef __IOpcSignaturePartReference_INTERFACE_DEFINED__
   2659 #define __IOpcSignaturePartReference_INTERFACE_DEFINED__
   2660 
   2661 DEFINE_GUID(IID_IOpcSignaturePartReference, 0xe24231ca, 0x59f4, 0x484e, 0xb6,0x4b, 0x36,0xee,0xda,0x36,0x07,0x2c);
   2662 #if defined(__cplusplus) && !defined(CINTERFACE)
   2663 MIDL_INTERFACE("e24231ca-59f4-484e-b64b-36eeda36072c")
   2664 IOpcSignaturePartReference : public IUnknown
   2665 {
   2666     virtual HRESULT STDMETHODCALLTYPE GetPartName(
   2667         IOpcPartUri **partName) = 0;
   2668 
   2669     virtual HRESULT STDMETHODCALLTYPE GetContentType(
   2670         LPWSTR *contentType) = 0;
   2671 
   2672     virtual HRESULT STDMETHODCALLTYPE GetDigestMethod(
   2673         LPWSTR *digestMethod) = 0;
   2674 
   2675     virtual HRESULT STDMETHODCALLTYPE GetDigestValue(
   2676         UINT8 **digestValue,
   2677         UINT32 *count) = 0;
   2678 
   2679     virtual HRESULT STDMETHODCALLTYPE GetTransformMethod(
   2680         OPC_CANONICALIZATION_METHOD *transformMethod) = 0;
   2681 
   2682 };
   2683 #ifdef __CRT_UUID_DECL
   2684 __CRT_UUID_DECL(IOpcSignaturePartReference, 0xe24231ca, 0x59f4, 0x484e, 0xb6,0x4b, 0x36,0xee,0xda,0x36,0x07,0x2c)
   2685 #endif
   2686 #else
   2687 typedef struct IOpcSignaturePartReferenceVtbl {
   2688     BEGIN_INTERFACE
   2689 
   2690     /*** IUnknown methods ***/
   2691     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2692         IOpcSignaturePartReference* This,
   2693         REFIID riid,
   2694         void **ppvObject);
   2695 
   2696     ULONG (STDMETHODCALLTYPE *AddRef)(
   2697         IOpcSignaturePartReference* This);
   2698 
   2699     ULONG (STDMETHODCALLTYPE *Release)(
   2700         IOpcSignaturePartReference* This);
   2701 
   2702     /*** IOpcSignaturePartReference methods ***/
   2703     HRESULT (STDMETHODCALLTYPE *GetPartName)(
   2704         IOpcSignaturePartReference* This,
   2705         IOpcPartUri **partName);
   2706 
   2707     HRESULT (STDMETHODCALLTYPE *GetContentType)(
   2708         IOpcSignaturePartReference* This,
   2709         LPWSTR *contentType);
   2710 
   2711     HRESULT (STDMETHODCALLTYPE *GetDigestMethod)(
   2712         IOpcSignaturePartReference* This,
   2713         LPWSTR *digestMethod);
   2714 
   2715     HRESULT (STDMETHODCALLTYPE *GetDigestValue)(
   2716         IOpcSignaturePartReference* This,
   2717         UINT8 **digestValue,
   2718         UINT32 *count);
   2719 
   2720     HRESULT (STDMETHODCALLTYPE *GetTransformMethod)(
   2721         IOpcSignaturePartReference* This,
   2722         OPC_CANONICALIZATION_METHOD *transformMethod);
   2723 
   2724     END_INTERFACE
   2725 } IOpcSignaturePartReferenceVtbl;
   2726 interface IOpcSignaturePartReference {
   2727     CONST_VTBL IOpcSignaturePartReferenceVtbl* lpVtbl;
   2728 };
   2729 
   2730 #ifdef COBJMACROS
   2731 #ifndef WIDL_C_INLINE_WRAPPERS
   2732 /*** IUnknown methods ***/
   2733 #define IOpcSignaturePartReference_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2734 #define IOpcSignaturePartReference_AddRef(This) (This)->lpVtbl->AddRef(This)
   2735 #define IOpcSignaturePartReference_Release(This) (This)->lpVtbl->Release(This)
   2736 /*** IOpcSignaturePartReference methods ***/
   2737 #define IOpcSignaturePartReference_GetPartName(This,partName) (This)->lpVtbl->GetPartName(This,partName)
   2738 #define IOpcSignaturePartReference_GetContentType(This,contentType) (This)->lpVtbl->GetContentType(This,contentType)
   2739 #define IOpcSignaturePartReference_GetDigestMethod(This,digestMethod) (This)->lpVtbl->GetDigestMethod(This,digestMethod)
   2740 #define IOpcSignaturePartReference_GetDigestValue(This,digestValue,count) (This)->lpVtbl->GetDigestValue(This,digestValue,count)
   2741 #define IOpcSignaturePartReference_GetTransformMethod(This,transformMethod) (This)->lpVtbl->GetTransformMethod(This,transformMethod)
   2742 #else
   2743 /*** IUnknown methods ***/
   2744 static FORCEINLINE HRESULT IOpcSignaturePartReference_QueryInterface(IOpcSignaturePartReference* This,REFIID riid,void **ppvObject) {
   2745     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2746 }
   2747 static FORCEINLINE ULONG IOpcSignaturePartReference_AddRef(IOpcSignaturePartReference* This) {
   2748     return This->lpVtbl->AddRef(This);
   2749 }
   2750 static FORCEINLINE ULONG IOpcSignaturePartReference_Release(IOpcSignaturePartReference* This) {
   2751     return This->lpVtbl->Release(This);
   2752 }
   2753 /*** IOpcSignaturePartReference methods ***/
   2754 static FORCEINLINE HRESULT IOpcSignaturePartReference_GetPartName(IOpcSignaturePartReference* This,IOpcPartUri **partName) {
   2755     return This->lpVtbl->GetPartName(This,partName);
   2756 }
   2757 static FORCEINLINE HRESULT IOpcSignaturePartReference_GetContentType(IOpcSignaturePartReference* This,LPWSTR *contentType) {
   2758     return This->lpVtbl->GetContentType(This,contentType);
   2759 }
   2760 static FORCEINLINE HRESULT IOpcSignaturePartReference_GetDigestMethod(IOpcSignaturePartReference* This,LPWSTR *digestMethod) {
   2761     return This->lpVtbl->GetDigestMethod(This,digestMethod);
   2762 }
   2763 static FORCEINLINE HRESULT IOpcSignaturePartReference_GetDigestValue(IOpcSignaturePartReference* This,UINT8 **digestValue,UINT32 *count) {
   2764     return This->lpVtbl->GetDigestValue(This,digestValue,count);
   2765 }
   2766 static FORCEINLINE HRESULT IOpcSignaturePartReference_GetTransformMethod(IOpcSignaturePartReference* This,OPC_CANONICALIZATION_METHOD *transformMethod) {
   2767     return This->lpVtbl->GetTransformMethod(This,transformMethod);
   2768 }
   2769 #endif
   2770 #endif
   2771 
   2772 #endif
   2773 
   2774 HRESULT STDMETHODCALLTYPE IOpcSignaturePartReference_GetPartName_Proxy(
   2775     IOpcSignaturePartReference* This,
   2776     IOpcPartUri **partName);
   2777 void __RPC_STUB IOpcSignaturePartReference_GetPartName_Stub(
   2778     IRpcStubBuffer* This,
   2779     IRpcChannelBuffer* pRpcChannelBuffer,
   2780     PRPC_MESSAGE pRpcMessage,
   2781     DWORD* pdwStubPhase);
   2782 HRESULT STDMETHODCALLTYPE IOpcSignaturePartReference_GetContentType_Proxy(
   2783     IOpcSignaturePartReference* This,
   2784     LPWSTR *contentType);
   2785 void __RPC_STUB IOpcSignaturePartReference_GetContentType_Stub(
   2786     IRpcStubBuffer* This,
   2787     IRpcChannelBuffer* pRpcChannelBuffer,
   2788     PRPC_MESSAGE pRpcMessage,
   2789     DWORD* pdwStubPhase);
   2790 HRESULT STDMETHODCALLTYPE IOpcSignaturePartReference_GetDigestMethod_Proxy(
   2791     IOpcSignaturePartReference* This,
   2792     LPWSTR *digestMethod);
   2793 void __RPC_STUB IOpcSignaturePartReference_GetDigestMethod_Stub(
   2794     IRpcStubBuffer* This,
   2795     IRpcChannelBuffer* pRpcChannelBuffer,
   2796     PRPC_MESSAGE pRpcMessage,
   2797     DWORD* pdwStubPhase);
   2798 HRESULT STDMETHODCALLTYPE IOpcSignaturePartReference_GetDigestValue_Proxy(
   2799     IOpcSignaturePartReference* This,
   2800     UINT8 **digestValue,
   2801     UINT32 *count);
   2802 void __RPC_STUB IOpcSignaturePartReference_GetDigestValue_Stub(
   2803     IRpcStubBuffer* This,
   2804     IRpcChannelBuffer* pRpcChannelBuffer,
   2805     PRPC_MESSAGE pRpcMessage,
   2806     DWORD* pdwStubPhase);
   2807 HRESULT STDMETHODCALLTYPE IOpcSignaturePartReference_GetTransformMethod_Proxy(
   2808     IOpcSignaturePartReference* This,
   2809     OPC_CANONICALIZATION_METHOD *transformMethod);
   2810 void __RPC_STUB IOpcSignaturePartReference_GetTransformMethod_Stub(
   2811     IRpcStubBuffer* This,
   2812     IRpcChannelBuffer* pRpcChannelBuffer,
   2813     PRPC_MESSAGE pRpcMessage,
   2814     DWORD* pdwStubPhase);
   2815 
   2816 #endif  /* __IOpcSignaturePartReference_INTERFACE_DEFINED__ */
   2817 
   2818 /*****************************************************************************
   2819  * IOpcSignaturePartReferenceEnumerator interface
   2820  */
   2821 #ifndef __IOpcSignaturePartReferenceEnumerator_INTERFACE_DEFINED__
   2822 #define __IOpcSignaturePartReferenceEnumerator_INTERFACE_DEFINED__
   2823 
   2824 DEFINE_GUID(IID_IOpcSignaturePartReferenceEnumerator, 0x80eb1561, 0x8c77, 0x49cf, 0x82,0x66, 0x45,0x9b,0x35,0x6e,0xe9,0x9a);
   2825 #if defined(__cplusplus) && !defined(CINTERFACE)
   2826 MIDL_INTERFACE("80eb1561-8c77-49cf-8266-459b356ee99a")
   2827 IOpcSignaturePartReferenceEnumerator : public IUnknown
   2828 {
   2829     virtual HRESULT STDMETHODCALLTYPE MoveNext(
   2830         WINBOOL *hasNext) = 0;
   2831 
   2832     virtual HRESULT STDMETHODCALLTYPE MovePrevious(
   2833         WINBOOL *hasPrevious) = 0;
   2834 
   2835     virtual HRESULT STDMETHODCALLTYPE GetCurrent(
   2836         IOpcSignaturePartReference **partReference) = 0;
   2837 
   2838     virtual HRESULT STDMETHODCALLTYPE Clone(
   2839         IOpcSignaturePartReferenceEnumerator **copy) = 0;
   2840 
   2841 };
   2842 #ifdef __CRT_UUID_DECL
   2843 __CRT_UUID_DECL(IOpcSignaturePartReferenceEnumerator, 0x80eb1561, 0x8c77, 0x49cf, 0x82,0x66, 0x45,0x9b,0x35,0x6e,0xe9,0x9a)
   2844 #endif
   2845 #else
   2846 typedef struct IOpcSignaturePartReferenceEnumeratorVtbl {
   2847     BEGIN_INTERFACE
   2848 
   2849     /*** IUnknown methods ***/
   2850     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2851         IOpcSignaturePartReferenceEnumerator* This,
   2852         REFIID riid,
   2853         void **ppvObject);
   2854 
   2855     ULONG (STDMETHODCALLTYPE *AddRef)(
   2856         IOpcSignaturePartReferenceEnumerator* This);
   2857 
   2858     ULONG (STDMETHODCALLTYPE *Release)(
   2859         IOpcSignaturePartReferenceEnumerator* This);
   2860 
   2861     /*** IOpcSignaturePartReferenceEnumerator methods ***/
   2862     HRESULT (STDMETHODCALLTYPE *MoveNext)(
   2863         IOpcSignaturePartReferenceEnumerator* This,
   2864         WINBOOL *hasNext);
   2865 
   2866     HRESULT (STDMETHODCALLTYPE *MovePrevious)(
   2867         IOpcSignaturePartReferenceEnumerator* This,
   2868         WINBOOL *hasPrevious);
   2869 
   2870     HRESULT (STDMETHODCALLTYPE *GetCurrent)(
   2871         IOpcSignaturePartReferenceEnumerator* This,
   2872         IOpcSignaturePartReference **partReference);
   2873 
   2874     HRESULT (STDMETHODCALLTYPE *Clone)(
   2875         IOpcSignaturePartReferenceEnumerator* This,
   2876         IOpcSignaturePartReferenceEnumerator **copy);
   2877 
   2878     END_INTERFACE
   2879 } IOpcSignaturePartReferenceEnumeratorVtbl;
   2880 interface IOpcSignaturePartReferenceEnumerator {
   2881     CONST_VTBL IOpcSignaturePartReferenceEnumeratorVtbl* lpVtbl;
   2882 };
   2883 
   2884 #ifdef COBJMACROS
   2885 #ifndef WIDL_C_INLINE_WRAPPERS
   2886 /*** IUnknown methods ***/
   2887 #define IOpcSignaturePartReferenceEnumerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2888 #define IOpcSignaturePartReferenceEnumerator_AddRef(This) (This)->lpVtbl->AddRef(This)
   2889 #define IOpcSignaturePartReferenceEnumerator_Release(This) (This)->lpVtbl->Release(This)
   2890 /*** IOpcSignaturePartReferenceEnumerator methods ***/
   2891 #define IOpcSignaturePartReferenceEnumerator_MoveNext(This,hasNext) (This)->lpVtbl->MoveNext(This,hasNext)
   2892 #define IOpcSignaturePartReferenceEnumerator_MovePrevious(This,hasPrevious) (This)->lpVtbl->MovePrevious(This,hasPrevious)
   2893 #define IOpcSignaturePartReferenceEnumerator_GetCurrent(This,partReference) (This)->lpVtbl->GetCurrent(This,partReference)
   2894 #define IOpcSignaturePartReferenceEnumerator_Clone(This,copy) (This)->lpVtbl->Clone(This,copy)
   2895 #else
   2896 /*** IUnknown methods ***/
   2897 static FORCEINLINE HRESULT IOpcSignaturePartReferenceEnumerator_QueryInterface(IOpcSignaturePartReferenceEnumerator* This,REFIID riid,void **ppvObject) {
   2898     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2899 }
   2900 static FORCEINLINE ULONG IOpcSignaturePartReferenceEnumerator_AddRef(IOpcSignaturePartReferenceEnumerator* This) {
   2901     return This->lpVtbl->AddRef(This);
   2902 }
   2903 static FORCEINLINE ULONG IOpcSignaturePartReferenceEnumerator_Release(IOpcSignaturePartReferenceEnumerator* This) {
   2904     return This->lpVtbl->Release(This);
   2905 }
   2906 /*** IOpcSignaturePartReferenceEnumerator methods ***/
   2907 static FORCEINLINE HRESULT IOpcSignaturePartReferenceEnumerator_MoveNext(IOpcSignaturePartReferenceEnumerator* This,WINBOOL *hasNext) {
   2908     return This->lpVtbl->MoveNext(This,hasNext);
   2909 }
   2910 static FORCEINLINE HRESULT IOpcSignaturePartReferenceEnumerator_MovePrevious(IOpcSignaturePartReferenceEnumerator* This,WINBOOL *hasPrevious) {
   2911     return This->lpVtbl->MovePrevious(This,hasPrevious);
   2912 }
   2913 static FORCEINLINE HRESULT IOpcSignaturePartReferenceEnumerator_GetCurrent(IOpcSignaturePartReferenceEnumerator* This,IOpcSignaturePartReference **partReference) {
   2914     return This->lpVtbl->GetCurrent(This,partReference);
   2915 }
   2916 static FORCEINLINE HRESULT IOpcSignaturePartReferenceEnumerator_Clone(IOpcSignaturePartReferenceEnumerator* This,IOpcSignaturePartReferenceEnumerator **copy) {
   2917     return This->lpVtbl->Clone(This,copy);
   2918 }
   2919 #endif
   2920 #endif
   2921 
   2922 #endif
   2923 
   2924 HRESULT STDMETHODCALLTYPE IOpcSignaturePartReferenceEnumerator_MoveNext_Proxy(
   2925     IOpcSignaturePartReferenceEnumerator* This,
   2926     WINBOOL *hasNext);
   2927 void __RPC_STUB IOpcSignaturePartReferenceEnumerator_MoveNext_Stub(
   2928     IRpcStubBuffer* This,
   2929     IRpcChannelBuffer* pRpcChannelBuffer,
   2930     PRPC_MESSAGE pRpcMessage,
   2931     DWORD* pdwStubPhase);
   2932 HRESULT STDMETHODCALLTYPE IOpcSignaturePartReferenceEnumerator_MovePrevious_Proxy(
   2933     IOpcSignaturePartReferenceEnumerator* This,
   2934     WINBOOL *hasPrevious);
   2935 void __RPC_STUB IOpcSignaturePartReferenceEnumerator_MovePrevious_Stub(
   2936     IRpcStubBuffer* This,
   2937     IRpcChannelBuffer* pRpcChannelBuffer,
   2938     PRPC_MESSAGE pRpcMessage,
   2939     DWORD* pdwStubPhase);
   2940 HRESULT STDMETHODCALLTYPE IOpcSignaturePartReferenceEnumerator_GetCurrent_Proxy(
   2941     IOpcSignaturePartReferenceEnumerator* This,
   2942     IOpcSignaturePartReference **partReference);
   2943 void __RPC_STUB IOpcSignaturePartReferenceEnumerator_GetCurrent_Stub(
   2944     IRpcStubBuffer* This,
   2945     IRpcChannelBuffer* pRpcChannelBuffer,
   2946     PRPC_MESSAGE pRpcMessage,
   2947     DWORD* pdwStubPhase);
   2948 HRESULT STDMETHODCALLTYPE IOpcSignaturePartReferenceEnumerator_Clone_Proxy(
   2949     IOpcSignaturePartReferenceEnumerator* This,
   2950     IOpcSignaturePartReferenceEnumerator **copy);
   2951 void __RPC_STUB IOpcSignaturePartReferenceEnumerator_Clone_Stub(
   2952     IRpcStubBuffer* This,
   2953     IRpcChannelBuffer* pRpcChannelBuffer,
   2954     PRPC_MESSAGE pRpcMessage,
   2955     DWORD* pdwStubPhase);
   2956 
   2957 #endif  /* __IOpcSignaturePartReferenceEnumerator_INTERFACE_DEFINED__ */
   2958 
   2959 /*****************************************************************************
   2960  * IOpcSignatureReference interface
   2961  */
   2962 #ifndef __IOpcSignatureReference_INTERFACE_DEFINED__
   2963 #define __IOpcSignatureReference_INTERFACE_DEFINED__
   2964 
   2965 DEFINE_GUID(IID_IOpcSignatureReference, 0x1b47005e, 0x3011, 0x4edc, 0xbe,0x6f, 0x0f,0x65,0xe5,0xab,0x03,0x42);
   2966 #if defined(__cplusplus) && !defined(CINTERFACE)
   2967 MIDL_INTERFACE("1b47005e-3011-4edc-be6f-0f65e5ab0342")
   2968 IOpcSignatureReference : public IUnknown
   2969 {
   2970     virtual HRESULT STDMETHODCALLTYPE GetId(
   2971         LPWSTR *referenceId) = 0;
   2972 
   2973     virtual HRESULT STDMETHODCALLTYPE GetUri(
   2974         IUri **referenceUri) = 0;
   2975 
   2976     virtual HRESULT STDMETHODCALLTYPE GetType(
   2977         LPWSTR *type) = 0;
   2978 
   2979     virtual HRESULT STDMETHODCALLTYPE GetTransformMethod(
   2980         OPC_CANONICALIZATION_METHOD *transformMethod) = 0;
   2981 
   2982     virtual HRESULT STDMETHODCALLTYPE GetDigestMethod(
   2983         LPWSTR *digestMethod) = 0;
   2984 
   2985     virtual HRESULT STDMETHODCALLTYPE GetDigestValue(
   2986         UINT8 **digestValue,
   2987         UINT32 *count) = 0;
   2988 
   2989 };
   2990 #ifdef __CRT_UUID_DECL
   2991 __CRT_UUID_DECL(IOpcSignatureReference, 0x1b47005e, 0x3011, 0x4edc, 0xbe,0x6f, 0x0f,0x65,0xe5,0xab,0x03,0x42)
   2992 #endif
   2993 #else
   2994 typedef struct IOpcSignatureReferenceVtbl {
   2995     BEGIN_INTERFACE
   2996 
   2997     /*** IUnknown methods ***/
   2998     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2999         IOpcSignatureReference* This,
   3000         REFIID riid,
   3001         void **ppvObject);
   3002 
   3003     ULONG (STDMETHODCALLTYPE *AddRef)(
   3004         IOpcSignatureReference* This);
   3005 
   3006     ULONG (STDMETHODCALLTYPE *Release)(
   3007         IOpcSignatureReference* This);
   3008 
   3009     /*** IOpcSignatureReference methods ***/
   3010     HRESULT (STDMETHODCALLTYPE *GetId)(
   3011         IOpcSignatureReference* This,
   3012         LPWSTR *referenceId);
   3013 
   3014     HRESULT (STDMETHODCALLTYPE *GetUri)(
   3015         IOpcSignatureReference* This,
   3016         IUri **referenceUri);
   3017 
   3018     HRESULT (STDMETHODCALLTYPE *GetType)(
   3019         IOpcSignatureReference* This,
   3020         LPWSTR *type);
   3021 
   3022     HRESULT (STDMETHODCALLTYPE *GetTransformMethod)(
   3023         IOpcSignatureReference* This,
   3024         OPC_CANONICALIZATION_METHOD *transformMethod);
   3025 
   3026     HRESULT (STDMETHODCALLTYPE *GetDigestMethod)(
   3027         IOpcSignatureReference* This,
   3028         LPWSTR *digestMethod);
   3029 
   3030     HRESULT (STDMETHODCALLTYPE *GetDigestValue)(
   3031         IOpcSignatureReference* This,
   3032         UINT8 **digestValue,
   3033         UINT32 *count);
   3034 
   3035     END_INTERFACE
   3036 } IOpcSignatureReferenceVtbl;
   3037 interface IOpcSignatureReference {
   3038     CONST_VTBL IOpcSignatureReferenceVtbl* lpVtbl;
   3039 };
   3040 
   3041 #ifdef COBJMACROS
   3042 #ifndef WIDL_C_INLINE_WRAPPERS
   3043 /*** IUnknown methods ***/
   3044 #define IOpcSignatureReference_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3045 #define IOpcSignatureReference_AddRef(This) (This)->lpVtbl->AddRef(This)
   3046 #define IOpcSignatureReference_Release(This) (This)->lpVtbl->Release(This)
   3047 /*** IOpcSignatureReference methods ***/
   3048 #define IOpcSignatureReference_GetId(This,referenceId) (This)->lpVtbl->GetId(This,referenceId)
   3049 #define IOpcSignatureReference_GetUri(This,referenceUri) (This)->lpVtbl->GetUri(This,referenceUri)
   3050 #define IOpcSignatureReference_GetType(This,type) (This)->lpVtbl->GetType(This,type)
   3051 #define IOpcSignatureReference_GetTransformMethod(This,transformMethod) (This)->lpVtbl->GetTransformMethod(This,transformMethod)
   3052 #define IOpcSignatureReference_GetDigestMethod(This,digestMethod) (This)->lpVtbl->GetDigestMethod(This,digestMethod)
   3053 #define IOpcSignatureReference_GetDigestValue(This,digestValue,count) (This)->lpVtbl->GetDigestValue(This,digestValue,count)
   3054 #else
   3055 /*** IUnknown methods ***/
   3056 static FORCEINLINE HRESULT IOpcSignatureReference_QueryInterface(IOpcSignatureReference* This,REFIID riid,void **ppvObject) {
   3057     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3058 }
   3059 static FORCEINLINE ULONG IOpcSignatureReference_AddRef(IOpcSignatureReference* This) {
   3060     return This->lpVtbl->AddRef(This);
   3061 }
   3062 static FORCEINLINE ULONG IOpcSignatureReference_Release(IOpcSignatureReference* This) {
   3063     return This->lpVtbl->Release(This);
   3064 }
   3065 /*** IOpcSignatureReference methods ***/
   3066 static FORCEINLINE HRESULT IOpcSignatureReference_GetId(IOpcSignatureReference* This,LPWSTR *referenceId) {
   3067     return This->lpVtbl->GetId(This,referenceId);
   3068 }
   3069 static FORCEINLINE HRESULT IOpcSignatureReference_GetUri(IOpcSignatureReference* This,IUri **referenceUri) {
   3070     return This->lpVtbl->GetUri(This,referenceUri);
   3071 }
   3072 static FORCEINLINE HRESULT IOpcSignatureReference_GetType(IOpcSignatureReference* This,LPWSTR *type) {
   3073     return This->lpVtbl->GetType(This,type);
   3074 }
   3075 static FORCEINLINE HRESULT IOpcSignatureReference_GetTransformMethod(IOpcSignatureReference* This,OPC_CANONICALIZATION_METHOD *transformMethod) {
   3076     return This->lpVtbl->GetTransformMethod(This,transformMethod);
   3077 }
   3078 static FORCEINLINE HRESULT IOpcSignatureReference_GetDigestMethod(IOpcSignatureReference* This,LPWSTR *digestMethod) {
   3079     return This->lpVtbl->GetDigestMethod(This,digestMethod);
   3080 }
   3081 static FORCEINLINE HRESULT IOpcSignatureReference_GetDigestValue(IOpcSignatureReference* This,UINT8 **digestValue,UINT32 *count) {
   3082     return This->lpVtbl->GetDigestValue(This,digestValue,count);
   3083 }
   3084 #endif
   3085 #endif
   3086 
   3087 #endif
   3088 
   3089 HRESULT STDMETHODCALLTYPE IOpcSignatureReference_GetId_Proxy(
   3090     IOpcSignatureReference* This,
   3091     LPWSTR *referenceId);
   3092 void __RPC_STUB IOpcSignatureReference_GetId_Stub(
   3093     IRpcStubBuffer* This,
   3094     IRpcChannelBuffer* pRpcChannelBuffer,
   3095     PRPC_MESSAGE pRpcMessage,
   3096     DWORD* pdwStubPhase);
   3097 HRESULT STDMETHODCALLTYPE IOpcSignatureReference_GetUri_Proxy(
   3098     IOpcSignatureReference* This,
   3099     IUri **referenceUri);
   3100 void __RPC_STUB IOpcSignatureReference_GetUri_Stub(
   3101     IRpcStubBuffer* This,
   3102     IRpcChannelBuffer* pRpcChannelBuffer,
   3103     PRPC_MESSAGE pRpcMessage,
   3104     DWORD* pdwStubPhase);
   3105 HRESULT STDMETHODCALLTYPE IOpcSignatureReference_GetType_Proxy(
   3106     IOpcSignatureReference* This,
   3107     LPWSTR *type);
   3108 void __RPC_STUB IOpcSignatureReference_GetType_Stub(
   3109     IRpcStubBuffer* This,
   3110     IRpcChannelBuffer* pRpcChannelBuffer,
   3111     PRPC_MESSAGE pRpcMessage,
   3112     DWORD* pdwStubPhase);
   3113 HRESULT STDMETHODCALLTYPE IOpcSignatureReference_GetTransformMethod_Proxy(
   3114     IOpcSignatureReference* This,
   3115     OPC_CANONICALIZATION_METHOD *transformMethod);
   3116 void __RPC_STUB IOpcSignatureReference_GetTransformMethod_Stub(
   3117     IRpcStubBuffer* This,
   3118     IRpcChannelBuffer* pRpcChannelBuffer,
   3119     PRPC_MESSAGE pRpcMessage,
   3120     DWORD* pdwStubPhase);
   3121 HRESULT STDMETHODCALLTYPE IOpcSignatureReference_GetDigestMethod_Proxy(
   3122     IOpcSignatureReference* This,
   3123     LPWSTR *digestMethod);
   3124 void __RPC_STUB IOpcSignatureReference_GetDigestMethod_Stub(
   3125     IRpcStubBuffer* This,
   3126     IRpcChannelBuffer* pRpcChannelBuffer,
   3127     PRPC_MESSAGE pRpcMessage,
   3128     DWORD* pdwStubPhase);
   3129 HRESULT STDMETHODCALLTYPE IOpcSignatureReference_GetDigestValue_Proxy(
   3130     IOpcSignatureReference* This,
   3131     UINT8 **digestValue,
   3132     UINT32 *count);
   3133 void __RPC_STUB IOpcSignatureReference_GetDigestValue_Stub(
   3134     IRpcStubBuffer* This,
   3135     IRpcChannelBuffer* pRpcChannelBuffer,
   3136     PRPC_MESSAGE pRpcMessage,
   3137     DWORD* pdwStubPhase);
   3138 
   3139 #endif  /* __IOpcSignatureReference_INTERFACE_DEFINED__ */
   3140 
   3141 /*****************************************************************************
   3142  * IOpcSignatureReferenceEnumerator interface
   3143  */
   3144 #ifndef __IOpcSignatureReferenceEnumerator_INTERFACE_DEFINED__
   3145 #define __IOpcSignatureReferenceEnumerator_INTERFACE_DEFINED__
   3146 
   3147 DEFINE_GUID(IID_IOpcSignatureReferenceEnumerator, 0xcfa59a45, 0x28b1, 0x4868, 0x96,0x9e, 0xfa,0x80,0x97,0xfd,0xc1,0x2a);
   3148 #if defined(__cplusplus) && !defined(CINTERFACE)
   3149 MIDL_INTERFACE("cfa59a45-28b1-4868-969e-fa8097fdc12a")
   3150 IOpcSignatureReferenceEnumerator : public IUnknown
   3151 {
   3152     virtual HRESULT STDMETHODCALLTYPE MoveNext(
   3153         WINBOOL *hasNext) = 0;
   3154 
   3155     virtual HRESULT STDMETHODCALLTYPE MovePrevious(
   3156         WINBOOL *hasPrevious) = 0;
   3157 
   3158     virtual HRESULT STDMETHODCALLTYPE GetCurrent(
   3159         IOpcSignatureReference **reference) = 0;
   3160 
   3161     virtual HRESULT STDMETHODCALLTYPE Clone(
   3162         IOpcSignatureReferenceEnumerator **copy) = 0;
   3163 
   3164 };
   3165 #ifdef __CRT_UUID_DECL
   3166 __CRT_UUID_DECL(IOpcSignatureReferenceEnumerator, 0xcfa59a45, 0x28b1, 0x4868, 0x96,0x9e, 0xfa,0x80,0x97,0xfd,0xc1,0x2a)
   3167 #endif
   3168 #else
   3169 typedef struct IOpcSignatureReferenceEnumeratorVtbl {
   3170     BEGIN_INTERFACE
   3171 
   3172     /*** IUnknown methods ***/
   3173     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3174         IOpcSignatureReferenceEnumerator* This,
   3175         REFIID riid,
   3176         void **ppvObject);
   3177 
   3178     ULONG (STDMETHODCALLTYPE *AddRef)(
   3179         IOpcSignatureReferenceEnumerator* This);
   3180 
   3181     ULONG (STDMETHODCALLTYPE *Release)(
   3182         IOpcSignatureReferenceEnumerator* This);
   3183 
   3184     /*** IOpcSignatureReferenceEnumerator methods ***/
   3185     HRESULT (STDMETHODCALLTYPE *MoveNext)(
   3186         IOpcSignatureReferenceEnumerator* This,
   3187         WINBOOL *hasNext);
   3188 
   3189     HRESULT (STDMETHODCALLTYPE *MovePrevious)(
   3190         IOpcSignatureReferenceEnumerator* This,
   3191         WINBOOL *hasPrevious);
   3192 
   3193     HRESULT (STDMETHODCALLTYPE *GetCurrent)(
   3194         IOpcSignatureReferenceEnumerator* This,
   3195         IOpcSignatureReference **reference);
   3196 
   3197     HRESULT (STDMETHODCALLTYPE *Clone)(
   3198         IOpcSignatureReferenceEnumerator* This,
   3199         IOpcSignatureReferenceEnumerator **copy);
   3200 
   3201     END_INTERFACE
   3202 } IOpcSignatureReferenceEnumeratorVtbl;
   3203 interface IOpcSignatureReferenceEnumerator {
   3204     CONST_VTBL IOpcSignatureReferenceEnumeratorVtbl* lpVtbl;
   3205 };
   3206 
   3207 #ifdef COBJMACROS
   3208 #ifndef WIDL_C_INLINE_WRAPPERS
   3209 /*** IUnknown methods ***/
   3210 #define IOpcSignatureReferenceEnumerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3211 #define IOpcSignatureReferenceEnumerator_AddRef(This) (This)->lpVtbl->AddRef(This)
   3212 #define IOpcSignatureReferenceEnumerator_Release(This) (This)->lpVtbl->Release(This)
   3213 /*** IOpcSignatureReferenceEnumerator methods ***/
   3214 #define IOpcSignatureReferenceEnumerator_MoveNext(This,hasNext) (This)->lpVtbl->MoveNext(This,hasNext)
   3215 #define IOpcSignatureReferenceEnumerator_MovePrevious(This,hasPrevious) (This)->lpVtbl->MovePrevious(This,hasPrevious)
   3216 #define IOpcSignatureReferenceEnumerator_GetCurrent(This,reference) (This)->lpVtbl->GetCurrent(This,reference)
   3217 #define IOpcSignatureReferenceEnumerator_Clone(This,copy) (This)->lpVtbl->Clone(This,copy)
   3218 #else
   3219 /*** IUnknown methods ***/
   3220 static FORCEINLINE HRESULT IOpcSignatureReferenceEnumerator_QueryInterface(IOpcSignatureReferenceEnumerator* This,REFIID riid,void **ppvObject) {
   3221     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3222 }
   3223 static FORCEINLINE ULONG IOpcSignatureReferenceEnumerator_AddRef(IOpcSignatureReferenceEnumerator* This) {
   3224     return This->lpVtbl->AddRef(This);
   3225 }
   3226 static FORCEINLINE ULONG IOpcSignatureReferenceEnumerator_Release(IOpcSignatureReferenceEnumerator* This) {
   3227     return This->lpVtbl->Release(This);
   3228 }
   3229 /*** IOpcSignatureReferenceEnumerator methods ***/
   3230 static FORCEINLINE HRESULT IOpcSignatureReferenceEnumerator_MoveNext(IOpcSignatureReferenceEnumerator* This,WINBOOL *hasNext) {
   3231     return This->lpVtbl->MoveNext(This,hasNext);
   3232 }
   3233 static FORCEINLINE HRESULT IOpcSignatureReferenceEnumerator_MovePrevious(IOpcSignatureReferenceEnumerator* This,WINBOOL *hasPrevious) {
   3234     return This->lpVtbl->MovePrevious(This,hasPrevious);
   3235 }
   3236 static FORCEINLINE HRESULT IOpcSignatureReferenceEnumerator_GetCurrent(IOpcSignatureReferenceEnumerator* This,IOpcSignatureReference **reference) {
   3237     return This->lpVtbl->GetCurrent(This,reference);
   3238 }
   3239 static FORCEINLINE HRESULT IOpcSignatureReferenceEnumerator_Clone(IOpcSignatureReferenceEnumerator* This,IOpcSignatureReferenceEnumerator **copy) {
   3240     return This->lpVtbl->Clone(This,copy);
   3241 }
   3242 #endif
   3243 #endif
   3244 
   3245 #endif
   3246 
   3247 HRESULT STDMETHODCALLTYPE IOpcSignatureReferenceEnumerator_MoveNext_Proxy(
   3248     IOpcSignatureReferenceEnumerator* This,
   3249     WINBOOL *hasNext);
   3250 void __RPC_STUB IOpcSignatureReferenceEnumerator_MoveNext_Stub(
   3251     IRpcStubBuffer* This,
   3252     IRpcChannelBuffer* pRpcChannelBuffer,
   3253     PRPC_MESSAGE pRpcMessage,
   3254     DWORD* pdwStubPhase);
   3255 HRESULT STDMETHODCALLTYPE IOpcSignatureReferenceEnumerator_MovePrevious_Proxy(
   3256     IOpcSignatureReferenceEnumerator* This,
   3257     WINBOOL *hasPrevious);
   3258 void __RPC_STUB IOpcSignatureReferenceEnumerator_MovePrevious_Stub(
   3259     IRpcStubBuffer* This,
   3260     IRpcChannelBuffer* pRpcChannelBuffer,
   3261     PRPC_MESSAGE pRpcMessage,
   3262     DWORD* pdwStubPhase);
   3263 HRESULT STDMETHODCALLTYPE IOpcSignatureReferenceEnumerator_GetCurrent_Proxy(
   3264     IOpcSignatureReferenceEnumerator* This,
   3265     IOpcSignatureReference **reference);
   3266 void __RPC_STUB IOpcSignatureReferenceEnumerator_GetCurrent_Stub(
   3267     IRpcStubBuffer* This,
   3268     IRpcChannelBuffer* pRpcChannelBuffer,
   3269     PRPC_MESSAGE pRpcMessage,
   3270     DWORD* pdwStubPhase);
   3271 HRESULT STDMETHODCALLTYPE IOpcSignatureReferenceEnumerator_Clone_Proxy(
   3272     IOpcSignatureReferenceEnumerator* This,
   3273     IOpcSignatureReferenceEnumerator **copy);
   3274 void __RPC_STUB IOpcSignatureReferenceEnumerator_Clone_Stub(
   3275     IRpcStubBuffer* This,
   3276     IRpcChannelBuffer* pRpcChannelBuffer,
   3277     PRPC_MESSAGE pRpcMessage,
   3278     DWORD* pdwStubPhase);
   3279 
   3280 #endif  /* __IOpcSignatureReferenceEnumerator_INTERFACE_DEFINED__ */
   3281 
   3282 /*****************************************************************************
   3283  * IOpcSignatureRelationshipReferenceEnumerator interface
   3284  */
   3285 #ifndef __IOpcSignatureRelationshipReferenceEnumerator_INTERFACE_DEFINED__
   3286 #define __IOpcSignatureRelationshipReferenceEnumerator_INTERFACE_DEFINED__
   3287 
   3288 DEFINE_GUID(IID_IOpcSignatureRelationshipReferenceEnumerator, 0x773ba3e4, 0xf021, 0x48e4, 0xaa,0x04, 0x98,0x16,0xdb,0x5d,0x34,0x95);
   3289 #if defined(__cplusplus) && !defined(CINTERFACE)
   3290 MIDL_INTERFACE("773ba3e4-f021-48e4-aa04-9816db5d3495")
   3291 IOpcSignatureRelationshipReferenceEnumerator : public IUnknown
   3292 {
   3293     virtual HRESULT STDMETHODCALLTYPE MoveNext(
   3294         WINBOOL *hasNext) = 0;
   3295 
   3296     virtual HRESULT STDMETHODCALLTYPE MovePrevious(
   3297         WINBOOL *hasPrevious) = 0;
   3298 
   3299     virtual HRESULT STDMETHODCALLTYPE GetCurrent(
   3300         IOpcSignatureRelationshipReference **relationshipReference) = 0;
   3301 
   3302     virtual HRESULT STDMETHODCALLTYPE Clone(
   3303         IOpcSignatureRelationshipReferenceEnumerator **copy) = 0;
   3304 
   3305 };
   3306 #ifdef __CRT_UUID_DECL
   3307 __CRT_UUID_DECL(IOpcSignatureRelationshipReferenceEnumerator, 0x773ba3e4, 0xf021, 0x48e4, 0xaa,0x04, 0x98,0x16,0xdb,0x5d,0x34,0x95)
   3308 #endif
   3309 #else
   3310 typedef struct IOpcSignatureRelationshipReferenceEnumeratorVtbl {
   3311     BEGIN_INTERFACE
   3312 
   3313     /*** IUnknown methods ***/
   3314     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3315         IOpcSignatureRelationshipReferenceEnumerator* This,
   3316         REFIID riid,
   3317         void **ppvObject);
   3318 
   3319     ULONG (STDMETHODCALLTYPE *AddRef)(
   3320         IOpcSignatureRelationshipReferenceEnumerator* This);
   3321 
   3322     ULONG (STDMETHODCALLTYPE *Release)(
   3323         IOpcSignatureRelationshipReferenceEnumerator* This);
   3324 
   3325     /*** IOpcSignatureRelationshipReferenceEnumerator methods ***/
   3326     HRESULT (STDMETHODCALLTYPE *MoveNext)(
   3327         IOpcSignatureRelationshipReferenceEnumerator* This,
   3328         WINBOOL *hasNext);
   3329 
   3330     HRESULT (STDMETHODCALLTYPE *MovePrevious)(
   3331         IOpcSignatureRelationshipReferenceEnumerator* This,
   3332         WINBOOL *hasPrevious);
   3333 
   3334     HRESULT (STDMETHODCALLTYPE *GetCurrent)(
   3335         IOpcSignatureRelationshipReferenceEnumerator* This,
   3336         IOpcSignatureRelationshipReference **relationshipReference);
   3337 
   3338     HRESULT (STDMETHODCALLTYPE *Clone)(
   3339         IOpcSignatureRelationshipReferenceEnumerator* This,
   3340         IOpcSignatureRelationshipReferenceEnumerator **copy);
   3341 
   3342     END_INTERFACE
   3343 } IOpcSignatureRelationshipReferenceEnumeratorVtbl;
   3344 interface IOpcSignatureRelationshipReferenceEnumerator {
   3345     CONST_VTBL IOpcSignatureRelationshipReferenceEnumeratorVtbl* lpVtbl;
   3346 };
   3347 
   3348 #ifdef COBJMACROS
   3349 #ifndef WIDL_C_INLINE_WRAPPERS
   3350 /*** IUnknown methods ***/
   3351 #define IOpcSignatureRelationshipReferenceEnumerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3352 #define IOpcSignatureRelationshipReferenceEnumerator_AddRef(This) (This)->lpVtbl->AddRef(This)
   3353 #define IOpcSignatureRelationshipReferenceEnumerator_Release(This) (This)->lpVtbl->Release(This)
   3354 /*** IOpcSignatureRelationshipReferenceEnumerator methods ***/
   3355 #define IOpcSignatureRelationshipReferenceEnumerator_MoveNext(This,hasNext) (This)->lpVtbl->MoveNext(This,hasNext)
   3356 #define IOpcSignatureRelationshipReferenceEnumerator_MovePrevious(This,hasPrevious) (This)->lpVtbl->MovePrevious(This,hasPrevious)
   3357 #define IOpcSignatureRelationshipReferenceEnumerator_GetCurrent(This,relationshipReference) (This)->lpVtbl->GetCurrent(This,relationshipReference)
   3358 #define IOpcSignatureRelationshipReferenceEnumerator_Clone(This,copy) (This)->lpVtbl->Clone(This,copy)
   3359 #else
   3360 /*** IUnknown methods ***/
   3361 static FORCEINLINE HRESULT IOpcSignatureRelationshipReferenceEnumerator_QueryInterface(IOpcSignatureRelationshipReferenceEnumerator* This,REFIID riid,void **ppvObject) {
   3362     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3363 }
   3364 static FORCEINLINE ULONG IOpcSignatureRelationshipReferenceEnumerator_AddRef(IOpcSignatureRelationshipReferenceEnumerator* This) {
   3365     return This->lpVtbl->AddRef(This);
   3366 }
   3367 static FORCEINLINE ULONG IOpcSignatureRelationshipReferenceEnumerator_Release(IOpcSignatureRelationshipReferenceEnumerator* This) {
   3368     return This->lpVtbl->Release(This);
   3369 }
   3370 /*** IOpcSignatureRelationshipReferenceEnumerator methods ***/
   3371 static FORCEINLINE HRESULT IOpcSignatureRelationshipReferenceEnumerator_MoveNext(IOpcSignatureRelationshipReferenceEnumerator* This,WINBOOL *hasNext) {
   3372     return This->lpVtbl->MoveNext(This,hasNext);
   3373 }
   3374 static FORCEINLINE HRESULT IOpcSignatureRelationshipReferenceEnumerator_MovePrevious(IOpcSignatureRelationshipReferenceEnumerator* This,WINBOOL *hasPrevious) {
   3375     return This->lpVtbl->MovePrevious(This,hasPrevious);
   3376 }
   3377 static FORCEINLINE HRESULT IOpcSignatureRelationshipReferenceEnumerator_GetCurrent(IOpcSignatureRelationshipReferenceEnumerator* This,IOpcSignatureRelationshipReference **relationshipReference) {
   3378     return This->lpVtbl->GetCurrent(This,relationshipReference);
   3379 }
   3380 static FORCEINLINE HRESULT IOpcSignatureRelationshipReferenceEnumerator_Clone(IOpcSignatureRelationshipReferenceEnumerator* This,IOpcSignatureRelationshipReferenceEnumerator **copy) {
   3381     return This->lpVtbl->Clone(This,copy);
   3382 }
   3383 #endif
   3384 #endif
   3385 
   3386 #endif
   3387 
   3388 HRESULT STDMETHODCALLTYPE IOpcSignatureRelationshipReferenceEnumerator_MoveNext_Proxy(
   3389     IOpcSignatureRelationshipReferenceEnumerator* This,
   3390     WINBOOL *hasNext);
   3391 void __RPC_STUB IOpcSignatureRelationshipReferenceEnumerator_MoveNext_Stub(
   3392     IRpcStubBuffer* This,
   3393     IRpcChannelBuffer* pRpcChannelBuffer,
   3394     PRPC_MESSAGE pRpcMessage,
   3395     DWORD* pdwStubPhase);
   3396 HRESULT STDMETHODCALLTYPE IOpcSignatureRelationshipReferenceEnumerator_MovePrevious_Proxy(
   3397     IOpcSignatureRelationshipReferenceEnumerator* This,
   3398     WINBOOL *hasPrevious);
   3399 void __RPC_STUB IOpcSignatureRelationshipReferenceEnumerator_MovePrevious_Stub(
   3400     IRpcStubBuffer* This,
   3401     IRpcChannelBuffer* pRpcChannelBuffer,
   3402     PRPC_MESSAGE pRpcMessage,
   3403     DWORD* pdwStubPhase);
   3404 HRESULT STDMETHODCALLTYPE IOpcSignatureRelationshipReferenceEnumerator_GetCurrent_Proxy(
   3405     IOpcSignatureRelationshipReferenceEnumerator* This,
   3406     IOpcSignatureRelationshipReference **relationshipReference);
   3407 void __RPC_STUB IOpcSignatureRelationshipReferenceEnumerator_GetCurrent_Stub(
   3408     IRpcStubBuffer* This,
   3409     IRpcChannelBuffer* pRpcChannelBuffer,
   3410     PRPC_MESSAGE pRpcMessage,
   3411     DWORD* pdwStubPhase);
   3412 HRESULT STDMETHODCALLTYPE IOpcSignatureRelationshipReferenceEnumerator_Clone_Proxy(
   3413     IOpcSignatureRelationshipReferenceEnumerator* This,
   3414     IOpcSignatureRelationshipReferenceEnumerator **copy);
   3415 void __RPC_STUB IOpcSignatureRelationshipReferenceEnumerator_Clone_Stub(
   3416     IRpcStubBuffer* This,
   3417     IRpcChannelBuffer* pRpcChannelBuffer,
   3418     PRPC_MESSAGE pRpcMessage,
   3419     DWORD* pdwStubPhase);
   3420 
   3421 #endif  /* __IOpcSignatureRelationshipReferenceEnumerator_INTERFACE_DEFINED__ */
   3422 
   3423 /*****************************************************************************
   3424  * IOpcSignatureRelationshipReference interface
   3425  */
   3426 #ifndef __IOpcSignatureRelationshipReference_INTERFACE_DEFINED__
   3427 #define __IOpcSignatureRelationshipReference_INTERFACE_DEFINED__
   3428 
   3429 DEFINE_GUID(IID_IOpcSignatureRelationshipReference, 0x57babac6, 0x9d4a, 0x4e50, 0x8b,0x86, 0xe5,0xd4,0x05,0x1e,0xae,0x7c);
   3430 #if defined(__cplusplus) && !defined(CINTERFACE)
   3431 MIDL_INTERFACE("57babac6-9d4a-4e50-8b86-e5d4051eae7c")
   3432 IOpcSignatureRelationshipReference : public IUnknown
   3433 {
   3434     virtual HRESULT STDMETHODCALLTYPE GetSourceUri(
   3435         IOpcUri **sourceUri) = 0;
   3436 
   3437     virtual HRESULT STDMETHODCALLTYPE GetDigestMethod(
   3438         LPWSTR *digestMethod) = 0;
   3439 
   3440     virtual HRESULT STDMETHODCALLTYPE GetDigestValue(
   3441         UINT8 **digestValue,
   3442         UINT32 *count) = 0;
   3443 
   3444     virtual HRESULT STDMETHODCALLTYPE GetTransformMethod(
   3445         OPC_CANONICALIZATION_METHOD *transformMethod) = 0;
   3446 
   3447     virtual HRESULT STDMETHODCALLTYPE GetRelationshipSigningOption(
   3448         OPC_RELATIONSHIPS_SIGNING_OPTION *relationshipSigningOption) = 0;
   3449 
   3450     virtual HRESULT STDMETHODCALLTYPE GetRelationshipSelectorEnumerator(
   3451         IOpcRelationshipSelectorEnumerator **selectorEnumerator) = 0;
   3452 
   3453 };
   3454 #ifdef __CRT_UUID_DECL
   3455 __CRT_UUID_DECL(IOpcSignatureRelationshipReference, 0x57babac6, 0x9d4a, 0x4e50, 0x8b,0x86, 0xe5,0xd4,0x05,0x1e,0xae,0x7c)
   3456 #endif
   3457 #else
   3458 typedef struct IOpcSignatureRelationshipReferenceVtbl {
   3459     BEGIN_INTERFACE
   3460 
   3461     /*** IUnknown methods ***/
   3462     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3463         IOpcSignatureRelationshipReference* This,
   3464         REFIID riid,
   3465         void **ppvObject);
   3466 
   3467     ULONG (STDMETHODCALLTYPE *AddRef)(
   3468         IOpcSignatureRelationshipReference* This);
   3469 
   3470     ULONG (STDMETHODCALLTYPE *Release)(
   3471         IOpcSignatureRelationshipReference* This);
   3472 
   3473     /*** IOpcSignatureRelationshipReference methods ***/
   3474     HRESULT (STDMETHODCALLTYPE *GetSourceUri)(
   3475         IOpcSignatureRelationshipReference* This,
   3476         IOpcUri **sourceUri);
   3477 
   3478     HRESULT (STDMETHODCALLTYPE *GetDigestMethod)(
   3479         IOpcSignatureRelationshipReference* This,
   3480         LPWSTR *digestMethod);
   3481 
   3482     HRESULT (STDMETHODCALLTYPE *GetDigestValue)(
   3483         IOpcSignatureRelationshipReference* This,
   3484         UINT8 **digestValue,
   3485         UINT32 *count);
   3486 
   3487     HRESULT (STDMETHODCALLTYPE *GetTransformMethod)(
   3488         IOpcSignatureRelationshipReference* This,
   3489         OPC_CANONICALIZATION_METHOD *transformMethod);
   3490 
   3491     HRESULT (STDMETHODCALLTYPE *GetRelationshipSigningOption)(
   3492         IOpcSignatureRelationshipReference* This,
   3493         OPC_RELATIONSHIPS_SIGNING_OPTION *relationshipSigningOption);
   3494 
   3495     HRESULT (STDMETHODCALLTYPE *GetRelationshipSelectorEnumerator)(
   3496         IOpcSignatureRelationshipReference* This,
   3497         IOpcRelationshipSelectorEnumerator **selectorEnumerator);
   3498 
   3499     END_INTERFACE
   3500 } IOpcSignatureRelationshipReferenceVtbl;
   3501 interface IOpcSignatureRelationshipReference {
   3502     CONST_VTBL IOpcSignatureRelationshipReferenceVtbl* lpVtbl;
   3503 };
   3504 
   3505 #ifdef COBJMACROS
   3506 #ifndef WIDL_C_INLINE_WRAPPERS
   3507 /*** IUnknown methods ***/
   3508 #define IOpcSignatureRelationshipReference_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3509 #define IOpcSignatureRelationshipReference_AddRef(This) (This)->lpVtbl->AddRef(This)
   3510 #define IOpcSignatureRelationshipReference_Release(This) (This)->lpVtbl->Release(This)
   3511 /*** IOpcSignatureRelationshipReference methods ***/
   3512 #define IOpcSignatureRelationshipReference_GetSourceUri(This,sourceUri) (This)->lpVtbl->GetSourceUri(This,sourceUri)
   3513 #define IOpcSignatureRelationshipReference_GetDigestMethod(This,digestMethod) (This)->lpVtbl->GetDigestMethod(This,digestMethod)
   3514 #define IOpcSignatureRelationshipReference_GetDigestValue(This,digestValue,count) (This)->lpVtbl->GetDigestValue(This,digestValue,count)
   3515 #define IOpcSignatureRelationshipReference_GetTransformMethod(This,transformMethod) (This)->lpVtbl->GetTransformMethod(This,transformMethod)
   3516 #define IOpcSignatureRelationshipReference_GetRelationshipSigningOption(This,relationshipSigningOption) (This)->lpVtbl->GetRelationshipSigningOption(This,relationshipSigningOption)
   3517 #define IOpcSignatureRelationshipReference_GetRelationshipSelectorEnumerator(This,selectorEnumerator) (This)->lpVtbl->GetRelationshipSelectorEnumerator(This,selectorEnumerator)
   3518 #else
   3519 /*** IUnknown methods ***/
   3520 static FORCEINLINE HRESULT IOpcSignatureRelationshipReference_QueryInterface(IOpcSignatureRelationshipReference* This,REFIID riid,void **ppvObject) {
   3521     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3522 }
   3523 static FORCEINLINE ULONG IOpcSignatureRelationshipReference_AddRef(IOpcSignatureRelationshipReference* This) {
   3524     return This->lpVtbl->AddRef(This);
   3525 }
   3526 static FORCEINLINE ULONG IOpcSignatureRelationshipReference_Release(IOpcSignatureRelationshipReference* This) {
   3527     return This->lpVtbl->Release(This);
   3528 }
   3529 /*** IOpcSignatureRelationshipReference methods ***/
   3530 static FORCEINLINE HRESULT IOpcSignatureRelationshipReference_GetSourceUri(IOpcSignatureRelationshipReference* This,IOpcUri **sourceUri) {
   3531     return This->lpVtbl->GetSourceUri(This,sourceUri);
   3532 }
   3533 static FORCEINLINE HRESULT IOpcSignatureRelationshipReference_GetDigestMethod(IOpcSignatureRelationshipReference* This,LPWSTR *digestMethod) {
   3534     return This->lpVtbl->GetDigestMethod(This,digestMethod);
   3535 }
   3536 static FORCEINLINE HRESULT IOpcSignatureRelationshipReference_GetDigestValue(IOpcSignatureRelationshipReference* This,UINT8 **digestValue,UINT32 *count) {
   3537     return This->lpVtbl->GetDigestValue(This,digestValue,count);
   3538 }
   3539 static FORCEINLINE HRESULT IOpcSignatureRelationshipReference_GetTransformMethod(IOpcSignatureRelationshipReference* This,OPC_CANONICALIZATION_METHOD *transformMethod) {
   3540     return This->lpVtbl->GetTransformMethod(This,transformMethod);
   3541 }
   3542 static FORCEINLINE HRESULT IOpcSignatureRelationshipReference_GetRelationshipSigningOption(IOpcSignatureRelationshipReference* This,OPC_RELATIONSHIPS_SIGNING_OPTION *relationshipSigningOption) {
   3543     return This->lpVtbl->GetRelationshipSigningOption(This,relationshipSigningOption);
   3544 }
   3545 static FORCEINLINE HRESULT IOpcSignatureRelationshipReference_GetRelationshipSelectorEnumerator(IOpcSignatureRelationshipReference* This,IOpcRelationshipSelectorEnumerator **selectorEnumerator) {
   3546     return This->lpVtbl->GetRelationshipSelectorEnumerator(This,selectorEnumerator);
   3547 }
   3548 #endif
   3549 #endif
   3550 
   3551 #endif
   3552 
   3553 HRESULT STDMETHODCALLTYPE IOpcSignatureRelationshipReference_GetSourceUri_Proxy(
   3554     IOpcSignatureRelationshipReference* This,
   3555     IOpcUri **sourceUri);
   3556 void __RPC_STUB IOpcSignatureRelationshipReference_GetSourceUri_Stub(
   3557     IRpcStubBuffer* This,
   3558     IRpcChannelBuffer* pRpcChannelBuffer,
   3559     PRPC_MESSAGE pRpcMessage,
   3560     DWORD* pdwStubPhase);
   3561 HRESULT STDMETHODCALLTYPE IOpcSignatureRelationshipReference_GetDigestMethod_Proxy(
   3562     IOpcSignatureRelationshipReference* This,
   3563     LPWSTR *digestMethod);
   3564 void __RPC_STUB IOpcSignatureRelationshipReference_GetDigestMethod_Stub(
   3565     IRpcStubBuffer* This,
   3566     IRpcChannelBuffer* pRpcChannelBuffer,
   3567     PRPC_MESSAGE pRpcMessage,
   3568     DWORD* pdwStubPhase);
   3569 HRESULT STDMETHODCALLTYPE IOpcSignatureRelationshipReference_GetDigestValue_Proxy(
   3570     IOpcSignatureRelationshipReference* This,
   3571     UINT8 **digestValue,
   3572     UINT32 *count);
   3573 void __RPC_STUB IOpcSignatureRelationshipReference_GetDigestValue_Stub(
   3574     IRpcStubBuffer* This,
   3575     IRpcChannelBuffer* pRpcChannelBuffer,
   3576     PRPC_MESSAGE pRpcMessage,
   3577     DWORD* pdwStubPhase);
   3578 HRESULT STDMETHODCALLTYPE IOpcSignatureRelationshipReference_GetTransformMethod_Proxy(
   3579     IOpcSignatureRelationshipReference* This,
   3580     OPC_CANONICALIZATION_METHOD *transformMethod);
   3581 void __RPC_STUB IOpcSignatureRelationshipReference_GetTransformMethod_Stub(
   3582     IRpcStubBuffer* This,
   3583     IRpcChannelBuffer* pRpcChannelBuffer,
   3584     PRPC_MESSAGE pRpcMessage,
   3585     DWORD* pdwStubPhase);
   3586 HRESULT STDMETHODCALLTYPE IOpcSignatureRelationshipReference_GetRelationshipSigningOption_Proxy(
   3587     IOpcSignatureRelationshipReference* This,
   3588     OPC_RELATIONSHIPS_SIGNING_OPTION *relationshipSigningOption);
   3589 void __RPC_STUB IOpcSignatureRelationshipReference_GetRelationshipSigningOption_Stub(
   3590     IRpcStubBuffer* This,
   3591     IRpcChannelBuffer* pRpcChannelBuffer,
   3592     PRPC_MESSAGE pRpcMessage,
   3593     DWORD* pdwStubPhase);
   3594 HRESULT STDMETHODCALLTYPE IOpcSignatureRelationshipReference_GetRelationshipSelectorEnumerator_Proxy(
   3595     IOpcSignatureRelationshipReference* This,
   3596     IOpcRelationshipSelectorEnumerator **selectorEnumerator);
   3597 void __RPC_STUB IOpcSignatureRelationshipReference_GetRelationshipSelectorEnumerator_Stub(
   3598     IRpcStubBuffer* This,
   3599     IRpcChannelBuffer* pRpcChannelBuffer,
   3600     PRPC_MESSAGE pRpcMessage,
   3601     DWORD* pdwStubPhase);
   3602 
   3603 #endif  /* __IOpcSignatureRelationshipReference_INTERFACE_DEFINED__ */
   3604 
   3605 /*****************************************************************************
   3606  * IOpcRelationshipSelectorEnumerator interface
   3607  */
   3608 #ifndef __IOpcRelationshipSelectorEnumerator_INTERFACE_DEFINED__
   3609 #define __IOpcRelationshipSelectorEnumerator_INTERFACE_DEFINED__
   3610 
   3611 DEFINE_GUID(IID_IOpcRelationshipSelectorEnumerator, 0x5e50a181, 0xa91b, 0x48ac, 0x88,0xd2, 0xbc,0xa3,0xd8,0xf8,0xc0,0xb1);
   3612 #if defined(__cplusplus) && !defined(CINTERFACE)
   3613 MIDL_INTERFACE("5e50a181-a91b-48ac-88d2-bca3d8f8c0b1")
   3614 IOpcRelationshipSelectorEnumerator : public IUnknown
   3615 {
   3616     virtual HRESULT STDMETHODCALLTYPE MoveNext(
   3617         WINBOOL *hasNext) = 0;
   3618 
   3619     virtual HRESULT STDMETHODCALLTYPE MovePrevious(
   3620         WINBOOL *hasPrevious) = 0;
   3621 
   3622     virtual HRESULT STDMETHODCALLTYPE GetCurrent(
   3623         IOpcRelationshipSelector **relationshipSelector) = 0;
   3624 
   3625     virtual HRESULT STDMETHODCALLTYPE Clone(
   3626         IOpcRelationshipSelectorEnumerator **copy) = 0;
   3627 
   3628 };
   3629 #ifdef __CRT_UUID_DECL
   3630 __CRT_UUID_DECL(IOpcRelationshipSelectorEnumerator, 0x5e50a181, 0xa91b, 0x48ac, 0x88,0xd2, 0xbc,0xa3,0xd8,0xf8,0xc0,0xb1)
   3631 #endif
   3632 #else
   3633 typedef struct IOpcRelationshipSelectorEnumeratorVtbl {
   3634     BEGIN_INTERFACE
   3635 
   3636     /*** IUnknown methods ***/
   3637     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3638         IOpcRelationshipSelectorEnumerator* This,
   3639         REFIID riid,
   3640         void **ppvObject);
   3641 
   3642     ULONG (STDMETHODCALLTYPE *AddRef)(
   3643         IOpcRelationshipSelectorEnumerator* This);
   3644 
   3645     ULONG (STDMETHODCALLTYPE *Release)(
   3646         IOpcRelationshipSelectorEnumerator* This);
   3647 
   3648     /*** IOpcRelationshipSelectorEnumerator methods ***/
   3649     HRESULT (STDMETHODCALLTYPE *MoveNext)(
   3650         IOpcRelationshipSelectorEnumerator* This,
   3651         WINBOOL *hasNext);
   3652 
   3653     HRESULT (STDMETHODCALLTYPE *MovePrevious)(
   3654         IOpcRelationshipSelectorEnumerator* This,
   3655         WINBOOL *hasPrevious);
   3656 
   3657     HRESULT (STDMETHODCALLTYPE *GetCurrent)(
   3658         IOpcRelationshipSelectorEnumerator* This,
   3659         IOpcRelationshipSelector **relationshipSelector);
   3660 
   3661     HRESULT (STDMETHODCALLTYPE *Clone)(
   3662         IOpcRelationshipSelectorEnumerator* This,
   3663         IOpcRelationshipSelectorEnumerator **copy);
   3664 
   3665     END_INTERFACE
   3666 } IOpcRelationshipSelectorEnumeratorVtbl;
   3667 interface IOpcRelationshipSelectorEnumerator {
   3668     CONST_VTBL IOpcRelationshipSelectorEnumeratorVtbl* lpVtbl;
   3669 };
   3670 
   3671 #ifdef COBJMACROS
   3672 #ifndef WIDL_C_INLINE_WRAPPERS
   3673 /*** IUnknown methods ***/
   3674 #define IOpcRelationshipSelectorEnumerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3675 #define IOpcRelationshipSelectorEnumerator_AddRef(This) (This)->lpVtbl->AddRef(This)
   3676 #define IOpcRelationshipSelectorEnumerator_Release(This) (This)->lpVtbl->Release(This)
   3677 /*** IOpcRelationshipSelectorEnumerator methods ***/
   3678 #define IOpcRelationshipSelectorEnumerator_MoveNext(This,hasNext) (This)->lpVtbl->MoveNext(This,hasNext)
   3679 #define IOpcRelationshipSelectorEnumerator_MovePrevious(This,hasPrevious) (This)->lpVtbl->MovePrevious(This,hasPrevious)
   3680 #define IOpcRelationshipSelectorEnumerator_GetCurrent(This,relationshipSelector) (This)->lpVtbl->GetCurrent(This,relationshipSelector)
   3681 #define IOpcRelationshipSelectorEnumerator_Clone(This,copy) (This)->lpVtbl->Clone(This,copy)
   3682 #else
   3683 /*** IUnknown methods ***/
   3684 static FORCEINLINE HRESULT IOpcRelationshipSelectorEnumerator_QueryInterface(IOpcRelationshipSelectorEnumerator* This,REFIID riid,void **ppvObject) {
   3685     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3686 }
   3687 static FORCEINLINE ULONG IOpcRelationshipSelectorEnumerator_AddRef(IOpcRelationshipSelectorEnumerator* This) {
   3688     return This->lpVtbl->AddRef(This);
   3689 }
   3690 static FORCEINLINE ULONG IOpcRelationshipSelectorEnumerator_Release(IOpcRelationshipSelectorEnumerator* This) {
   3691     return This->lpVtbl->Release(This);
   3692 }
   3693 /*** IOpcRelationshipSelectorEnumerator methods ***/
   3694 static FORCEINLINE HRESULT IOpcRelationshipSelectorEnumerator_MoveNext(IOpcRelationshipSelectorEnumerator* This,WINBOOL *hasNext) {
   3695     return This->lpVtbl->MoveNext(This,hasNext);
   3696 }
   3697 static FORCEINLINE HRESULT IOpcRelationshipSelectorEnumerator_MovePrevious(IOpcRelationshipSelectorEnumerator* This,WINBOOL *hasPrevious) {
   3698     return This->lpVtbl->MovePrevious(This,hasPrevious);
   3699 }
   3700 static FORCEINLINE HRESULT IOpcRelationshipSelectorEnumerator_GetCurrent(IOpcRelationshipSelectorEnumerator* This,IOpcRelationshipSelector **relationshipSelector) {
   3701     return This->lpVtbl->GetCurrent(This,relationshipSelector);
   3702 }
   3703 static FORCEINLINE HRESULT IOpcRelationshipSelectorEnumerator_Clone(IOpcRelationshipSelectorEnumerator* This,IOpcRelationshipSelectorEnumerator **copy) {
   3704     return This->lpVtbl->Clone(This,copy);
   3705 }
   3706 #endif
   3707 #endif
   3708 
   3709 #endif
   3710 
   3711 HRESULT STDMETHODCALLTYPE IOpcRelationshipSelectorEnumerator_MoveNext_Proxy(
   3712     IOpcRelationshipSelectorEnumerator* This,
   3713     WINBOOL *hasNext);
   3714 void __RPC_STUB IOpcRelationshipSelectorEnumerator_MoveNext_Stub(
   3715     IRpcStubBuffer* This,
   3716     IRpcChannelBuffer* pRpcChannelBuffer,
   3717     PRPC_MESSAGE pRpcMessage,
   3718     DWORD* pdwStubPhase);
   3719 HRESULT STDMETHODCALLTYPE IOpcRelationshipSelectorEnumerator_MovePrevious_Proxy(
   3720     IOpcRelationshipSelectorEnumerator* This,
   3721     WINBOOL *hasPrevious);
   3722 void __RPC_STUB IOpcRelationshipSelectorEnumerator_MovePrevious_Stub(
   3723     IRpcStubBuffer* This,
   3724     IRpcChannelBuffer* pRpcChannelBuffer,
   3725     PRPC_MESSAGE pRpcMessage,
   3726     DWORD* pdwStubPhase);
   3727 HRESULT STDMETHODCALLTYPE IOpcRelationshipSelectorEnumerator_GetCurrent_Proxy(
   3728     IOpcRelationshipSelectorEnumerator* This,
   3729     IOpcRelationshipSelector **relationshipSelector);
   3730 void __RPC_STUB IOpcRelationshipSelectorEnumerator_GetCurrent_Stub(
   3731     IRpcStubBuffer* This,
   3732     IRpcChannelBuffer* pRpcChannelBuffer,
   3733     PRPC_MESSAGE pRpcMessage,
   3734     DWORD* pdwStubPhase);
   3735 HRESULT STDMETHODCALLTYPE IOpcRelationshipSelectorEnumerator_Clone_Proxy(
   3736     IOpcRelationshipSelectorEnumerator* This,
   3737     IOpcRelationshipSelectorEnumerator **copy);
   3738 void __RPC_STUB IOpcRelationshipSelectorEnumerator_Clone_Stub(
   3739     IRpcStubBuffer* This,
   3740     IRpcChannelBuffer* pRpcChannelBuffer,
   3741     PRPC_MESSAGE pRpcMessage,
   3742     DWORD* pdwStubPhase);
   3743 
   3744 #endif  /* __IOpcRelationshipSelectorEnumerator_INTERFACE_DEFINED__ */
   3745 
   3746 /*****************************************************************************
   3747  * IOpcCertificateEnumerator interface
   3748  */
   3749 #ifndef __IOpcCertificateEnumerator_INTERFACE_DEFINED__
   3750 #define __IOpcCertificateEnumerator_INTERFACE_DEFINED__
   3751 
   3752 DEFINE_GUID(IID_IOpcCertificateEnumerator, 0x85131937, 0x8f24, 0x421f, 0xb4,0x39, 0x59,0xab,0x24,0xd1,0x40,0xb8);
   3753 #if defined(__cplusplus) && !defined(CINTERFACE)
   3754 MIDL_INTERFACE("85131937-8f24-421f-b439-59ab24d140b8")
   3755 IOpcCertificateEnumerator : public IUnknown
   3756 {
   3757     virtual HRESULT STDMETHODCALLTYPE MoveNext(
   3758         WINBOOL *hasNext) = 0;
   3759 
   3760     virtual HRESULT STDMETHODCALLTYPE MovePrevious(
   3761         WINBOOL *hasPrevious) = 0;
   3762 
   3763     virtual HRESULT STDMETHODCALLTYPE GetCurrent(
   3764         const CERT_CONTEXT **certificate) = 0;
   3765 
   3766     virtual HRESULT STDMETHODCALLTYPE Clone(
   3767         IOpcCertificateEnumerator **copy) = 0;
   3768 
   3769 };
   3770 #ifdef __CRT_UUID_DECL
   3771 __CRT_UUID_DECL(IOpcCertificateEnumerator, 0x85131937, 0x8f24, 0x421f, 0xb4,0x39, 0x59,0xab,0x24,0xd1,0x40,0xb8)
   3772 #endif
   3773 #else
   3774 typedef struct IOpcCertificateEnumeratorVtbl {
   3775     BEGIN_INTERFACE
   3776 
   3777     /*** IUnknown methods ***/
   3778     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3779         IOpcCertificateEnumerator* This,
   3780         REFIID riid,
   3781         void **ppvObject);
   3782 
   3783     ULONG (STDMETHODCALLTYPE *AddRef)(
   3784         IOpcCertificateEnumerator* This);
   3785 
   3786     ULONG (STDMETHODCALLTYPE *Release)(
   3787         IOpcCertificateEnumerator* This);
   3788 
   3789     /*** IOpcCertificateEnumerator methods ***/
   3790     HRESULT (STDMETHODCALLTYPE *MoveNext)(
   3791         IOpcCertificateEnumerator* This,
   3792         WINBOOL *hasNext);
   3793 
   3794     HRESULT (STDMETHODCALLTYPE *MovePrevious)(
   3795         IOpcCertificateEnumerator* This,
   3796         WINBOOL *hasPrevious);
   3797 
   3798     HRESULT (STDMETHODCALLTYPE *GetCurrent)(
   3799         IOpcCertificateEnumerator* This,
   3800         const CERT_CONTEXT **certificate);
   3801 
   3802     HRESULT (STDMETHODCALLTYPE *Clone)(
   3803         IOpcCertificateEnumerator* This,
   3804         IOpcCertificateEnumerator **copy);
   3805 
   3806     END_INTERFACE
   3807 } IOpcCertificateEnumeratorVtbl;
   3808 interface IOpcCertificateEnumerator {
   3809     CONST_VTBL IOpcCertificateEnumeratorVtbl* lpVtbl;
   3810 };
   3811 
   3812 #ifdef COBJMACROS
   3813 #ifndef WIDL_C_INLINE_WRAPPERS
   3814 /*** IUnknown methods ***/
   3815 #define IOpcCertificateEnumerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3816 #define IOpcCertificateEnumerator_AddRef(This) (This)->lpVtbl->AddRef(This)
   3817 #define IOpcCertificateEnumerator_Release(This) (This)->lpVtbl->Release(This)
   3818 /*** IOpcCertificateEnumerator methods ***/
   3819 #define IOpcCertificateEnumerator_MoveNext(This,hasNext) (This)->lpVtbl->MoveNext(This,hasNext)
   3820 #define IOpcCertificateEnumerator_MovePrevious(This,hasPrevious) (This)->lpVtbl->MovePrevious(This,hasPrevious)
   3821 #define IOpcCertificateEnumerator_GetCurrent(This,certificate) (This)->lpVtbl->GetCurrent(This,certificate)
   3822 #define IOpcCertificateEnumerator_Clone(This,copy) (This)->lpVtbl->Clone(This,copy)
   3823 #else
   3824 /*** IUnknown methods ***/
   3825 static FORCEINLINE HRESULT IOpcCertificateEnumerator_QueryInterface(IOpcCertificateEnumerator* This,REFIID riid,void **ppvObject) {
   3826     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3827 }
   3828 static FORCEINLINE ULONG IOpcCertificateEnumerator_AddRef(IOpcCertificateEnumerator* This) {
   3829     return This->lpVtbl->AddRef(This);
   3830 }
   3831 static FORCEINLINE ULONG IOpcCertificateEnumerator_Release(IOpcCertificateEnumerator* This) {
   3832     return This->lpVtbl->Release(This);
   3833 }
   3834 /*** IOpcCertificateEnumerator methods ***/
   3835 static FORCEINLINE HRESULT IOpcCertificateEnumerator_MoveNext(IOpcCertificateEnumerator* This,WINBOOL *hasNext) {
   3836     return This->lpVtbl->MoveNext(This,hasNext);
   3837 }
   3838 static FORCEINLINE HRESULT IOpcCertificateEnumerator_MovePrevious(IOpcCertificateEnumerator* This,WINBOOL *hasPrevious) {
   3839     return This->lpVtbl->MovePrevious(This,hasPrevious);
   3840 }
   3841 static FORCEINLINE HRESULT IOpcCertificateEnumerator_GetCurrent(IOpcCertificateEnumerator* This,const CERT_CONTEXT **certificate) {
   3842     return This->lpVtbl->GetCurrent(This,certificate);
   3843 }
   3844 static FORCEINLINE HRESULT IOpcCertificateEnumerator_Clone(IOpcCertificateEnumerator* This,IOpcCertificateEnumerator **copy) {
   3845     return This->lpVtbl->Clone(This,copy);
   3846 }
   3847 #endif
   3848 #endif
   3849 
   3850 #endif
   3851 
   3852 HRESULT STDMETHODCALLTYPE IOpcCertificateEnumerator_MoveNext_Proxy(
   3853     IOpcCertificateEnumerator* This,
   3854     WINBOOL *hasNext);
   3855 void __RPC_STUB IOpcCertificateEnumerator_MoveNext_Stub(
   3856     IRpcStubBuffer* This,
   3857     IRpcChannelBuffer* pRpcChannelBuffer,
   3858     PRPC_MESSAGE pRpcMessage,
   3859     DWORD* pdwStubPhase);
   3860 HRESULT STDMETHODCALLTYPE IOpcCertificateEnumerator_MovePrevious_Proxy(
   3861     IOpcCertificateEnumerator* This,
   3862     WINBOOL *hasPrevious);
   3863 void __RPC_STUB IOpcCertificateEnumerator_MovePrevious_Stub(
   3864     IRpcStubBuffer* This,
   3865     IRpcChannelBuffer* pRpcChannelBuffer,
   3866     PRPC_MESSAGE pRpcMessage,
   3867     DWORD* pdwStubPhase);
   3868 HRESULT STDMETHODCALLTYPE IOpcCertificateEnumerator_GetCurrent_Proxy(
   3869     IOpcCertificateEnumerator* This,
   3870     const CERT_CONTEXT **certificate);
   3871 void __RPC_STUB IOpcCertificateEnumerator_GetCurrent_Stub(
   3872     IRpcStubBuffer* This,
   3873     IRpcChannelBuffer* pRpcChannelBuffer,
   3874     PRPC_MESSAGE pRpcMessage,
   3875     DWORD* pdwStubPhase);
   3876 HRESULT STDMETHODCALLTYPE IOpcCertificateEnumerator_Clone_Proxy(
   3877     IOpcCertificateEnumerator* This,
   3878     IOpcCertificateEnumerator **copy);
   3879 void __RPC_STUB IOpcCertificateEnumerator_Clone_Stub(
   3880     IRpcStubBuffer* This,
   3881     IRpcChannelBuffer* pRpcChannelBuffer,
   3882     PRPC_MESSAGE pRpcMessage,
   3883     DWORD* pdwStubPhase);
   3884 
   3885 #endif  /* __IOpcCertificateEnumerator_INTERFACE_DEFINED__ */
   3886 
   3887 /*****************************************************************************
   3888  * IOpcCertificateSet interface
   3889  */
   3890 #ifndef __IOpcCertificateSet_INTERFACE_DEFINED__
   3891 #define __IOpcCertificateSet_INTERFACE_DEFINED__
   3892 
   3893 DEFINE_GUID(IID_IOpcCertificateSet, 0x56ea4325, 0x8e2d, 0x4167, 0xb1,0xa4, 0xe4,0x86,0xd2,0x4c,0x8f,0xa7);
   3894 #if defined(__cplusplus) && !defined(CINTERFACE)
   3895 MIDL_INTERFACE("56ea4325-8e2d-4167-b1a4-e486d24c8fa7")
   3896 IOpcCertificateSet : public IUnknown
   3897 {
   3898     virtual HRESULT STDMETHODCALLTYPE Add(
   3899         const CERT_CONTEXT *certificate) = 0;
   3900 
   3901     virtual HRESULT STDMETHODCALLTYPE Remove(
   3902         const CERT_CONTEXT *certificate) = 0;
   3903 
   3904     virtual HRESULT STDMETHODCALLTYPE GetEnumerator(
   3905         IOpcCertificateEnumerator **certificateEnumerator) = 0;
   3906 
   3907 };
   3908 #ifdef __CRT_UUID_DECL
   3909 __CRT_UUID_DECL(IOpcCertificateSet, 0x56ea4325, 0x8e2d, 0x4167, 0xb1,0xa4, 0xe4,0x86,0xd2,0x4c,0x8f,0xa7)
   3910 #endif
   3911 #else
   3912 typedef struct IOpcCertificateSetVtbl {
   3913     BEGIN_INTERFACE
   3914 
   3915     /*** IUnknown methods ***/
   3916     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3917         IOpcCertificateSet* This,
   3918         REFIID riid,
   3919         void **ppvObject);
   3920 
   3921     ULONG (STDMETHODCALLTYPE *AddRef)(
   3922         IOpcCertificateSet* This);
   3923 
   3924     ULONG (STDMETHODCALLTYPE *Release)(
   3925         IOpcCertificateSet* This);
   3926 
   3927     /*** IOpcCertificateSet methods ***/
   3928     HRESULT (STDMETHODCALLTYPE *Add)(
   3929         IOpcCertificateSet* This,
   3930         const CERT_CONTEXT *certificate);
   3931 
   3932     HRESULT (STDMETHODCALLTYPE *Remove)(
   3933         IOpcCertificateSet* This,
   3934         const CERT_CONTEXT *certificate);
   3935 
   3936     HRESULT (STDMETHODCALLTYPE *GetEnumerator)(
   3937         IOpcCertificateSet* This,
   3938         IOpcCertificateEnumerator **certificateEnumerator);
   3939 
   3940     END_INTERFACE
   3941 } IOpcCertificateSetVtbl;
   3942 interface IOpcCertificateSet {
   3943     CONST_VTBL IOpcCertificateSetVtbl* lpVtbl;
   3944 };
   3945 
   3946 #ifdef COBJMACROS
   3947 #ifndef WIDL_C_INLINE_WRAPPERS
   3948 /*** IUnknown methods ***/
   3949 #define IOpcCertificateSet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3950 #define IOpcCertificateSet_AddRef(This) (This)->lpVtbl->AddRef(This)
   3951 #define IOpcCertificateSet_Release(This) (This)->lpVtbl->Release(This)
   3952 /*** IOpcCertificateSet methods ***/
   3953 #define IOpcCertificateSet_Add(This,certificate) (This)->lpVtbl->Add(This,certificate)
   3954 #define IOpcCertificateSet_Remove(This,certificate) (This)->lpVtbl->Remove(This,certificate)
   3955 #define IOpcCertificateSet_GetEnumerator(This,certificateEnumerator) (This)->lpVtbl->GetEnumerator(This,certificateEnumerator)
   3956 #else
   3957 /*** IUnknown methods ***/
   3958 static FORCEINLINE HRESULT IOpcCertificateSet_QueryInterface(IOpcCertificateSet* This,REFIID riid,void **ppvObject) {
   3959     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3960 }
   3961 static FORCEINLINE ULONG IOpcCertificateSet_AddRef(IOpcCertificateSet* This) {
   3962     return This->lpVtbl->AddRef(This);
   3963 }
   3964 static FORCEINLINE ULONG IOpcCertificateSet_Release(IOpcCertificateSet* This) {
   3965     return This->lpVtbl->Release(This);
   3966 }
   3967 /*** IOpcCertificateSet methods ***/
   3968 static FORCEINLINE HRESULT IOpcCertificateSet_Add(IOpcCertificateSet* This,const CERT_CONTEXT *certificate) {
   3969     return This->lpVtbl->Add(This,certificate);
   3970 }
   3971 static FORCEINLINE HRESULT IOpcCertificateSet_Remove(IOpcCertificateSet* This,const CERT_CONTEXT *certificate) {
   3972     return This->lpVtbl->Remove(This,certificate);
   3973 }
   3974 static FORCEINLINE HRESULT IOpcCertificateSet_GetEnumerator(IOpcCertificateSet* This,IOpcCertificateEnumerator **certificateEnumerator) {
   3975     return This->lpVtbl->GetEnumerator(This,certificateEnumerator);
   3976 }
   3977 #endif
   3978 #endif
   3979 
   3980 #endif
   3981 
   3982 HRESULT STDMETHODCALLTYPE IOpcCertificateSet_Add_Proxy(
   3983     IOpcCertificateSet* This,
   3984     const CERT_CONTEXT *certificate);
   3985 void __RPC_STUB IOpcCertificateSet_Add_Stub(
   3986     IRpcStubBuffer* This,
   3987     IRpcChannelBuffer* pRpcChannelBuffer,
   3988     PRPC_MESSAGE pRpcMessage,
   3989     DWORD* pdwStubPhase);
   3990 HRESULT STDMETHODCALLTYPE IOpcCertificateSet_Remove_Proxy(
   3991     IOpcCertificateSet* This,
   3992     const CERT_CONTEXT *certificate);
   3993 void __RPC_STUB IOpcCertificateSet_Remove_Stub(
   3994     IRpcStubBuffer* This,
   3995     IRpcChannelBuffer* pRpcChannelBuffer,
   3996     PRPC_MESSAGE pRpcMessage,
   3997     DWORD* pdwStubPhase);
   3998 HRESULT STDMETHODCALLTYPE IOpcCertificateSet_GetEnumerator_Proxy(
   3999     IOpcCertificateSet* This,
   4000     IOpcCertificateEnumerator **certificateEnumerator);
   4001 void __RPC_STUB IOpcCertificateSet_GetEnumerator_Stub(
   4002     IRpcStubBuffer* This,
   4003     IRpcChannelBuffer* pRpcChannelBuffer,
   4004     PRPC_MESSAGE pRpcMessage,
   4005     DWORD* pdwStubPhase);
   4006 
   4007 #endif  /* __IOpcCertificateSet_INTERFACE_DEFINED__ */
   4008 
   4009 /*****************************************************************************
   4010  * IOpcDigitalSignatureEnumerator interface
   4011  */
   4012 #ifndef __IOpcDigitalSignatureEnumerator_INTERFACE_DEFINED__
   4013 #define __IOpcDigitalSignatureEnumerator_INTERFACE_DEFINED__
   4014 
   4015 DEFINE_GUID(IID_IOpcDigitalSignatureEnumerator, 0x967b6882, 0x0ba3, 0x4358, 0xb9,0xe7, 0xb6,0x4c,0x75,0x06,0x3c,0x5e);
   4016 #if defined(__cplusplus) && !defined(CINTERFACE)
   4017 MIDL_INTERFACE("967b6882-0ba3-4358-b9e7-b64c75063c5e")
   4018 IOpcDigitalSignatureEnumerator : public IUnknown
   4019 {
   4020     virtual HRESULT STDMETHODCALLTYPE MoveNext(
   4021         WINBOOL *hasNext) = 0;
   4022 
   4023     virtual HRESULT STDMETHODCALLTYPE MovePrevious(
   4024         WINBOOL *hasPrevious) = 0;
   4025 
   4026     virtual HRESULT STDMETHODCALLTYPE GetCurrent(
   4027         IOpcDigitalSignature **digitalSignature) = 0;
   4028 
   4029     virtual HRESULT STDMETHODCALLTYPE Clone(
   4030         IOpcDigitalSignatureEnumerator **copy) = 0;
   4031 
   4032 };
   4033 #ifdef __CRT_UUID_DECL
   4034 __CRT_UUID_DECL(IOpcDigitalSignatureEnumerator, 0x967b6882, 0x0ba3, 0x4358, 0xb9,0xe7, 0xb6,0x4c,0x75,0x06,0x3c,0x5e)
   4035 #endif
   4036 #else
   4037 typedef struct IOpcDigitalSignatureEnumeratorVtbl {
   4038     BEGIN_INTERFACE
   4039 
   4040     /*** IUnknown methods ***/
   4041     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4042         IOpcDigitalSignatureEnumerator* This,
   4043         REFIID riid,
   4044         void **ppvObject);
   4045 
   4046     ULONG (STDMETHODCALLTYPE *AddRef)(
   4047         IOpcDigitalSignatureEnumerator* This);
   4048 
   4049     ULONG (STDMETHODCALLTYPE *Release)(
   4050         IOpcDigitalSignatureEnumerator* This);
   4051 
   4052     /*** IOpcDigitalSignatureEnumerator methods ***/
   4053     HRESULT (STDMETHODCALLTYPE *MoveNext)(
   4054         IOpcDigitalSignatureEnumerator* This,
   4055         WINBOOL *hasNext);
   4056 
   4057     HRESULT (STDMETHODCALLTYPE *MovePrevious)(
   4058         IOpcDigitalSignatureEnumerator* This,
   4059         WINBOOL *hasPrevious);
   4060 
   4061     HRESULT (STDMETHODCALLTYPE *GetCurrent)(
   4062         IOpcDigitalSignatureEnumerator* This,
   4063         IOpcDigitalSignature **digitalSignature);
   4064 
   4065     HRESULT (STDMETHODCALLTYPE *Clone)(
   4066         IOpcDigitalSignatureEnumerator* This,
   4067         IOpcDigitalSignatureEnumerator **copy);
   4068 
   4069     END_INTERFACE
   4070 } IOpcDigitalSignatureEnumeratorVtbl;
   4071 interface IOpcDigitalSignatureEnumerator {
   4072     CONST_VTBL IOpcDigitalSignatureEnumeratorVtbl* lpVtbl;
   4073 };
   4074 
   4075 #ifdef COBJMACROS
   4076 #ifndef WIDL_C_INLINE_WRAPPERS
   4077 /*** IUnknown methods ***/
   4078 #define IOpcDigitalSignatureEnumerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4079 #define IOpcDigitalSignatureEnumerator_AddRef(This) (This)->lpVtbl->AddRef(This)
   4080 #define IOpcDigitalSignatureEnumerator_Release(This) (This)->lpVtbl->Release(This)
   4081 /*** IOpcDigitalSignatureEnumerator methods ***/
   4082 #define IOpcDigitalSignatureEnumerator_MoveNext(This,hasNext) (This)->lpVtbl->MoveNext(This,hasNext)
   4083 #define IOpcDigitalSignatureEnumerator_MovePrevious(This,hasPrevious) (This)->lpVtbl->MovePrevious(This,hasPrevious)
   4084 #define IOpcDigitalSignatureEnumerator_GetCurrent(This,digitalSignature) (This)->lpVtbl->GetCurrent(This,digitalSignature)
   4085 #define IOpcDigitalSignatureEnumerator_Clone(This,copy) (This)->lpVtbl->Clone(This,copy)
   4086 #else
   4087 /*** IUnknown methods ***/
   4088 static FORCEINLINE HRESULT IOpcDigitalSignatureEnumerator_QueryInterface(IOpcDigitalSignatureEnumerator* This,REFIID riid,void **ppvObject) {
   4089     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4090 }
   4091 static FORCEINLINE ULONG IOpcDigitalSignatureEnumerator_AddRef(IOpcDigitalSignatureEnumerator* This) {
   4092     return This->lpVtbl->AddRef(This);
   4093 }
   4094 static FORCEINLINE ULONG IOpcDigitalSignatureEnumerator_Release(IOpcDigitalSignatureEnumerator* This) {
   4095     return This->lpVtbl->Release(This);
   4096 }
   4097 /*** IOpcDigitalSignatureEnumerator methods ***/
   4098 static FORCEINLINE HRESULT IOpcDigitalSignatureEnumerator_MoveNext(IOpcDigitalSignatureEnumerator* This,WINBOOL *hasNext) {
   4099     return This->lpVtbl->MoveNext(This,hasNext);
   4100 }
   4101 static FORCEINLINE HRESULT IOpcDigitalSignatureEnumerator_MovePrevious(IOpcDigitalSignatureEnumerator* This,WINBOOL *hasPrevious) {
   4102     return This->lpVtbl->MovePrevious(This,hasPrevious);
   4103 }
   4104 static FORCEINLINE HRESULT IOpcDigitalSignatureEnumerator_GetCurrent(IOpcDigitalSignatureEnumerator* This,IOpcDigitalSignature **digitalSignature) {
   4105     return This->lpVtbl->GetCurrent(This,digitalSignature);
   4106 }
   4107 static FORCEINLINE HRESULT IOpcDigitalSignatureEnumerator_Clone(IOpcDigitalSignatureEnumerator* This,IOpcDigitalSignatureEnumerator **copy) {
   4108     return This->lpVtbl->Clone(This,copy);
   4109 }
   4110 #endif
   4111 #endif
   4112 
   4113 #endif
   4114 
   4115 HRESULT STDMETHODCALLTYPE IOpcDigitalSignatureEnumerator_MoveNext_Proxy(
   4116     IOpcDigitalSignatureEnumerator* This,
   4117     WINBOOL *hasNext);
   4118 void __RPC_STUB IOpcDigitalSignatureEnumerator_MoveNext_Stub(
   4119     IRpcStubBuffer* This,
   4120     IRpcChannelBuffer* pRpcChannelBuffer,
   4121     PRPC_MESSAGE pRpcMessage,
   4122     DWORD* pdwStubPhase);
   4123 HRESULT STDMETHODCALLTYPE IOpcDigitalSignatureEnumerator_MovePrevious_Proxy(
   4124     IOpcDigitalSignatureEnumerator* This,
   4125     WINBOOL *hasPrevious);
   4126 void __RPC_STUB IOpcDigitalSignatureEnumerator_MovePrevious_Stub(
   4127     IRpcStubBuffer* This,
   4128     IRpcChannelBuffer* pRpcChannelBuffer,
   4129     PRPC_MESSAGE pRpcMessage,
   4130     DWORD* pdwStubPhase);
   4131 HRESULT STDMETHODCALLTYPE IOpcDigitalSignatureEnumerator_GetCurrent_Proxy(
   4132     IOpcDigitalSignatureEnumerator* This,
   4133     IOpcDigitalSignature **digitalSignature);
   4134 void __RPC_STUB IOpcDigitalSignatureEnumerator_GetCurrent_Stub(
   4135     IRpcStubBuffer* This,
   4136     IRpcChannelBuffer* pRpcChannelBuffer,
   4137     PRPC_MESSAGE pRpcMessage,
   4138     DWORD* pdwStubPhase);
   4139 HRESULT STDMETHODCALLTYPE IOpcDigitalSignatureEnumerator_Clone_Proxy(
   4140     IOpcDigitalSignatureEnumerator* This,
   4141     IOpcDigitalSignatureEnumerator **copy);
   4142 void __RPC_STUB IOpcDigitalSignatureEnumerator_Clone_Stub(
   4143     IRpcStubBuffer* This,
   4144     IRpcChannelBuffer* pRpcChannelBuffer,
   4145     PRPC_MESSAGE pRpcMessage,
   4146     DWORD* pdwStubPhase);
   4147 
   4148 #endif  /* __IOpcDigitalSignatureEnumerator_INTERFACE_DEFINED__ */
   4149 
   4150 /*****************************************************************************
   4151  * IOpcDigitalSignatureManager interface
   4152  */
   4153 #ifndef __IOpcDigitalSignatureManager_INTERFACE_DEFINED__
   4154 #define __IOpcDigitalSignatureManager_INTERFACE_DEFINED__
   4155 
   4156 DEFINE_GUID(IID_IOpcDigitalSignatureManager, 0xd5e62a0b, 0x696d, 0x462f, 0x94,0xdf, 0x72,0xe3,0x3c,0xef,0x26,0x59);
   4157 #if defined(__cplusplus) && !defined(CINTERFACE)
   4158 MIDL_INTERFACE("d5e62a0b-696d-462f-94df-72e33cef2659")
   4159 IOpcDigitalSignatureManager : public IUnknown
   4160 {
   4161     virtual HRESULT STDMETHODCALLTYPE GetSignatureOriginPartName(
   4162         IOpcPartUri **signatureOriginPartName) = 0;
   4163 
   4164     virtual HRESULT STDMETHODCALLTYPE SetSignatureOriginPartName(
   4165         IOpcPartUri *signatureOriginPartName) = 0;
   4166 
   4167     virtual HRESULT STDMETHODCALLTYPE GetSignatureEnumerator(
   4168         IOpcDigitalSignatureEnumerator **signatureEnumerator) = 0;
   4169 
   4170     virtual HRESULT STDMETHODCALLTYPE RemoveSignature(
   4171         IOpcPartUri *signaturePartName) = 0;
   4172 
   4173     virtual HRESULT STDMETHODCALLTYPE CreateSigningOptions(
   4174         IOpcSigningOptions **signingOptions) = 0;
   4175 
   4176     virtual HRESULT STDMETHODCALLTYPE Validate(
   4177         IOpcDigitalSignature *signature,
   4178         const CERT_CONTEXT *certificate,
   4179         OPC_SIGNATURE_VALIDATION_RESULT *validationResult) = 0;
   4180 
   4181     virtual HRESULT STDMETHODCALLTYPE Sign(
   4182         const CERT_CONTEXT *certificate,
   4183         IOpcSigningOptions *signingOptions,
   4184         IOpcDigitalSignature **digitalSignature) = 0;
   4185 
   4186     virtual HRESULT STDMETHODCALLTYPE ReplaceSignatureXml(
   4187         IOpcPartUri *signaturePartName,
   4188         const UINT8 *newSignatureXml,
   4189         UINT32 count,
   4190         IOpcDigitalSignature **digitalSignature) = 0;
   4191 
   4192 };
   4193 #ifdef __CRT_UUID_DECL
   4194 __CRT_UUID_DECL(IOpcDigitalSignatureManager, 0xd5e62a0b, 0x696d, 0x462f, 0x94,0xdf, 0x72,0xe3,0x3c,0xef,0x26,0x59)
   4195 #endif
   4196 #else
   4197 typedef struct IOpcDigitalSignatureManagerVtbl {
   4198     BEGIN_INTERFACE
   4199 
   4200     /*** IUnknown methods ***/
   4201     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4202         IOpcDigitalSignatureManager* This,
   4203         REFIID riid,
   4204         void **ppvObject);
   4205 
   4206     ULONG (STDMETHODCALLTYPE *AddRef)(
   4207         IOpcDigitalSignatureManager* This);
   4208 
   4209     ULONG (STDMETHODCALLTYPE *Release)(
   4210         IOpcDigitalSignatureManager* This);
   4211 
   4212     /*** IOpcDigitalSignatureManager methods ***/
   4213     HRESULT (STDMETHODCALLTYPE *GetSignatureOriginPartName)(
   4214         IOpcDigitalSignatureManager* This,
   4215         IOpcPartUri **signatureOriginPartName);
   4216 
   4217     HRESULT (STDMETHODCALLTYPE *SetSignatureOriginPartName)(
   4218         IOpcDigitalSignatureManager* This,
   4219         IOpcPartUri *signatureOriginPartName);
   4220 
   4221     HRESULT (STDMETHODCALLTYPE *GetSignatureEnumerator)(
   4222         IOpcDigitalSignatureManager* This,
   4223         IOpcDigitalSignatureEnumerator **signatureEnumerator);
   4224 
   4225     HRESULT (STDMETHODCALLTYPE *RemoveSignature)(
   4226         IOpcDigitalSignatureManager* This,
   4227         IOpcPartUri *signaturePartName);
   4228 
   4229     HRESULT (STDMETHODCALLTYPE *CreateSigningOptions)(
   4230         IOpcDigitalSignatureManager* This,
   4231         IOpcSigningOptions **signingOptions);
   4232 
   4233     HRESULT (STDMETHODCALLTYPE *Validate)(
   4234         IOpcDigitalSignatureManager* This,
   4235         IOpcDigitalSignature *signature,
   4236         const CERT_CONTEXT *certificate,
   4237         OPC_SIGNATURE_VALIDATION_RESULT *validationResult);
   4238 
   4239     HRESULT (STDMETHODCALLTYPE *Sign)(
   4240         IOpcDigitalSignatureManager* This,
   4241         const CERT_CONTEXT *certificate,
   4242         IOpcSigningOptions *signingOptions,
   4243         IOpcDigitalSignature **digitalSignature);
   4244 
   4245     HRESULT (STDMETHODCALLTYPE *ReplaceSignatureXml)(
   4246         IOpcDigitalSignatureManager* This,
   4247         IOpcPartUri *signaturePartName,
   4248         const UINT8 *newSignatureXml,
   4249         UINT32 count,
   4250         IOpcDigitalSignature **digitalSignature);
   4251 
   4252     END_INTERFACE
   4253 } IOpcDigitalSignatureManagerVtbl;
   4254 interface IOpcDigitalSignatureManager {
   4255     CONST_VTBL IOpcDigitalSignatureManagerVtbl* lpVtbl;
   4256 };
   4257 
   4258 #ifdef COBJMACROS
   4259 #ifndef WIDL_C_INLINE_WRAPPERS
   4260 /*** IUnknown methods ***/
   4261 #define IOpcDigitalSignatureManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4262 #define IOpcDigitalSignatureManager_AddRef(This) (This)->lpVtbl->AddRef(This)
   4263 #define IOpcDigitalSignatureManager_Release(This) (This)->lpVtbl->Release(This)
   4264 /*** IOpcDigitalSignatureManager methods ***/
   4265 #define IOpcDigitalSignatureManager_GetSignatureOriginPartName(This,signatureOriginPartName) (This)->lpVtbl->GetSignatureOriginPartName(This,signatureOriginPartName)
   4266 #define IOpcDigitalSignatureManager_SetSignatureOriginPartName(This,signatureOriginPartName) (This)->lpVtbl->SetSignatureOriginPartName(This,signatureOriginPartName)
   4267 #define IOpcDigitalSignatureManager_GetSignatureEnumerator(This,signatureEnumerator) (This)->lpVtbl->GetSignatureEnumerator(This,signatureEnumerator)
   4268 #define IOpcDigitalSignatureManager_RemoveSignature(This,signaturePartName) (This)->lpVtbl->RemoveSignature(This,signaturePartName)
   4269 #define IOpcDigitalSignatureManager_CreateSigningOptions(This,signingOptions) (This)->lpVtbl->CreateSigningOptions(This,signingOptions)
   4270 #define IOpcDigitalSignatureManager_Validate(This,signature,certificate,validationResult) (This)->lpVtbl->Validate(This,signature,certificate,validationResult)
   4271 #define IOpcDigitalSignatureManager_Sign(This,certificate,signingOptions,digitalSignature) (This)->lpVtbl->Sign(This,certificate,signingOptions,digitalSignature)
   4272 #define IOpcDigitalSignatureManager_ReplaceSignatureXml(This,signaturePartName,newSignatureXml,count,digitalSignature) (This)->lpVtbl->ReplaceSignatureXml(This,signaturePartName,newSignatureXml,count,digitalSignature)
   4273 #else
   4274 /*** IUnknown methods ***/
   4275 static FORCEINLINE HRESULT IOpcDigitalSignatureManager_QueryInterface(IOpcDigitalSignatureManager* This,REFIID riid,void **ppvObject) {
   4276     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4277 }
   4278 static FORCEINLINE ULONG IOpcDigitalSignatureManager_AddRef(IOpcDigitalSignatureManager* This) {
   4279     return This->lpVtbl->AddRef(This);
   4280 }
   4281 static FORCEINLINE ULONG IOpcDigitalSignatureManager_Release(IOpcDigitalSignatureManager* This) {
   4282     return This->lpVtbl->Release(This);
   4283 }
   4284 /*** IOpcDigitalSignatureManager methods ***/
   4285 static FORCEINLINE HRESULT IOpcDigitalSignatureManager_GetSignatureOriginPartName(IOpcDigitalSignatureManager* This,IOpcPartUri **signatureOriginPartName) {
   4286     return This->lpVtbl->GetSignatureOriginPartName(This,signatureOriginPartName);
   4287 }
   4288 static FORCEINLINE HRESULT IOpcDigitalSignatureManager_SetSignatureOriginPartName(IOpcDigitalSignatureManager* This,IOpcPartUri *signatureOriginPartName) {
   4289     return This->lpVtbl->SetSignatureOriginPartName(This,signatureOriginPartName);
   4290 }
   4291 static FORCEINLINE HRESULT IOpcDigitalSignatureManager_GetSignatureEnumerator(IOpcDigitalSignatureManager* This,IOpcDigitalSignatureEnumerator **signatureEnumerator) {
   4292     return This->lpVtbl->GetSignatureEnumerator(This,signatureEnumerator);
   4293 }
   4294 static FORCEINLINE HRESULT IOpcDigitalSignatureManager_RemoveSignature(IOpcDigitalSignatureManager* This,IOpcPartUri *signaturePartName) {
   4295     return This->lpVtbl->RemoveSignature(This,signaturePartName);
   4296 }
   4297 static FORCEINLINE HRESULT IOpcDigitalSignatureManager_CreateSigningOptions(IOpcDigitalSignatureManager* This,IOpcSigningOptions **signingOptions) {
   4298     return This->lpVtbl->CreateSigningOptions(This,signingOptions);
   4299 }
   4300 static FORCEINLINE HRESULT IOpcDigitalSignatureManager_Validate(IOpcDigitalSignatureManager* This,IOpcDigitalSignature *signature,const CERT_CONTEXT *certificate,OPC_SIGNATURE_VALIDATION_RESULT *validationResult) {
   4301     return This->lpVtbl->Validate(This,signature,certificate,validationResult);
   4302 }
   4303 static FORCEINLINE HRESULT IOpcDigitalSignatureManager_Sign(IOpcDigitalSignatureManager* This,const CERT_CONTEXT *certificate,IOpcSigningOptions *signingOptions,IOpcDigitalSignature **digitalSignature) {
   4304     return This->lpVtbl->Sign(This,certificate,signingOptions,digitalSignature);
   4305 }
   4306 static FORCEINLINE HRESULT IOpcDigitalSignatureManager_ReplaceSignatureXml(IOpcDigitalSignatureManager* This,IOpcPartUri *signaturePartName,const UINT8 *newSignatureXml,UINT32 count,IOpcDigitalSignature **digitalSignature) {
   4307     return This->lpVtbl->ReplaceSignatureXml(This,signaturePartName,newSignatureXml,count,digitalSignature);
   4308 }
   4309 #endif
   4310 #endif
   4311 
   4312 #endif
   4313 
   4314 HRESULT STDMETHODCALLTYPE IOpcDigitalSignatureManager_GetSignatureOriginPartName_Proxy(
   4315     IOpcDigitalSignatureManager* This,
   4316     IOpcPartUri **signatureOriginPartName);
   4317 void __RPC_STUB IOpcDigitalSignatureManager_GetSignatureOriginPartName_Stub(
   4318     IRpcStubBuffer* This,
   4319     IRpcChannelBuffer* pRpcChannelBuffer,
   4320     PRPC_MESSAGE pRpcMessage,
   4321     DWORD* pdwStubPhase);
   4322 HRESULT STDMETHODCALLTYPE IOpcDigitalSignatureManager_SetSignatureOriginPartName_Proxy(
   4323     IOpcDigitalSignatureManager* This,
   4324     IOpcPartUri *signatureOriginPartName);
   4325 void __RPC_STUB IOpcDigitalSignatureManager_SetSignatureOriginPartName_Stub(
   4326     IRpcStubBuffer* This,
   4327     IRpcChannelBuffer* pRpcChannelBuffer,
   4328     PRPC_MESSAGE pRpcMessage,
   4329     DWORD* pdwStubPhase);
   4330 HRESULT STDMETHODCALLTYPE IOpcDigitalSignatureManager_GetSignatureEnumerator_Proxy(
   4331     IOpcDigitalSignatureManager* This,
   4332     IOpcDigitalSignatureEnumerator **signatureEnumerator);
   4333 void __RPC_STUB IOpcDigitalSignatureManager_GetSignatureEnumerator_Stub(
   4334     IRpcStubBuffer* This,
   4335     IRpcChannelBuffer* pRpcChannelBuffer,
   4336     PRPC_MESSAGE pRpcMessage,
   4337     DWORD* pdwStubPhase);
   4338 HRESULT STDMETHODCALLTYPE IOpcDigitalSignatureManager_RemoveSignature_Proxy(
   4339     IOpcDigitalSignatureManager* This,
   4340     IOpcPartUri *signaturePartName);
   4341 void __RPC_STUB IOpcDigitalSignatureManager_RemoveSignature_Stub(
   4342     IRpcStubBuffer* This,
   4343     IRpcChannelBuffer* pRpcChannelBuffer,
   4344     PRPC_MESSAGE pRpcMessage,
   4345     DWORD* pdwStubPhase);
   4346 HRESULT STDMETHODCALLTYPE IOpcDigitalSignatureManager_CreateSigningOptions_Proxy(
   4347     IOpcDigitalSignatureManager* This,
   4348     IOpcSigningOptions **signingOptions);
   4349 void __RPC_STUB IOpcDigitalSignatureManager_CreateSigningOptions_Stub(
   4350     IRpcStubBuffer* This,
   4351     IRpcChannelBuffer* pRpcChannelBuffer,
   4352     PRPC_MESSAGE pRpcMessage,
   4353     DWORD* pdwStubPhase);
   4354 HRESULT STDMETHODCALLTYPE IOpcDigitalSignatureManager_Validate_Proxy(
   4355     IOpcDigitalSignatureManager* This,
   4356     IOpcDigitalSignature *signature,
   4357     const CERT_CONTEXT *certificate,
   4358     OPC_SIGNATURE_VALIDATION_RESULT *validationResult);
   4359 void __RPC_STUB IOpcDigitalSignatureManager_Validate_Stub(
   4360     IRpcStubBuffer* This,
   4361     IRpcChannelBuffer* pRpcChannelBuffer,
   4362     PRPC_MESSAGE pRpcMessage,
   4363     DWORD* pdwStubPhase);
   4364 HRESULT STDMETHODCALLTYPE IOpcDigitalSignatureManager_Sign_Proxy(
   4365     IOpcDigitalSignatureManager* This,
   4366     const CERT_CONTEXT *certificate,
   4367     IOpcSigningOptions *signingOptions,
   4368     IOpcDigitalSignature **digitalSignature);
   4369 void __RPC_STUB IOpcDigitalSignatureManager_Sign_Stub(
   4370     IRpcStubBuffer* This,
   4371     IRpcChannelBuffer* pRpcChannelBuffer,
   4372     PRPC_MESSAGE pRpcMessage,
   4373     DWORD* pdwStubPhase);
   4374 HRESULT STDMETHODCALLTYPE IOpcDigitalSignatureManager_ReplaceSignatureXml_Proxy(
   4375     IOpcDigitalSignatureManager* This,
   4376     IOpcPartUri *signaturePartName,
   4377     const UINT8 *newSignatureXml,
   4378     UINT32 count,
   4379     IOpcDigitalSignature **digitalSignature);
   4380 void __RPC_STUB IOpcDigitalSignatureManager_ReplaceSignatureXml_Stub(
   4381     IRpcStubBuffer* This,
   4382     IRpcChannelBuffer* pRpcChannelBuffer,
   4383     PRPC_MESSAGE pRpcMessage,
   4384     DWORD* pdwStubPhase);
   4385 
   4386 #endif  /* __IOpcDigitalSignatureManager_INTERFACE_DEFINED__ */
   4387 
   4388 /*****************************************************************************
   4389  * IOpcSignaturePartReferenceSet interface
   4390  */
   4391 #ifndef __IOpcSignaturePartReferenceSet_INTERFACE_DEFINED__
   4392 #define __IOpcSignaturePartReferenceSet_INTERFACE_DEFINED__
   4393 
   4394 DEFINE_GUID(IID_IOpcSignaturePartReferenceSet, 0x6c9fe28c, 0xecd9, 0x4b22, 0x9d,0x36, 0x7f,0xdd,0xe6,0x70,0xfe,0xc0);
   4395 #if defined(__cplusplus) && !defined(CINTERFACE)
   4396 MIDL_INTERFACE("6c9fe28c-ecd9-4b22-9d36-7fdde670fec0")
   4397 IOpcSignaturePartReferenceSet : public IUnknown
   4398 {
   4399     virtual HRESULT STDMETHODCALLTYPE Create(
   4400         IOpcPartUri *partUri,
   4401         LPCWSTR digestMethod,
   4402         OPC_CANONICALIZATION_METHOD transformMethod,
   4403         IOpcSignaturePartReference **partReference) = 0;
   4404 
   4405     virtual HRESULT STDMETHODCALLTYPE Delete(
   4406         IOpcSignaturePartReference *partReference) = 0;
   4407 
   4408     virtual HRESULT STDMETHODCALLTYPE GetEnumerator(
   4409         IOpcSignaturePartReferenceEnumerator **partReferenceEnumerator) = 0;
   4410 
   4411 };
   4412 #ifdef __CRT_UUID_DECL
   4413 __CRT_UUID_DECL(IOpcSignaturePartReferenceSet, 0x6c9fe28c, 0xecd9, 0x4b22, 0x9d,0x36, 0x7f,0xdd,0xe6,0x70,0xfe,0xc0)
   4414 #endif
   4415 #else
   4416 typedef struct IOpcSignaturePartReferenceSetVtbl {
   4417     BEGIN_INTERFACE
   4418 
   4419     /*** IUnknown methods ***/
   4420     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4421         IOpcSignaturePartReferenceSet* This,
   4422         REFIID riid,
   4423         void **ppvObject);
   4424 
   4425     ULONG (STDMETHODCALLTYPE *AddRef)(
   4426         IOpcSignaturePartReferenceSet* This);
   4427 
   4428     ULONG (STDMETHODCALLTYPE *Release)(
   4429         IOpcSignaturePartReferenceSet* This);
   4430 
   4431     /*** IOpcSignaturePartReferenceSet methods ***/
   4432     HRESULT (STDMETHODCALLTYPE *Create)(
   4433         IOpcSignaturePartReferenceSet* This,
   4434         IOpcPartUri *partUri,
   4435         LPCWSTR digestMethod,
   4436         OPC_CANONICALIZATION_METHOD transformMethod,
   4437         IOpcSignaturePartReference **partReference);
   4438 
   4439     HRESULT (STDMETHODCALLTYPE *Delete)(
   4440         IOpcSignaturePartReferenceSet* This,
   4441         IOpcSignaturePartReference *partReference);
   4442 
   4443     HRESULT (STDMETHODCALLTYPE *GetEnumerator)(
   4444         IOpcSignaturePartReferenceSet* This,
   4445         IOpcSignaturePartReferenceEnumerator **partReferenceEnumerator);
   4446 
   4447     END_INTERFACE
   4448 } IOpcSignaturePartReferenceSetVtbl;
   4449 interface IOpcSignaturePartReferenceSet {
   4450     CONST_VTBL IOpcSignaturePartReferenceSetVtbl* lpVtbl;
   4451 };
   4452 
   4453 #ifdef COBJMACROS
   4454 #ifndef WIDL_C_INLINE_WRAPPERS
   4455 /*** IUnknown methods ***/
   4456 #define IOpcSignaturePartReferenceSet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4457 #define IOpcSignaturePartReferenceSet_AddRef(This) (This)->lpVtbl->AddRef(This)
   4458 #define IOpcSignaturePartReferenceSet_Release(This) (This)->lpVtbl->Release(This)
   4459 /*** IOpcSignaturePartReferenceSet methods ***/
   4460 #define IOpcSignaturePartReferenceSet_Create(This,partUri,digestMethod,transformMethod,partReference) (This)->lpVtbl->Create(This,partUri,digestMethod,transformMethod,partReference)
   4461 #define IOpcSignaturePartReferenceSet_Delete(This,partReference) (This)->lpVtbl->Delete(This,partReference)
   4462 #define IOpcSignaturePartReferenceSet_GetEnumerator(This,partReferenceEnumerator) (This)->lpVtbl->GetEnumerator(This,partReferenceEnumerator)
   4463 #else
   4464 /*** IUnknown methods ***/
   4465 static FORCEINLINE HRESULT IOpcSignaturePartReferenceSet_QueryInterface(IOpcSignaturePartReferenceSet* This,REFIID riid,void **ppvObject) {
   4466     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4467 }
   4468 static FORCEINLINE ULONG IOpcSignaturePartReferenceSet_AddRef(IOpcSignaturePartReferenceSet* This) {
   4469     return This->lpVtbl->AddRef(This);
   4470 }
   4471 static FORCEINLINE ULONG IOpcSignaturePartReferenceSet_Release(IOpcSignaturePartReferenceSet* This) {
   4472     return This->lpVtbl->Release(This);
   4473 }
   4474 /*** IOpcSignaturePartReferenceSet methods ***/
   4475 static FORCEINLINE HRESULT IOpcSignaturePartReferenceSet_Create(IOpcSignaturePartReferenceSet* This,IOpcPartUri *partUri,LPCWSTR digestMethod,OPC_CANONICALIZATION_METHOD transformMethod,IOpcSignaturePartReference **partReference) {
   4476     return This->lpVtbl->Create(This,partUri,digestMethod,transformMethod,partReference);
   4477 }
   4478 static FORCEINLINE HRESULT IOpcSignaturePartReferenceSet_Delete(IOpcSignaturePartReferenceSet* This,IOpcSignaturePartReference *partReference) {
   4479     return This->lpVtbl->Delete(This,partReference);
   4480 }
   4481 static FORCEINLINE HRESULT IOpcSignaturePartReferenceSet_GetEnumerator(IOpcSignaturePartReferenceSet* This,IOpcSignaturePartReferenceEnumerator **partReferenceEnumerator) {
   4482     return This->lpVtbl->GetEnumerator(This,partReferenceEnumerator);
   4483 }
   4484 #endif
   4485 #endif
   4486 
   4487 #endif
   4488 
   4489 HRESULT STDMETHODCALLTYPE IOpcSignaturePartReferenceSet_Create_Proxy(
   4490     IOpcSignaturePartReferenceSet* This,
   4491     IOpcPartUri *partUri,
   4492     LPCWSTR digestMethod,
   4493     OPC_CANONICALIZATION_METHOD transformMethod,
   4494     IOpcSignaturePartReference **partReference);
   4495 void __RPC_STUB IOpcSignaturePartReferenceSet_Create_Stub(
   4496     IRpcStubBuffer* This,
   4497     IRpcChannelBuffer* pRpcChannelBuffer,
   4498     PRPC_MESSAGE pRpcMessage,
   4499     DWORD* pdwStubPhase);
   4500 HRESULT STDMETHODCALLTYPE IOpcSignaturePartReferenceSet_Delete_Proxy(
   4501     IOpcSignaturePartReferenceSet* This,
   4502     IOpcSignaturePartReference *partReference);
   4503 void __RPC_STUB IOpcSignaturePartReferenceSet_Delete_Stub(
   4504     IRpcStubBuffer* This,
   4505     IRpcChannelBuffer* pRpcChannelBuffer,
   4506     PRPC_MESSAGE pRpcMessage,
   4507     DWORD* pdwStubPhase);
   4508 HRESULT STDMETHODCALLTYPE IOpcSignaturePartReferenceSet_GetEnumerator_Proxy(
   4509     IOpcSignaturePartReferenceSet* This,
   4510     IOpcSignaturePartReferenceEnumerator **partReferenceEnumerator);
   4511 void __RPC_STUB IOpcSignaturePartReferenceSet_GetEnumerator_Stub(
   4512     IRpcStubBuffer* This,
   4513     IRpcChannelBuffer* pRpcChannelBuffer,
   4514     PRPC_MESSAGE pRpcMessage,
   4515     DWORD* pdwStubPhase);
   4516 
   4517 #endif  /* __IOpcSignaturePartReferenceSet_INTERFACE_DEFINED__ */
   4518 
   4519 /*****************************************************************************
   4520  * IOpcRelationshipSelectorSet interface
   4521  */
   4522 #ifndef __IOpcRelationshipSelectorSet_INTERFACE_DEFINED__
   4523 #define __IOpcRelationshipSelectorSet_INTERFACE_DEFINED__
   4524 
   4525 DEFINE_GUID(IID_IOpcRelationshipSelectorSet, 0x6e34c269, 0xa4d3, 0x47c0, 0xb5,0xc4, 0x87,0xff,0x2b,0x3b,0x61,0x36);
   4526 #if defined(__cplusplus) && !defined(CINTERFACE)
   4527 MIDL_INTERFACE("6e34c269-a4d3-47c0-b5c4-87ff2b3b6136")
   4528 IOpcRelationshipSelectorSet : public IUnknown
   4529 {
   4530     virtual HRESULT STDMETHODCALLTYPE Create(
   4531         OPC_RELATIONSHIP_SELECTOR selector,
   4532         LPCWSTR selectionCriterion,
   4533         IOpcRelationshipSelector **relationshipSelector) = 0;
   4534 
   4535     virtual HRESULT STDMETHODCALLTYPE Delete(
   4536         IOpcRelationshipSelector *relationshipSelector) = 0;
   4537 
   4538     virtual HRESULT STDMETHODCALLTYPE GetEnumerator(
   4539         IOpcRelationshipSelectorEnumerator **relationshipSelectorEnumerator) = 0;
   4540 
   4541 };
   4542 #ifdef __CRT_UUID_DECL
   4543 __CRT_UUID_DECL(IOpcRelationshipSelectorSet, 0x6e34c269, 0xa4d3, 0x47c0, 0xb5,0xc4, 0x87,0xff,0x2b,0x3b,0x61,0x36)
   4544 #endif
   4545 #else
   4546 typedef struct IOpcRelationshipSelectorSetVtbl {
   4547     BEGIN_INTERFACE
   4548 
   4549     /*** IUnknown methods ***/
   4550     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4551         IOpcRelationshipSelectorSet* This,
   4552         REFIID riid,
   4553         void **ppvObject);
   4554 
   4555     ULONG (STDMETHODCALLTYPE *AddRef)(
   4556         IOpcRelationshipSelectorSet* This);
   4557 
   4558     ULONG (STDMETHODCALLTYPE *Release)(
   4559         IOpcRelationshipSelectorSet* This);
   4560 
   4561     /*** IOpcRelationshipSelectorSet methods ***/
   4562     HRESULT (STDMETHODCALLTYPE *Create)(
   4563         IOpcRelationshipSelectorSet* This,
   4564         OPC_RELATIONSHIP_SELECTOR selector,
   4565         LPCWSTR selectionCriterion,
   4566         IOpcRelationshipSelector **relationshipSelector);
   4567 
   4568     HRESULT (STDMETHODCALLTYPE *Delete)(
   4569         IOpcRelationshipSelectorSet* This,
   4570         IOpcRelationshipSelector *relationshipSelector);
   4571 
   4572     HRESULT (STDMETHODCALLTYPE *GetEnumerator)(
   4573         IOpcRelationshipSelectorSet* This,
   4574         IOpcRelationshipSelectorEnumerator **relationshipSelectorEnumerator);
   4575 
   4576     END_INTERFACE
   4577 } IOpcRelationshipSelectorSetVtbl;
   4578 interface IOpcRelationshipSelectorSet {
   4579     CONST_VTBL IOpcRelationshipSelectorSetVtbl* lpVtbl;
   4580 };
   4581 
   4582 #ifdef COBJMACROS
   4583 #ifndef WIDL_C_INLINE_WRAPPERS
   4584 /*** IUnknown methods ***/
   4585 #define IOpcRelationshipSelectorSet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4586 #define IOpcRelationshipSelectorSet_AddRef(This) (This)->lpVtbl->AddRef(This)
   4587 #define IOpcRelationshipSelectorSet_Release(This) (This)->lpVtbl->Release(This)
   4588 /*** IOpcRelationshipSelectorSet methods ***/
   4589 #define IOpcRelationshipSelectorSet_Create(This,selector,selectionCriterion,relationshipSelector) (This)->lpVtbl->Create(This,selector,selectionCriterion,relationshipSelector)
   4590 #define IOpcRelationshipSelectorSet_Delete(This,relationshipSelector) (This)->lpVtbl->Delete(This,relationshipSelector)
   4591 #define IOpcRelationshipSelectorSet_GetEnumerator(This,relationshipSelectorEnumerator) (This)->lpVtbl->GetEnumerator(This,relationshipSelectorEnumerator)
   4592 #else
   4593 /*** IUnknown methods ***/
   4594 static FORCEINLINE HRESULT IOpcRelationshipSelectorSet_QueryInterface(IOpcRelationshipSelectorSet* This,REFIID riid,void **ppvObject) {
   4595     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4596 }
   4597 static FORCEINLINE ULONG IOpcRelationshipSelectorSet_AddRef(IOpcRelationshipSelectorSet* This) {
   4598     return This->lpVtbl->AddRef(This);
   4599 }
   4600 static FORCEINLINE ULONG IOpcRelationshipSelectorSet_Release(IOpcRelationshipSelectorSet* This) {
   4601     return This->lpVtbl->Release(This);
   4602 }
   4603 /*** IOpcRelationshipSelectorSet methods ***/
   4604 static FORCEINLINE HRESULT IOpcRelationshipSelectorSet_Create(IOpcRelationshipSelectorSet* This,OPC_RELATIONSHIP_SELECTOR selector,LPCWSTR selectionCriterion,IOpcRelationshipSelector **relationshipSelector) {
   4605     return This->lpVtbl->Create(This,selector,selectionCriterion,relationshipSelector);
   4606 }
   4607 static FORCEINLINE HRESULT IOpcRelationshipSelectorSet_Delete(IOpcRelationshipSelectorSet* This,IOpcRelationshipSelector *relationshipSelector) {
   4608     return This->lpVtbl->Delete(This,relationshipSelector);
   4609 }
   4610 static FORCEINLINE HRESULT IOpcRelationshipSelectorSet_GetEnumerator(IOpcRelationshipSelectorSet* This,IOpcRelationshipSelectorEnumerator **relationshipSelectorEnumerator) {
   4611     return This->lpVtbl->GetEnumerator(This,relationshipSelectorEnumerator);
   4612 }
   4613 #endif
   4614 #endif
   4615 
   4616 #endif
   4617 
   4618 HRESULT STDMETHODCALLTYPE IOpcRelationshipSelectorSet_Create_Proxy(
   4619     IOpcRelationshipSelectorSet* This,
   4620     OPC_RELATIONSHIP_SELECTOR selector,
   4621     LPCWSTR selectionCriterion,
   4622     IOpcRelationshipSelector **relationshipSelector);
   4623 void __RPC_STUB IOpcRelationshipSelectorSet_Create_Stub(
   4624     IRpcStubBuffer* This,
   4625     IRpcChannelBuffer* pRpcChannelBuffer,
   4626     PRPC_MESSAGE pRpcMessage,
   4627     DWORD* pdwStubPhase);
   4628 HRESULT STDMETHODCALLTYPE IOpcRelationshipSelectorSet_Delete_Proxy(
   4629     IOpcRelationshipSelectorSet* This,
   4630     IOpcRelationshipSelector *relationshipSelector);
   4631 void __RPC_STUB IOpcRelationshipSelectorSet_Delete_Stub(
   4632     IRpcStubBuffer* This,
   4633     IRpcChannelBuffer* pRpcChannelBuffer,
   4634     PRPC_MESSAGE pRpcMessage,
   4635     DWORD* pdwStubPhase);
   4636 HRESULT STDMETHODCALLTYPE IOpcRelationshipSelectorSet_GetEnumerator_Proxy(
   4637     IOpcRelationshipSelectorSet* This,
   4638     IOpcRelationshipSelectorEnumerator **relationshipSelectorEnumerator);
   4639 void __RPC_STUB IOpcRelationshipSelectorSet_GetEnumerator_Stub(
   4640     IRpcStubBuffer* This,
   4641     IRpcChannelBuffer* pRpcChannelBuffer,
   4642     PRPC_MESSAGE pRpcMessage,
   4643     DWORD* pdwStubPhase);
   4644 
   4645 #endif  /* __IOpcRelationshipSelectorSet_INTERFACE_DEFINED__ */
   4646 
   4647 /*****************************************************************************
   4648  * IOpcSignatureRelationshipReferenceSet interface
   4649  */
   4650 #ifndef __IOpcSignatureRelationshipReferenceSet_INTERFACE_DEFINED__
   4651 #define __IOpcSignatureRelationshipReferenceSet_INTERFACE_DEFINED__
   4652 
   4653 DEFINE_GUID(IID_IOpcSignatureRelationshipReferenceSet, 0x9f863ca5, 0x3631, 0x404c, 0x82,0x8d, 0x80,0x7e,0x07,0x15,0x06,0x9b);
   4654 #if defined(__cplusplus) && !defined(CINTERFACE)
   4655 MIDL_INTERFACE("9f863ca5-3631-404c-828d-807e0715069b")
   4656 IOpcSignatureRelationshipReferenceSet : public IUnknown
   4657 {
   4658     virtual HRESULT STDMETHODCALLTYPE Create(
   4659         IOpcUri *sourceUri,
   4660         LPCWSTR digestMethod,
   4661         OPC_RELATIONSHIPS_SIGNING_OPTION relationshipSigningOption,
   4662         IOpcRelationshipSelectorSet *selectorSet,
   4663         OPC_CANONICALIZATION_METHOD transformMethod,
   4664         IOpcSignatureRelationshipReference **relationshipReference) = 0;
   4665 
   4666     virtual HRESULT STDMETHODCALLTYPE CreateRelationshipSelectorSet(
   4667         IOpcRelationshipSelectorSet **selectorSet) = 0;
   4668 
   4669     virtual HRESULT STDMETHODCALLTYPE Delete(
   4670         IOpcSignatureRelationshipReference *relationshipReference) = 0;
   4671 
   4672     virtual HRESULT STDMETHODCALLTYPE GetEnumerator(
   4673         IOpcSignatureRelationshipReferenceEnumerator **relationshipReferenceEnumerator) = 0;
   4674 
   4675 };
   4676 #ifdef __CRT_UUID_DECL
   4677 __CRT_UUID_DECL(IOpcSignatureRelationshipReferenceSet, 0x9f863ca5, 0x3631, 0x404c, 0x82,0x8d, 0x80,0x7e,0x07,0x15,0x06,0x9b)
   4678 #endif
   4679 #else
   4680 typedef struct IOpcSignatureRelationshipReferenceSetVtbl {
   4681     BEGIN_INTERFACE
   4682 
   4683     /*** IUnknown methods ***/
   4684     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4685         IOpcSignatureRelationshipReferenceSet* This,
   4686         REFIID riid,
   4687         void **ppvObject);
   4688 
   4689     ULONG (STDMETHODCALLTYPE *AddRef)(
   4690         IOpcSignatureRelationshipReferenceSet* This);
   4691 
   4692     ULONG (STDMETHODCALLTYPE *Release)(
   4693         IOpcSignatureRelationshipReferenceSet* This);
   4694 
   4695     /*** IOpcSignatureRelationshipReferenceSet methods ***/
   4696     HRESULT (STDMETHODCALLTYPE *Create)(
   4697         IOpcSignatureRelationshipReferenceSet* This,
   4698         IOpcUri *sourceUri,
   4699         LPCWSTR digestMethod,
   4700         OPC_RELATIONSHIPS_SIGNING_OPTION relationshipSigningOption,
   4701         IOpcRelationshipSelectorSet *selectorSet,
   4702         OPC_CANONICALIZATION_METHOD transformMethod,
   4703         IOpcSignatureRelationshipReference **relationshipReference);
   4704 
   4705     HRESULT (STDMETHODCALLTYPE *CreateRelationshipSelectorSet)(
   4706         IOpcSignatureRelationshipReferenceSet* This,
   4707         IOpcRelationshipSelectorSet **selectorSet);
   4708 
   4709     HRESULT (STDMETHODCALLTYPE *Delete)(
   4710         IOpcSignatureRelationshipReferenceSet* This,
   4711         IOpcSignatureRelationshipReference *relationshipReference);
   4712 
   4713     HRESULT (STDMETHODCALLTYPE *GetEnumerator)(
   4714         IOpcSignatureRelationshipReferenceSet* This,
   4715         IOpcSignatureRelationshipReferenceEnumerator **relationshipReferenceEnumerator);
   4716 
   4717     END_INTERFACE
   4718 } IOpcSignatureRelationshipReferenceSetVtbl;
   4719 interface IOpcSignatureRelationshipReferenceSet {
   4720     CONST_VTBL IOpcSignatureRelationshipReferenceSetVtbl* lpVtbl;
   4721 };
   4722 
   4723 #ifdef COBJMACROS
   4724 #ifndef WIDL_C_INLINE_WRAPPERS
   4725 /*** IUnknown methods ***/
   4726 #define IOpcSignatureRelationshipReferenceSet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4727 #define IOpcSignatureRelationshipReferenceSet_AddRef(This) (This)->lpVtbl->AddRef(This)
   4728 #define IOpcSignatureRelationshipReferenceSet_Release(This) (This)->lpVtbl->Release(This)
   4729 /*** IOpcSignatureRelationshipReferenceSet methods ***/
   4730 #define IOpcSignatureRelationshipReferenceSet_Create(This,sourceUri,digestMethod,relationshipSigningOption,selectorSet,transformMethod,relationshipReference) (This)->lpVtbl->Create(This,sourceUri,digestMethod,relationshipSigningOption,selectorSet,transformMethod,relationshipReference)
   4731 #define IOpcSignatureRelationshipReferenceSet_CreateRelationshipSelectorSet(This,selectorSet) (This)->lpVtbl->CreateRelationshipSelectorSet(This,selectorSet)
   4732 #define IOpcSignatureRelationshipReferenceSet_Delete(This,relationshipReference) (This)->lpVtbl->Delete(This,relationshipReference)
   4733 #define IOpcSignatureRelationshipReferenceSet_GetEnumerator(This,relationshipReferenceEnumerator) (This)->lpVtbl->GetEnumerator(This,relationshipReferenceEnumerator)
   4734 #else
   4735 /*** IUnknown methods ***/
   4736 static FORCEINLINE HRESULT IOpcSignatureRelationshipReferenceSet_QueryInterface(IOpcSignatureRelationshipReferenceSet* This,REFIID riid,void **ppvObject) {
   4737     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4738 }
   4739 static FORCEINLINE ULONG IOpcSignatureRelationshipReferenceSet_AddRef(IOpcSignatureRelationshipReferenceSet* This) {
   4740     return This->lpVtbl->AddRef(This);
   4741 }
   4742 static FORCEINLINE ULONG IOpcSignatureRelationshipReferenceSet_Release(IOpcSignatureRelationshipReferenceSet* This) {
   4743     return This->lpVtbl->Release(This);
   4744 }
   4745 /*** IOpcSignatureRelationshipReferenceSet methods ***/
   4746 static FORCEINLINE HRESULT IOpcSignatureRelationshipReferenceSet_Create(IOpcSignatureRelationshipReferenceSet* This,IOpcUri *sourceUri,LPCWSTR digestMethod,OPC_RELATIONSHIPS_SIGNING_OPTION relationshipSigningOption,IOpcRelationshipSelectorSet *selectorSet,OPC_CANONICALIZATION_METHOD transformMethod,IOpcSignatureRelationshipReference **relationshipReference) {
   4747     return This->lpVtbl->Create(This,sourceUri,digestMethod,relationshipSigningOption,selectorSet,transformMethod,relationshipReference);
   4748 }
   4749 static FORCEINLINE HRESULT IOpcSignatureRelationshipReferenceSet_CreateRelationshipSelectorSet(IOpcSignatureRelationshipReferenceSet* This,IOpcRelationshipSelectorSet **selectorSet) {
   4750     return This->lpVtbl->CreateRelationshipSelectorSet(This,selectorSet);
   4751 }
   4752 static FORCEINLINE HRESULT IOpcSignatureRelationshipReferenceSet_Delete(IOpcSignatureRelationshipReferenceSet* This,IOpcSignatureRelationshipReference *relationshipReference) {
   4753     return This->lpVtbl->Delete(This,relationshipReference);
   4754 }
   4755 static FORCEINLINE HRESULT IOpcSignatureRelationshipReferenceSet_GetEnumerator(IOpcSignatureRelationshipReferenceSet* This,IOpcSignatureRelationshipReferenceEnumerator **relationshipReferenceEnumerator) {
   4756     return This->lpVtbl->GetEnumerator(This,relationshipReferenceEnumerator);
   4757 }
   4758 #endif
   4759 #endif
   4760 
   4761 #endif
   4762 
   4763 HRESULT STDMETHODCALLTYPE IOpcSignatureRelationshipReferenceSet_Create_Proxy(
   4764     IOpcSignatureRelationshipReferenceSet* This,
   4765     IOpcUri *sourceUri,
   4766     LPCWSTR digestMethod,
   4767     OPC_RELATIONSHIPS_SIGNING_OPTION relationshipSigningOption,
   4768     IOpcRelationshipSelectorSet *selectorSet,
   4769     OPC_CANONICALIZATION_METHOD transformMethod,
   4770     IOpcSignatureRelationshipReference **relationshipReference);
   4771 void __RPC_STUB IOpcSignatureRelationshipReferenceSet_Create_Stub(
   4772     IRpcStubBuffer* This,
   4773     IRpcChannelBuffer* pRpcChannelBuffer,
   4774     PRPC_MESSAGE pRpcMessage,
   4775     DWORD* pdwStubPhase);
   4776 HRESULT STDMETHODCALLTYPE IOpcSignatureRelationshipReferenceSet_CreateRelationshipSelectorSet_Proxy(
   4777     IOpcSignatureRelationshipReferenceSet* This,
   4778     IOpcRelationshipSelectorSet **selectorSet);
   4779 void __RPC_STUB IOpcSignatureRelationshipReferenceSet_CreateRelationshipSelectorSet_Stub(
   4780     IRpcStubBuffer* This,
   4781     IRpcChannelBuffer* pRpcChannelBuffer,
   4782     PRPC_MESSAGE pRpcMessage,
   4783     DWORD* pdwStubPhase);
   4784 HRESULT STDMETHODCALLTYPE IOpcSignatureRelationshipReferenceSet_Delete_Proxy(
   4785     IOpcSignatureRelationshipReferenceSet* This,
   4786     IOpcSignatureRelationshipReference *relationshipReference);
   4787 void __RPC_STUB IOpcSignatureRelationshipReferenceSet_Delete_Stub(
   4788     IRpcStubBuffer* This,
   4789     IRpcChannelBuffer* pRpcChannelBuffer,
   4790     PRPC_MESSAGE pRpcMessage,
   4791     DWORD* pdwStubPhase);
   4792 HRESULT STDMETHODCALLTYPE IOpcSignatureRelationshipReferenceSet_GetEnumerator_Proxy(
   4793     IOpcSignatureRelationshipReferenceSet* This,
   4794     IOpcSignatureRelationshipReferenceEnumerator **relationshipReferenceEnumerator);
   4795 void __RPC_STUB IOpcSignatureRelationshipReferenceSet_GetEnumerator_Stub(
   4796     IRpcStubBuffer* This,
   4797     IRpcChannelBuffer* pRpcChannelBuffer,
   4798     PRPC_MESSAGE pRpcMessage,
   4799     DWORD* pdwStubPhase);
   4800 
   4801 #endif  /* __IOpcSignatureRelationshipReferenceSet_INTERFACE_DEFINED__ */
   4802 
   4803 /*****************************************************************************
   4804  * IOpcSignatureReferenceSet interface
   4805  */
   4806 #ifndef __IOpcSignatureReferenceSet_INTERFACE_DEFINED__
   4807 #define __IOpcSignatureReferenceSet_INTERFACE_DEFINED__
   4808 
   4809 DEFINE_GUID(IID_IOpcSignatureReferenceSet, 0xf3b02d31, 0xab12, 0x42dd, 0x9e,0x2f, 0x2b,0x16,0x76,0x1c,0x3c,0x1e);
   4810 #if defined(__cplusplus) && !defined(CINTERFACE)
   4811 MIDL_INTERFACE("f3b02d31-ab12-42dd-9e2f-2b16761c3c1e")
   4812 IOpcSignatureReferenceSet : public IUnknown
   4813 {
   4814     virtual HRESULT STDMETHODCALLTYPE Create(
   4815         IUri *referenceUri,
   4816         LPCWSTR referenceId,
   4817         LPCWSTR type,
   4818         LPCWSTR digestMethod,
   4819         OPC_CANONICALIZATION_METHOD transformMethod,
   4820         IOpcSignatureReference **reference) = 0;
   4821 
   4822     virtual HRESULT STDMETHODCALLTYPE Delete(
   4823         IOpcSignatureReference *reference) = 0;
   4824 
   4825     virtual HRESULT STDMETHODCALLTYPE GetEnumerator(
   4826         IOpcSignatureReferenceEnumerator **referenceEnumerator) = 0;
   4827 
   4828 };
   4829 #ifdef __CRT_UUID_DECL
   4830 __CRT_UUID_DECL(IOpcSignatureReferenceSet, 0xf3b02d31, 0xab12, 0x42dd, 0x9e,0x2f, 0x2b,0x16,0x76,0x1c,0x3c,0x1e)
   4831 #endif
   4832 #else
   4833 typedef struct IOpcSignatureReferenceSetVtbl {
   4834     BEGIN_INTERFACE
   4835 
   4836     /*** IUnknown methods ***/
   4837     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4838         IOpcSignatureReferenceSet* This,
   4839         REFIID riid,
   4840         void **ppvObject);
   4841 
   4842     ULONG (STDMETHODCALLTYPE *AddRef)(
   4843         IOpcSignatureReferenceSet* This);
   4844 
   4845     ULONG (STDMETHODCALLTYPE *Release)(
   4846         IOpcSignatureReferenceSet* This);
   4847 
   4848     /*** IOpcSignatureReferenceSet methods ***/
   4849     HRESULT (STDMETHODCALLTYPE *Create)(
   4850         IOpcSignatureReferenceSet* This,
   4851         IUri *referenceUri,
   4852         LPCWSTR referenceId,
   4853         LPCWSTR type,
   4854         LPCWSTR digestMethod,
   4855         OPC_CANONICALIZATION_METHOD transformMethod,
   4856         IOpcSignatureReference **reference);
   4857 
   4858     HRESULT (STDMETHODCALLTYPE *Delete)(
   4859         IOpcSignatureReferenceSet* This,
   4860         IOpcSignatureReference *reference);
   4861 
   4862     HRESULT (STDMETHODCALLTYPE *GetEnumerator)(
   4863         IOpcSignatureReferenceSet* This,
   4864         IOpcSignatureReferenceEnumerator **referenceEnumerator);
   4865 
   4866     END_INTERFACE
   4867 } IOpcSignatureReferenceSetVtbl;
   4868 interface IOpcSignatureReferenceSet {
   4869     CONST_VTBL IOpcSignatureReferenceSetVtbl* lpVtbl;
   4870 };
   4871 
   4872 #ifdef COBJMACROS
   4873 #ifndef WIDL_C_INLINE_WRAPPERS
   4874 /*** IUnknown methods ***/
   4875 #define IOpcSignatureReferenceSet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4876 #define IOpcSignatureReferenceSet_AddRef(This) (This)->lpVtbl->AddRef(This)
   4877 #define IOpcSignatureReferenceSet_Release(This) (This)->lpVtbl->Release(This)
   4878 /*** IOpcSignatureReferenceSet methods ***/
   4879 #define IOpcSignatureReferenceSet_Create(This,referenceUri,referenceId,type,digestMethod,transformMethod,reference) (This)->lpVtbl->Create(This,referenceUri,referenceId,type,digestMethod,transformMethod,reference)
   4880 #define IOpcSignatureReferenceSet_Delete(This,reference) (This)->lpVtbl->Delete(This,reference)
   4881 #define IOpcSignatureReferenceSet_GetEnumerator(This,referenceEnumerator) (This)->lpVtbl->GetEnumerator(This,referenceEnumerator)
   4882 #else
   4883 /*** IUnknown methods ***/
   4884 static FORCEINLINE HRESULT IOpcSignatureReferenceSet_QueryInterface(IOpcSignatureReferenceSet* This,REFIID riid,void **ppvObject) {
   4885     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4886 }
   4887 static FORCEINLINE ULONG IOpcSignatureReferenceSet_AddRef(IOpcSignatureReferenceSet* This) {
   4888     return This->lpVtbl->AddRef(This);
   4889 }
   4890 static FORCEINLINE ULONG IOpcSignatureReferenceSet_Release(IOpcSignatureReferenceSet* This) {
   4891     return This->lpVtbl->Release(This);
   4892 }
   4893 /*** IOpcSignatureReferenceSet methods ***/
   4894 static FORCEINLINE HRESULT IOpcSignatureReferenceSet_Create(IOpcSignatureReferenceSet* This,IUri *referenceUri,LPCWSTR referenceId,LPCWSTR type,LPCWSTR digestMethod,OPC_CANONICALIZATION_METHOD transformMethod,IOpcSignatureReference **reference) {
   4895     return This->lpVtbl->Create(This,referenceUri,referenceId,type,digestMethod,transformMethod,reference);
   4896 }
   4897 static FORCEINLINE HRESULT IOpcSignatureReferenceSet_Delete(IOpcSignatureReferenceSet* This,IOpcSignatureReference *reference) {
   4898     return This->lpVtbl->Delete(This,reference);
   4899 }
   4900 static FORCEINLINE HRESULT IOpcSignatureReferenceSet_GetEnumerator(IOpcSignatureReferenceSet* This,IOpcSignatureReferenceEnumerator **referenceEnumerator) {
   4901     return This->lpVtbl->GetEnumerator(This,referenceEnumerator);
   4902 }
   4903 #endif
   4904 #endif
   4905 
   4906 #endif
   4907 
   4908 HRESULT STDMETHODCALLTYPE IOpcSignatureReferenceSet_Create_Proxy(
   4909     IOpcSignatureReferenceSet* This,
   4910     IUri *referenceUri,
   4911     LPCWSTR referenceId,
   4912     LPCWSTR type,
   4913     LPCWSTR digestMethod,
   4914     OPC_CANONICALIZATION_METHOD transformMethod,
   4915     IOpcSignatureReference **reference);
   4916 void __RPC_STUB IOpcSignatureReferenceSet_Create_Stub(
   4917     IRpcStubBuffer* This,
   4918     IRpcChannelBuffer* pRpcChannelBuffer,
   4919     PRPC_MESSAGE pRpcMessage,
   4920     DWORD* pdwStubPhase);
   4921 HRESULT STDMETHODCALLTYPE IOpcSignatureReferenceSet_Delete_Proxy(
   4922     IOpcSignatureReferenceSet* This,
   4923     IOpcSignatureReference *reference);
   4924 void __RPC_STUB IOpcSignatureReferenceSet_Delete_Stub(
   4925     IRpcStubBuffer* This,
   4926     IRpcChannelBuffer* pRpcChannelBuffer,
   4927     PRPC_MESSAGE pRpcMessage,
   4928     DWORD* pdwStubPhase);
   4929 HRESULT STDMETHODCALLTYPE IOpcSignatureReferenceSet_GetEnumerator_Proxy(
   4930     IOpcSignatureReferenceSet* This,
   4931     IOpcSignatureReferenceEnumerator **referenceEnumerator);
   4932 void __RPC_STUB IOpcSignatureReferenceSet_GetEnumerator_Stub(
   4933     IRpcStubBuffer* This,
   4934     IRpcChannelBuffer* pRpcChannelBuffer,
   4935     PRPC_MESSAGE pRpcMessage,
   4936     DWORD* pdwStubPhase);
   4937 
   4938 #endif  /* __IOpcSignatureReferenceSet_INTERFACE_DEFINED__ */
   4939 
   4940 /*****************************************************************************
   4941  * IOpcSignatureCustomObjectSet interface
   4942  */
   4943 #ifndef __IOpcSignatureCustomObjectSet_INTERFACE_DEFINED__
   4944 #define __IOpcSignatureCustomObjectSet_INTERFACE_DEFINED__
   4945 
   4946 DEFINE_GUID(IID_IOpcSignatureCustomObjectSet, 0x8f792ac5, 0x7947, 0x4e11, 0xbc,0x3d, 0x26,0x59,0xff,0x04,0x6a,0xe1);
   4947 #if defined(__cplusplus) && !defined(CINTERFACE)
   4948 MIDL_INTERFACE("8f792ac5-7947-4e11-bc3d-2659ff046ae1")
   4949 IOpcSignatureCustomObjectSet : public IUnknown
   4950 {
   4951     virtual HRESULT STDMETHODCALLTYPE Create(
   4952         const UINT8 *xmlMarkup,
   4953         UINT32 count,
   4954         IOpcSignatureCustomObject **customObject) = 0;
   4955 
   4956     virtual HRESULT STDMETHODCALLTYPE Delete(
   4957         IOpcSignatureCustomObject *customObject) = 0;
   4958 
   4959     virtual HRESULT STDMETHODCALLTYPE GetEnumerator(
   4960         IOpcSignatureCustomObjectEnumerator **customObjectEnumerator) = 0;
   4961 
   4962 };
   4963 #ifdef __CRT_UUID_DECL
   4964 __CRT_UUID_DECL(IOpcSignatureCustomObjectSet, 0x8f792ac5, 0x7947, 0x4e11, 0xbc,0x3d, 0x26,0x59,0xff,0x04,0x6a,0xe1)
   4965 #endif
   4966 #else
   4967 typedef struct IOpcSignatureCustomObjectSetVtbl {
   4968     BEGIN_INTERFACE
   4969 
   4970     /*** IUnknown methods ***/
   4971     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4972         IOpcSignatureCustomObjectSet* This,
   4973         REFIID riid,
   4974         void **ppvObject);
   4975 
   4976     ULONG (STDMETHODCALLTYPE *AddRef)(
   4977         IOpcSignatureCustomObjectSet* This);
   4978 
   4979     ULONG (STDMETHODCALLTYPE *Release)(
   4980         IOpcSignatureCustomObjectSet* This);
   4981 
   4982     /*** IOpcSignatureCustomObjectSet methods ***/
   4983     HRESULT (STDMETHODCALLTYPE *Create)(
   4984         IOpcSignatureCustomObjectSet* This,
   4985         const UINT8 *xmlMarkup,
   4986         UINT32 count,
   4987         IOpcSignatureCustomObject **customObject);
   4988 
   4989     HRESULT (STDMETHODCALLTYPE *Delete)(
   4990         IOpcSignatureCustomObjectSet* This,
   4991         IOpcSignatureCustomObject *customObject);
   4992 
   4993     HRESULT (STDMETHODCALLTYPE *GetEnumerator)(
   4994         IOpcSignatureCustomObjectSet* This,
   4995         IOpcSignatureCustomObjectEnumerator **customObjectEnumerator);
   4996 
   4997     END_INTERFACE
   4998 } IOpcSignatureCustomObjectSetVtbl;
   4999 interface IOpcSignatureCustomObjectSet {
   5000     CONST_VTBL IOpcSignatureCustomObjectSetVtbl* lpVtbl;
   5001 };
   5002 
   5003 #ifdef COBJMACROS
   5004 #ifndef WIDL_C_INLINE_WRAPPERS
   5005 /*** IUnknown methods ***/
   5006 #define IOpcSignatureCustomObjectSet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5007 #define IOpcSignatureCustomObjectSet_AddRef(This) (This)->lpVtbl->AddRef(This)
   5008 #define IOpcSignatureCustomObjectSet_Release(This) (This)->lpVtbl->Release(This)
   5009 /*** IOpcSignatureCustomObjectSet methods ***/
   5010 #define IOpcSignatureCustomObjectSet_Create(This,xmlMarkup,count,customObject) (This)->lpVtbl->Create(This,xmlMarkup,count,customObject)
   5011 #define IOpcSignatureCustomObjectSet_Delete(This,customObject) (This)->lpVtbl->Delete(This,customObject)
   5012 #define IOpcSignatureCustomObjectSet_GetEnumerator(This,customObjectEnumerator) (This)->lpVtbl->GetEnumerator(This,customObjectEnumerator)
   5013 #else
   5014 /*** IUnknown methods ***/
   5015 static FORCEINLINE HRESULT IOpcSignatureCustomObjectSet_QueryInterface(IOpcSignatureCustomObjectSet* This,REFIID riid,void **ppvObject) {
   5016     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5017 }
   5018 static FORCEINLINE ULONG IOpcSignatureCustomObjectSet_AddRef(IOpcSignatureCustomObjectSet* This) {
   5019     return This->lpVtbl->AddRef(This);
   5020 }
   5021 static FORCEINLINE ULONG IOpcSignatureCustomObjectSet_Release(IOpcSignatureCustomObjectSet* This) {
   5022     return This->lpVtbl->Release(This);
   5023 }
   5024 /*** IOpcSignatureCustomObjectSet methods ***/
   5025 static FORCEINLINE HRESULT IOpcSignatureCustomObjectSet_Create(IOpcSignatureCustomObjectSet* This,const UINT8 *xmlMarkup,UINT32 count,IOpcSignatureCustomObject **customObject) {
   5026     return This->lpVtbl->Create(This,xmlMarkup,count,customObject);
   5027 }
   5028 static FORCEINLINE HRESULT IOpcSignatureCustomObjectSet_Delete(IOpcSignatureCustomObjectSet* This,IOpcSignatureCustomObject *customObject) {
   5029     return This->lpVtbl->Delete(This,customObject);
   5030 }
   5031 static FORCEINLINE HRESULT IOpcSignatureCustomObjectSet_GetEnumerator(IOpcSignatureCustomObjectSet* This,IOpcSignatureCustomObjectEnumerator **customObjectEnumerator) {
   5032     return This->lpVtbl->GetEnumerator(This,customObjectEnumerator);
   5033 }
   5034 #endif
   5035 #endif
   5036 
   5037 #endif
   5038 
   5039 HRESULT STDMETHODCALLTYPE IOpcSignatureCustomObjectSet_Create_Proxy(
   5040     IOpcSignatureCustomObjectSet* This,
   5041     const UINT8 *xmlMarkup,
   5042     UINT32 count,
   5043     IOpcSignatureCustomObject **customObject);
   5044 void __RPC_STUB IOpcSignatureCustomObjectSet_Create_Stub(
   5045     IRpcStubBuffer* This,
   5046     IRpcChannelBuffer* pRpcChannelBuffer,
   5047     PRPC_MESSAGE pRpcMessage,
   5048     DWORD* pdwStubPhase);
   5049 HRESULT STDMETHODCALLTYPE IOpcSignatureCustomObjectSet_Delete_Proxy(
   5050     IOpcSignatureCustomObjectSet* This,
   5051     IOpcSignatureCustomObject *customObject);
   5052 void __RPC_STUB IOpcSignatureCustomObjectSet_Delete_Stub(
   5053     IRpcStubBuffer* This,
   5054     IRpcChannelBuffer* pRpcChannelBuffer,
   5055     PRPC_MESSAGE pRpcMessage,
   5056     DWORD* pdwStubPhase);
   5057 HRESULT STDMETHODCALLTYPE IOpcSignatureCustomObjectSet_GetEnumerator_Proxy(
   5058     IOpcSignatureCustomObjectSet* This,
   5059     IOpcSignatureCustomObjectEnumerator **customObjectEnumerator);
   5060 void __RPC_STUB IOpcSignatureCustomObjectSet_GetEnumerator_Stub(
   5061     IRpcStubBuffer* This,
   5062     IRpcChannelBuffer* pRpcChannelBuffer,
   5063     PRPC_MESSAGE pRpcMessage,
   5064     DWORD* pdwStubPhase);
   5065 
   5066 #endif  /* __IOpcSignatureCustomObjectSet_INTERFACE_DEFINED__ */
   5067 
   5068 /*****************************************************************************
   5069  * IOpcDigitalSignature interface
   5070  */
   5071 #ifndef __IOpcDigitalSignature_INTERFACE_DEFINED__
   5072 #define __IOpcDigitalSignature_INTERFACE_DEFINED__
   5073 
   5074 DEFINE_GUID(IID_IOpcDigitalSignature, 0x52ab21dd, 0x1cd0, 0x4949, 0xbc,0x80, 0x0c,0x12,0x32,0xd0,0x0c,0xb4);
   5075 #if defined(__cplusplus) && !defined(CINTERFACE)
   5076 MIDL_INTERFACE("52ab21dd-1cd0-4949-bc80-0c1232d00cb4")
   5077 IOpcDigitalSignature : public IUnknown
   5078 {
   5079     virtual HRESULT STDMETHODCALLTYPE GetNamespaces(
   5080         LPWSTR **prefixes,
   5081         LPWSTR **namespaces,
   5082         UINT32 *count) = 0;
   5083 
   5084     virtual HRESULT STDMETHODCALLTYPE GetSignatureId(
   5085         LPWSTR *signatureId) = 0;
   5086 
   5087     virtual HRESULT STDMETHODCALLTYPE GetSignaturePartName(
   5088         IOpcPartUri **signaturePartName) = 0;
   5089 
   5090     virtual HRESULT STDMETHODCALLTYPE GetSignatureMethod(
   5091         LPWSTR *signatureMethod) = 0;
   5092 
   5093     virtual HRESULT STDMETHODCALLTYPE GetCanonicalizationMethod(
   5094         OPC_CANONICALIZATION_METHOD *canonicalizationMethod) = 0;
   5095 
   5096     virtual HRESULT STDMETHODCALLTYPE GetSignatureValue(
   5097         UINT8 **signatureValue,
   5098         UINT32 *count) = 0;
   5099 
   5100     virtual HRESULT STDMETHODCALLTYPE GetSignaturePartReferenceEnumerator(
   5101         IOpcSignaturePartReferenceEnumerator **partReferenceEnumerator) = 0;
   5102 
   5103     virtual HRESULT STDMETHODCALLTYPE GetSignatureRelationshipReferenceEnumerator(
   5104         IOpcSignatureRelationshipReferenceEnumerator **relationshipReferenceEnumerator) = 0;
   5105 
   5106     virtual HRESULT STDMETHODCALLTYPE GetSigningTime(
   5107         LPWSTR *signingTime) = 0;
   5108 
   5109     virtual HRESULT STDMETHODCALLTYPE GetTimeFormat(
   5110         OPC_SIGNATURE_TIME_FORMAT *timeFormat) = 0;
   5111 
   5112     virtual HRESULT STDMETHODCALLTYPE GetPackageObjectReference(
   5113         IOpcSignatureReference **packageObjectReference) = 0;
   5114 
   5115     virtual HRESULT STDMETHODCALLTYPE GetCertificateEnumerator(
   5116         IOpcCertificateEnumerator **certificateEnumerator) = 0;
   5117 
   5118     virtual HRESULT STDMETHODCALLTYPE GetCustomReferenceEnumerator(
   5119         IOpcSignatureReferenceEnumerator **customReferenceEnumerator) = 0;
   5120 
   5121     virtual HRESULT STDMETHODCALLTYPE GetCustomObjectEnumerator(
   5122         IOpcSignatureCustomObjectEnumerator **customObjectEnumerator) = 0;
   5123 
   5124     virtual HRESULT STDMETHODCALLTYPE GetSignatureXml(
   5125         UINT8 **signatureXml,
   5126         UINT32 *count) = 0;
   5127 
   5128 };
   5129 #ifdef __CRT_UUID_DECL
   5130 __CRT_UUID_DECL(IOpcDigitalSignature, 0x52ab21dd, 0x1cd0, 0x4949, 0xbc,0x80, 0x0c,0x12,0x32,0xd0,0x0c,0xb4)
   5131 #endif
   5132 #else
   5133 typedef struct IOpcDigitalSignatureVtbl {
   5134     BEGIN_INTERFACE
   5135 
   5136     /*** IUnknown methods ***/
   5137     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5138         IOpcDigitalSignature* This,
   5139         REFIID riid,
   5140         void **ppvObject);
   5141 
   5142     ULONG (STDMETHODCALLTYPE *AddRef)(
   5143         IOpcDigitalSignature* This);
   5144 
   5145     ULONG (STDMETHODCALLTYPE *Release)(
   5146         IOpcDigitalSignature* This);
   5147 
   5148     /*** IOpcDigitalSignature methods ***/
   5149     HRESULT (STDMETHODCALLTYPE *GetNamespaces)(
   5150         IOpcDigitalSignature* This,
   5151         LPWSTR **prefixes,
   5152         LPWSTR **namespaces,
   5153         UINT32 *count);
   5154 
   5155     HRESULT (STDMETHODCALLTYPE *GetSignatureId)(
   5156         IOpcDigitalSignature* This,
   5157         LPWSTR *signatureId);
   5158 
   5159     HRESULT (STDMETHODCALLTYPE *GetSignaturePartName)(
   5160         IOpcDigitalSignature* This,
   5161         IOpcPartUri **signaturePartName);
   5162 
   5163     HRESULT (STDMETHODCALLTYPE *GetSignatureMethod)(
   5164         IOpcDigitalSignature* This,
   5165         LPWSTR *signatureMethod);
   5166 
   5167     HRESULT (STDMETHODCALLTYPE *GetCanonicalizationMethod)(
   5168         IOpcDigitalSignature* This,
   5169         OPC_CANONICALIZATION_METHOD *canonicalizationMethod);
   5170 
   5171     HRESULT (STDMETHODCALLTYPE *GetSignatureValue)(
   5172         IOpcDigitalSignature* This,
   5173         UINT8 **signatureValue,
   5174         UINT32 *count);
   5175 
   5176     HRESULT (STDMETHODCALLTYPE *GetSignaturePartReferenceEnumerator)(
   5177         IOpcDigitalSignature* This,
   5178         IOpcSignaturePartReferenceEnumerator **partReferenceEnumerator);
   5179 
   5180     HRESULT (STDMETHODCALLTYPE *GetSignatureRelationshipReferenceEnumerator)(
   5181         IOpcDigitalSignature* This,
   5182         IOpcSignatureRelationshipReferenceEnumerator **relationshipReferenceEnumerator);
   5183 
   5184     HRESULT (STDMETHODCALLTYPE *GetSigningTime)(
   5185         IOpcDigitalSignature* This,
   5186         LPWSTR *signingTime);
   5187 
   5188     HRESULT (STDMETHODCALLTYPE *GetTimeFormat)(
   5189         IOpcDigitalSignature* This,
   5190         OPC_SIGNATURE_TIME_FORMAT *timeFormat);
   5191 
   5192     HRESULT (STDMETHODCALLTYPE *GetPackageObjectReference)(
   5193         IOpcDigitalSignature* This,
   5194         IOpcSignatureReference **packageObjectReference);
   5195 
   5196     HRESULT (STDMETHODCALLTYPE *GetCertificateEnumerator)(
   5197         IOpcDigitalSignature* This,
   5198         IOpcCertificateEnumerator **certificateEnumerator);
   5199 
   5200     HRESULT (STDMETHODCALLTYPE *GetCustomReferenceEnumerator)(
   5201         IOpcDigitalSignature* This,
   5202         IOpcSignatureReferenceEnumerator **customReferenceEnumerator);
   5203 
   5204     HRESULT (STDMETHODCALLTYPE *GetCustomObjectEnumerator)(
   5205         IOpcDigitalSignature* This,
   5206         IOpcSignatureCustomObjectEnumerator **customObjectEnumerator);
   5207 
   5208     HRESULT (STDMETHODCALLTYPE *GetSignatureXml)(
   5209         IOpcDigitalSignature* This,
   5210         UINT8 **signatureXml,
   5211         UINT32 *count);
   5212 
   5213     END_INTERFACE
   5214 } IOpcDigitalSignatureVtbl;
   5215 interface IOpcDigitalSignature {
   5216     CONST_VTBL IOpcDigitalSignatureVtbl* lpVtbl;
   5217 };
   5218 
   5219 #ifdef COBJMACROS
   5220 #ifndef WIDL_C_INLINE_WRAPPERS
   5221 /*** IUnknown methods ***/
   5222 #define IOpcDigitalSignature_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5223 #define IOpcDigitalSignature_AddRef(This) (This)->lpVtbl->AddRef(This)
   5224 #define IOpcDigitalSignature_Release(This) (This)->lpVtbl->Release(This)
   5225 /*** IOpcDigitalSignature methods ***/
   5226 #define IOpcDigitalSignature_GetNamespaces(This,prefixes,namespaces,count) (This)->lpVtbl->GetNamespaces(This,prefixes,namespaces,count)
   5227 #define IOpcDigitalSignature_GetSignatureId(This,signatureId) (This)->lpVtbl->GetSignatureId(This,signatureId)
   5228 #define IOpcDigitalSignature_GetSignaturePartName(This,signaturePartName) (This)->lpVtbl->GetSignaturePartName(This,signaturePartName)
   5229 #define IOpcDigitalSignature_GetSignatureMethod(This,signatureMethod) (This)->lpVtbl->GetSignatureMethod(This,signatureMethod)
   5230 #define IOpcDigitalSignature_GetCanonicalizationMethod(This,canonicalizationMethod) (This)->lpVtbl->GetCanonicalizationMethod(This,canonicalizationMethod)
   5231 #define IOpcDigitalSignature_GetSignatureValue(This,signatureValue,count) (This)->lpVtbl->GetSignatureValue(This,signatureValue,count)
   5232 #define IOpcDigitalSignature_GetSignaturePartReferenceEnumerator(This,partReferenceEnumerator) (This)->lpVtbl->GetSignaturePartReferenceEnumerator(This,partReferenceEnumerator)
   5233 #define IOpcDigitalSignature_GetSignatureRelationshipReferenceEnumerator(This,relationshipReferenceEnumerator) (This)->lpVtbl->GetSignatureRelationshipReferenceEnumerator(This,relationshipReferenceEnumerator)
   5234 #define IOpcDigitalSignature_GetSigningTime(This,signingTime) (This)->lpVtbl->GetSigningTime(This,signingTime)
   5235 #define IOpcDigitalSignature_GetTimeFormat(This,timeFormat) (This)->lpVtbl->GetTimeFormat(This,timeFormat)
   5236 #define IOpcDigitalSignature_GetPackageObjectReference(This,packageObjectReference) (This)->lpVtbl->GetPackageObjectReference(This,packageObjectReference)
   5237 #define IOpcDigitalSignature_GetCertificateEnumerator(This,certificateEnumerator) (This)->lpVtbl->GetCertificateEnumerator(This,certificateEnumerator)
   5238 #define IOpcDigitalSignature_GetCustomReferenceEnumerator(This,customReferenceEnumerator) (This)->lpVtbl->GetCustomReferenceEnumerator(This,customReferenceEnumerator)
   5239 #define IOpcDigitalSignature_GetCustomObjectEnumerator(This,customObjectEnumerator) (This)->lpVtbl->GetCustomObjectEnumerator(This,customObjectEnumerator)
   5240 #define IOpcDigitalSignature_GetSignatureXml(This,signatureXml,count) (This)->lpVtbl->GetSignatureXml(This,signatureXml,count)
   5241 #else
   5242 /*** IUnknown methods ***/
   5243 static FORCEINLINE HRESULT IOpcDigitalSignature_QueryInterface(IOpcDigitalSignature* This,REFIID riid,void **ppvObject) {
   5244     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5245 }
   5246 static FORCEINLINE ULONG IOpcDigitalSignature_AddRef(IOpcDigitalSignature* This) {
   5247     return This->lpVtbl->AddRef(This);
   5248 }
   5249 static FORCEINLINE ULONG IOpcDigitalSignature_Release(IOpcDigitalSignature* This) {
   5250     return This->lpVtbl->Release(This);
   5251 }
   5252 /*** IOpcDigitalSignature methods ***/
   5253 static FORCEINLINE HRESULT IOpcDigitalSignature_GetNamespaces(IOpcDigitalSignature* This,LPWSTR **prefixes,LPWSTR **namespaces,UINT32 *count) {
   5254     return This->lpVtbl->GetNamespaces(This,prefixes,namespaces,count);
   5255 }
   5256 static FORCEINLINE HRESULT IOpcDigitalSignature_GetSignatureId(IOpcDigitalSignature* This,LPWSTR *signatureId) {
   5257     return This->lpVtbl->GetSignatureId(This,signatureId);
   5258 }
   5259 static FORCEINLINE HRESULT IOpcDigitalSignature_GetSignaturePartName(IOpcDigitalSignature* This,IOpcPartUri **signaturePartName) {
   5260     return This->lpVtbl->GetSignaturePartName(This,signaturePartName);
   5261 }
   5262 static FORCEINLINE HRESULT IOpcDigitalSignature_GetSignatureMethod(IOpcDigitalSignature* This,LPWSTR *signatureMethod) {
   5263     return This->lpVtbl->GetSignatureMethod(This,signatureMethod);
   5264 }
   5265 static FORCEINLINE HRESULT IOpcDigitalSignature_GetCanonicalizationMethod(IOpcDigitalSignature* This,OPC_CANONICALIZATION_METHOD *canonicalizationMethod) {
   5266     return This->lpVtbl->GetCanonicalizationMethod(This,canonicalizationMethod);
   5267 }
   5268 static FORCEINLINE HRESULT IOpcDigitalSignature_GetSignatureValue(IOpcDigitalSignature* This,UINT8 **signatureValue,UINT32 *count) {
   5269     return This->lpVtbl->GetSignatureValue(This,signatureValue,count);
   5270 }
   5271 static FORCEINLINE HRESULT IOpcDigitalSignature_GetSignaturePartReferenceEnumerator(IOpcDigitalSignature* This,IOpcSignaturePartReferenceEnumerator **partReferenceEnumerator) {
   5272     return This->lpVtbl->GetSignaturePartReferenceEnumerator(This,partReferenceEnumerator);
   5273 }
   5274 static FORCEINLINE HRESULT IOpcDigitalSignature_GetSignatureRelationshipReferenceEnumerator(IOpcDigitalSignature* This,IOpcSignatureRelationshipReferenceEnumerator **relationshipReferenceEnumerator) {
   5275     return This->lpVtbl->GetSignatureRelationshipReferenceEnumerator(This,relationshipReferenceEnumerator);
   5276 }
   5277 static FORCEINLINE HRESULT IOpcDigitalSignature_GetSigningTime(IOpcDigitalSignature* This,LPWSTR *signingTime) {
   5278     return This->lpVtbl->GetSigningTime(This,signingTime);
   5279 }
   5280 static FORCEINLINE HRESULT IOpcDigitalSignature_GetTimeFormat(IOpcDigitalSignature* This,OPC_SIGNATURE_TIME_FORMAT *timeFormat) {
   5281     return This->lpVtbl->GetTimeFormat(This,timeFormat);
   5282 }
   5283 static FORCEINLINE HRESULT IOpcDigitalSignature_GetPackageObjectReference(IOpcDigitalSignature* This,IOpcSignatureReference **packageObjectReference) {
   5284     return This->lpVtbl->GetPackageObjectReference(This,packageObjectReference);
   5285 }
   5286 static FORCEINLINE HRESULT IOpcDigitalSignature_GetCertificateEnumerator(IOpcDigitalSignature* This,IOpcCertificateEnumerator **certificateEnumerator) {
   5287     return This->lpVtbl->GetCertificateEnumerator(This,certificateEnumerator);
   5288 }
   5289 static FORCEINLINE HRESULT IOpcDigitalSignature_GetCustomReferenceEnumerator(IOpcDigitalSignature* This,IOpcSignatureReferenceEnumerator **customReferenceEnumerator) {
   5290     return This->lpVtbl->GetCustomReferenceEnumerator(This,customReferenceEnumerator);
   5291 }
   5292 static FORCEINLINE HRESULT IOpcDigitalSignature_GetCustomObjectEnumerator(IOpcDigitalSignature* This,IOpcSignatureCustomObjectEnumerator **customObjectEnumerator) {
   5293     return This->lpVtbl->GetCustomObjectEnumerator(This,customObjectEnumerator);
   5294 }
   5295 static FORCEINLINE HRESULT IOpcDigitalSignature_GetSignatureXml(IOpcDigitalSignature* This,UINT8 **signatureXml,UINT32 *count) {
   5296     return This->lpVtbl->GetSignatureXml(This,signatureXml,count);
   5297 }
   5298 #endif
   5299 #endif
   5300 
   5301 #endif
   5302 
   5303 HRESULT STDMETHODCALLTYPE IOpcDigitalSignature_GetNamespaces_Proxy(
   5304     IOpcDigitalSignature* This,
   5305     LPWSTR **prefixes,
   5306     LPWSTR **namespaces,
   5307     UINT32 *count);
   5308 void __RPC_STUB IOpcDigitalSignature_GetNamespaces_Stub(
   5309     IRpcStubBuffer* This,
   5310     IRpcChannelBuffer* pRpcChannelBuffer,
   5311     PRPC_MESSAGE pRpcMessage,
   5312     DWORD* pdwStubPhase);
   5313 HRESULT STDMETHODCALLTYPE IOpcDigitalSignature_GetSignatureId_Proxy(
   5314     IOpcDigitalSignature* This,
   5315     LPWSTR *signatureId);
   5316 void __RPC_STUB IOpcDigitalSignature_GetSignatureId_Stub(
   5317     IRpcStubBuffer* This,
   5318     IRpcChannelBuffer* pRpcChannelBuffer,
   5319     PRPC_MESSAGE pRpcMessage,
   5320     DWORD* pdwStubPhase);
   5321 HRESULT STDMETHODCALLTYPE IOpcDigitalSignature_GetSignaturePartName_Proxy(
   5322     IOpcDigitalSignature* This,
   5323     IOpcPartUri **signaturePartName);
   5324 void __RPC_STUB IOpcDigitalSignature_GetSignaturePartName_Stub(
   5325     IRpcStubBuffer* This,
   5326     IRpcChannelBuffer* pRpcChannelBuffer,
   5327     PRPC_MESSAGE pRpcMessage,
   5328     DWORD* pdwStubPhase);
   5329 HRESULT STDMETHODCALLTYPE IOpcDigitalSignature_GetSignatureMethod_Proxy(
   5330     IOpcDigitalSignature* This,
   5331     LPWSTR *signatureMethod);
   5332 void __RPC_STUB IOpcDigitalSignature_GetSignatureMethod_Stub(
   5333     IRpcStubBuffer* This,
   5334     IRpcChannelBuffer* pRpcChannelBuffer,
   5335     PRPC_MESSAGE pRpcMessage,
   5336     DWORD* pdwStubPhase);
   5337 HRESULT STDMETHODCALLTYPE IOpcDigitalSignature_GetCanonicalizationMethod_Proxy(
   5338     IOpcDigitalSignature* This,
   5339     OPC_CANONICALIZATION_METHOD *canonicalizationMethod);
   5340 void __RPC_STUB IOpcDigitalSignature_GetCanonicalizationMethod_Stub(
   5341     IRpcStubBuffer* This,
   5342     IRpcChannelBuffer* pRpcChannelBuffer,
   5343     PRPC_MESSAGE pRpcMessage,
   5344     DWORD* pdwStubPhase);
   5345 HRESULT STDMETHODCALLTYPE IOpcDigitalSignature_GetSignatureValue_Proxy(
   5346     IOpcDigitalSignature* This,
   5347     UINT8 **signatureValue,
   5348     UINT32 *count);
   5349 void __RPC_STUB IOpcDigitalSignature_GetSignatureValue_Stub(
   5350     IRpcStubBuffer* This,
   5351     IRpcChannelBuffer* pRpcChannelBuffer,
   5352     PRPC_MESSAGE pRpcMessage,
   5353     DWORD* pdwStubPhase);
   5354 HRESULT STDMETHODCALLTYPE IOpcDigitalSignature_GetSignaturePartReferenceEnumerator_Proxy(
   5355     IOpcDigitalSignature* This,
   5356     IOpcSignaturePartReferenceEnumerator **partReferenceEnumerator);
   5357 void __RPC_STUB IOpcDigitalSignature_GetSignaturePartReferenceEnumerator_Stub(
   5358     IRpcStubBuffer* This,
   5359     IRpcChannelBuffer* pRpcChannelBuffer,
   5360     PRPC_MESSAGE pRpcMessage,
   5361     DWORD* pdwStubPhase);
   5362 HRESULT STDMETHODCALLTYPE IOpcDigitalSignature_GetSignatureRelationshipReferenceEnumerator_Proxy(
   5363     IOpcDigitalSignature* This,
   5364     IOpcSignatureRelationshipReferenceEnumerator **relationshipReferenceEnumerator);
   5365 void __RPC_STUB IOpcDigitalSignature_GetSignatureRelationshipReferenceEnumerator_Stub(
   5366     IRpcStubBuffer* This,
   5367     IRpcChannelBuffer* pRpcChannelBuffer,
   5368     PRPC_MESSAGE pRpcMessage,
   5369     DWORD* pdwStubPhase);
   5370 HRESULT STDMETHODCALLTYPE IOpcDigitalSignature_GetSigningTime_Proxy(
   5371     IOpcDigitalSignature* This,
   5372     LPWSTR *signingTime);
   5373 void __RPC_STUB IOpcDigitalSignature_GetSigningTime_Stub(
   5374     IRpcStubBuffer* This,
   5375     IRpcChannelBuffer* pRpcChannelBuffer,
   5376     PRPC_MESSAGE pRpcMessage,
   5377     DWORD* pdwStubPhase);
   5378 HRESULT STDMETHODCALLTYPE IOpcDigitalSignature_GetTimeFormat_Proxy(
   5379     IOpcDigitalSignature* This,
   5380     OPC_SIGNATURE_TIME_FORMAT *timeFormat);
   5381 void __RPC_STUB IOpcDigitalSignature_GetTimeFormat_Stub(
   5382     IRpcStubBuffer* This,
   5383     IRpcChannelBuffer* pRpcChannelBuffer,
   5384     PRPC_MESSAGE pRpcMessage,
   5385     DWORD* pdwStubPhase);
   5386 HRESULT STDMETHODCALLTYPE IOpcDigitalSignature_GetPackageObjectReference_Proxy(
   5387     IOpcDigitalSignature* This,
   5388     IOpcSignatureReference **packageObjectReference);
   5389 void __RPC_STUB IOpcDigitalSignature_GetPackageObjectReference_Stub(
   5390     IRpcStubBuffer* This,
   5391     IRpcChannelBuffer* pRpcChannelBuffer,
   5392     PRPC_MESSAGE pRpcMessage,
   5393     DWORD* pdwStubPhase);
   5394 HRESULT STDMETHODCALLTYPE IOpcDigitalSignature_GetCertificateEnumerator_Proxy(
   5395     IOpcDigitalSignature* This,
   5396     IOpcCertificateEnumerator **certificateEnumerator);
   5397 void __RPC_STUB IOpcDigitalSignature_GetCertificateEnumerator_Stub(
   5398     IRpcStubBuffer* This,
   5399     IRpcChannelBuffer* pRpcChannelBuffer,
   5400     PRPC_MESSAGE pRpcMessage,
   5401     DWORD* pdwStubPhase);
   5402 HRESULT STDMETHODCALLTYPE IOpcDigitalSignature_GetCustomReferenceEnumerator_Proxy(
   5403     IOpcDigitalSignature* This,
   5404     IOpcSignatureReferenceEnumerator **customReferenceEnumerator);
   5405 void __RPC_STUB IOpcDigitalSignature_GetCustomReferenceEnumerator_Stub(
   5406     IRpcStubBuffer* This,
   5407     IRpcChannelBuffer* pRpcChannelBuffer,
   5408     PRPC_MESSAGE pRpcMessage,
   5409     DWORD* pdwStubPhase);
   5410 HRESULT STDMETHODCALLTYPE IOpcDigitalSignature_GetCustomObjectEnumerator_Proxy(
   5411     IOpcDigitalSignature* This,
   5412     IOpcSignatureCustomObjectEnumerator **customObjectEnumerator);
   5413 void __RPC_STUB IOpcDigitalSignature_GetCustomObjectEnumerator_Stub(
   5414     IRpcStubBuffer* This,
   5415     IRpcChannelBuffer* pRpcChannelBuffer,
   5416     PRPC_MESSAGE pRpcMessage,
   5417     DWORD* pdwStubPhase);
   5418 HRESULT STDMETHODCALLTYPE IOpcDigitalSignature_GetSignatureXml_Proxy(
   5419     IOpcDigitalSignature* This,
   5420     UINT8 **signatureXml,
   5421     UINT32 *count);
   5422 void __RPC_STUB IOpcDigitalSignature_GetSignatureXml_Stub(
   5423     IRpcStubBuffer* This,
   5424     IRpcChannelBuffer* pRpcChannelBuffer,
   5425     PRPC_MESSAGE pRpcMessage,
   5426     DWORD* pdwStubPhase);
   5427 
   5428 #endif  /* __IOpcDigitalSignature_INTERFACE_DEFINED__ */
   5429 
   5430 /*****************************************************************************
   5431  * IOpcSigningOptions interface
   5432  */
   5433 #ifndef __IOpcSigningOptions_INTERFACE_DEFINED__
   5434 #define __IOpcSigningOptions_INTERFACE_DEFINED__
   5435 
   5436 DEFINE_GUID(IID_IOpcSigningOptions, 0x50d2d6a5, 0x7aeb, 0x46c0, 0xb2,0x41, 0x43,0xab,0x0e,0x9b,0x40,0x7e);
   5437 #if defined(__cplusplus) && !defined(CINTERFACE)
   5438 MIDL_INTERFACE("50d2d6a5-7aeb-46c0-b241-43ab0e9b407e")
   5439 IOpcSigningOptions : public IUnknown
   5440 {
   5441     virtual HRESULT STDMETHODCALLTYPE GetSignatureId(
   5442         LPWSTR *signatureId) = 0;
   5443 
   5444     virtual HRESULT STDMETHODCALLTYPE SetSignatureId(
   5445         LPCWSTR signatureId) = 0;
   5446 
   5447     virtual HRESULT STDMETHODCALLTYPE GetSignatureMethod(
   5448         LPWSTR *signatureMethod) = 0;
   5449 
   5450     virtual HRESULT STDMETHODCALLTYPE SetSignatureMethod(
   5451         LPCWSTR signatureMethod) = 0;
   5452 
   5453     virtual HRESULT STDMETHODCALLTYPE GetDefaultDigestMethod(
   5454         LPWSTR *digestMethod) = 0;
   5455 
   5456     virtual HRESULT STDMETHODCALLTYPE SetDefaultDigestMethod(
   5457         LPCWSTR digestMethod) = 0;
   5458 
   5459     virtual HRESULT STDMETHODCALLTYPE GetCertificateEmbeddingOption(
   5460         OPC_CERTIFICATE_EMBEDDING_OPTION *embeddingOption) = 0;
   5461 
   5462     virtual HRESULT STDMETHODCALLTYPE SetCertificateEmbeddingOption(
   5463         OPC_CERTIFICATE_EMBEDDING_OPTION embeddingOption) = 0;
   5464 
   5465     virtual HRESULT STDMETHODCALLTYPE GetTimeFormat(
   5466         OPC_SIGNATURE_TIME_FORMAT *timeFormat) = 0;
   5467 
   5468     virtual HRESULT STDMETHODCALLTYPE SetTimeFormat(
   5469         OPC_SIGNATURE_TIME_FORMAT timeFormat) = 0;
   5470 
   5471     virtual HRESULT STDMETHODCALLTYPE GetSignaturePartReferenceSet(
   5472         IOpcSignaturePartReferenceSet **partReferenceSet) = 0;
   5473 
   5474     virtual HRESULT STDMETHODCALLTYPE GetSignatureRelationshipReferenceSet(
   5475         IOpcSignatureRelationshipReferenceSet **relationshipReferenceSet) = 0;
   5476 
   5477     virtual HRESULT STDMETHODCALLTYPE GetCustomObjectSet(
   5478         IOpcSignatureCustomObjectSet **customObjectSet) = 0;
   5479 
   5480     virtual HRESULT STDMETHODCALLTYPE GetCustomReferenceSet(
   5481         IOpcSignatureReferenceSet **customReferenceSet) = 0;
   5482 
   5483     virtual HRESULT STDMETHODCALLTYPE GetCertificateSet(
   5484         IOpcCertificateSet **certificateSet) = 0;
   5485 
   5486     virtual HRESULT STDMETHODCALLTYPE GetSignaturePartName(
   5487         IOpcPartUri **signaturePartName) = 0;
   5488 
   5489     virtual HRESULT STDMETHODCALLTYPE SetSignaturePartName(
   5490         IOpcPartUri *signaturePartName) = 0;
   5491 
   5492 };
   5493 #ifdef __CRT_UUID_DECL
   5494 __CRT_UUID_DECL(IOpcSigningOptions, 0x50d2d6a5, 0x7aeb, 0x46c0, 0xb2,0x41, 0x43,0xab,0x0e,0x9b,0x40,0x7e)
   5495 #endif
   5496 #else
   5497 typedef struct IOpcSigningOptionsVtbl {
   5498     BEGIN_INTERFACE
   5499 
   5500     /*** IUnknown methods ***/
   5501     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5502         IOpcSigningOptions* This,
   5503         REFIID riid,
   5504         void **ppvObject);
   5505 
   5506     ULONG (STDMETHODCALLTYPE *AddRef)(
   5507         IOpcSigningOptions* This);
   5508 
   5509     ULONG (STDMETHODCALLTYPE *Release)(
   5510         IOpcSigningOptions* This);
   5511 
   5512     /*** IOpcSigningOptions methods ***/
   5513     HRESULT (STDMETHODCALLTYPE *GetSignatureId)(
   5514         IOpcSigningOptions* This,
   5515         LPWSTR *signatureId);
   5516 
   5517     HRESULT (STDMETHODCALLTYPE *SetSignatureId)(
   5518         IOpcSigningOptions* This,
   5519         LPCWSTR signatureId);
   5520 
   5521     HRESULT (STDMETHODCALLTYPE *GetSignatureMethod)(
   5522         IOpcSigningOptions* This,
   5523         LPWSTR *signatureMethod);
   5524 
   5525     HRESULT (STDMETHODCALLTYPE *SetSignatureMethod)(
   5526         IOpcSigningOptions* This,
   5527         LPCWSTR signatureMethod);
   5528 
   5529     HRESULT (STDMETHODCALLTYPE *GetDefaultDigestMethod)(
   5530         IOpcSigningOptions* This,
   5531         LPWSTR *digestMethod);
   5532 
   5533     HRESULT (STDMETHODCALLTYPE *SetDefaultDigestMethod)(
   5534         IOpcSigningOptions* This,
   5535         LPCWSTR digestMethod);
   5536 
   5537     HRESULT (STDMETHODCALLTYPE *GetCertificateEmbeddingOption)(
   5538         IOpcSigningOptions* This,
   5539         OPC_CERTIFICATE_EMBEDDING_OPTION *embeddingOption);
   5540 
   5541     HRESULT (STDMETHODCALLTYPE *SetCertificateEmbeddingOption)(
   5542         IOpcSigningOptions* This,
   5543         OPC_CERTIFICATE_EMBEDDING_OPTION embeddingOption);
   5544 
   5545     HRESULT (STDMETHODCALLTYPE *GetTimeFormat)(
   5546         IOpcSigningOptions* This,
   5547         OPC_SIGNATURE_TIME_FORMAT *timeFormat);
   5548 
   5549     HRESULT (STDMETHODCALLTYPE *SetTimeFormat)(
   5550         IOpcSigningOptions* This,
   5551         OPC_SIGNATURE_TIME_FORMAT timeFormat);
   5552 
   5553     HRESULT (STDMETHODCALLTYPE *GetSignaturePartReferenceSet)(
   5554         IOpcSigningOptions* This,
   5555         IOpcSignaturePartReferenceSet **partReferenceSet);
   5556 
   5557     HRESULT (STDMETHODCALLTYPE *GetSignatureRelationshipReferenceSet)(
   5558         IOpcSigningOptions* This,
   5559         IOpcSignatureRelationshipReferenceSet **relationshipReferenceSet);
   5560 
   5561     HRESULT (STDMETHODCALLTYPE *GetCustomObjectSet)(
   5562         IOpcSigningOptions* This,
   5563         IOpcSignatureCustomObjectSet **customObjectSet);
   5564 
   5565     HRESULT (STDMETHODCALLTYPE *GetCustomReferenceSet)(
   5566         IOpcSigningOptions* This,
   5567         IOpcSignatureReferenceSet **customReferenceSet);
   5568 
   5569     HRESULT (STDMETHODCALLTYPE *GetCertificateSet)(
   5570         IOpcSigningOptions* This,
   5571         IOpcCertificateSet **certificateSet);
   5572 
   5573     HRESULT (STDMETHODCALLTYPE *GetSignaturePartName)(
   5574         IOpcSigningOptions* This,
   5575         IOpcPartUri **signaturePartName);
   5576 
   5577     HRESULT (STDMETHODCALLTYPE *SetSignaturePartName)(
   5578         IOpcSigningOptions* This,
   5579         IOpcPartUri *signaturePartName);
   5580 
   5581     END_INTERFACE
   5582 } IOpcSigningOptionsVtbl;
   5583 interface IOpcSigningOptions {
   5584     CONST_VTBL IOpcSigningOptionsVtbl* lpVtbl;
   5585 };
   5586 
   5587 #ifdef COBJMACROS
   5588 #ifndef WIDL_C_INLINE_WRAPPERS
   5589 /*** IUnknown methods ***/
   5590 #define IOpcSigningOptions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5591 #define IOpcSigningOptions_AddRef(This) (This)->lpVtbl->AddRef(This)
   5592 #define IOpcSigningOptions_Release(This) (This)->lpVtbl->Release(This)
   5593 /*** IOpcSigningOptions methods ***/
   5594 #define IOpcSigningOptions_GetSignatureId(This,signatureId) (This)->lpVtbl->GetSignatureId(This,signatureId)
   5595 #define IOpcSigningOptions_SetSignatureId(This,signatureId) (This)->lpVtbl->SetSignatureId(This,signatureId)
   5596 #define IOpcSigningOptions_GetSignatureMethod(This,signatureMethod) (This)->lpVtbl->GetSignatureMethod(This,signatureMethod)
   5597 #define IOpcSigningOptions_SetSignatureMethod(This,signatureMethod) (This)->lpVtbl->SetSignatureMethod(This,signatureMethod)
   5598 #define IOpcSigningOptions_GetDefaultDigestMethod(This,digestMethod) (This)->lpVtbl->GetDefaultDigestMethod(This,digestMethod)
   5599 #define IOpcSigningOptions_SetDefaultDigestMethod(This,digestMethod) (This)->lpVtbl->SetDefaultDigestMethod(This,digestMethod)
   5600 #define IOpcSigningOptions_GetCertificateEmbeddingOption(This,embeddingOption) (This)->lpVtbl->GetCertificateEmbeddingOption(This,embeddingOption)
   5601 #define IOpcSigningOptions_SetCertificateEmbeddingOption(This,embeddingOption) (This)->lpVtbl->SetCertificateEmbeddingOption(This,embeddingOption)
   5602 #define IOpcSigningOptions_GetTimeFormat(This,timeFormat) (This)->lpVtbl->GetTimeFormat(This,timeFormat)
   5603 #define IOpcSigningOptions_SetTimeFormat(This,timeFormat) (This)->lpVtbl->SetTimeFormat(This,timeFormat)
   5604 #define IOpcSigningOptions_GetSignaturePartReferenceSet(This,partReferenceSet) (This)->lpVtbl->GetSignaturePartReferenceSet(This,partReferenceSet)
   5605 #define IOpcSigningOptions_GetSignatureRelationshipReferenceSet(This,relationshipReferenceSet) (This)->lpVtbl->GetSignatureRelationshipReferenceSet(This,relationshipReferenceSet)
   5606 #define IOpcSigningOptions_GetCustomObjectSet(This,customObjectSet) (This)->lpVtbl->GetCustomObjectSet(This,customObjectSet)
   5607 #define IOpcSigningOptions_GetCustomReferenceSet(This,customReferenceSet) (This)->lpVtbl->GetCustomReferenceSet(This,customReferenceSet)
   5608 #define IOpcSigningOptions_GetCertificateSet(This,certificateSet) (This)->lpVtbl->GetCertificateSet(This,certificateSet)
   5609 #define IOpcSigningOptions_GetSignaturePartName(This,signaturePartName) (This)->lpVtbl->GetSignaturePartName(This,signaturePartName)
   5610 #define IOpcSigningOptions_SetSignaturePartName(This,signaturePartName) (This)->lpVtbl->SetSignaturePartName(This,signaturePartName)
   5611 #else
   5612 /*** IUnknown methods ***/
   5613 static FORCEINLINE HRESULT IOpcSigningOptions_QueryInterface(IOpcSigningOptions* This,REFIID riid,void **ppvObject) {
   5614     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5615 }
   5616 static FORCEINLINE ULONG IOpcSigningOptions_AddRef(IOpcSigningOptions* This) {
   5617     return This->lpVtbl->AddRef(This);
   5618 }
   5619 static FORCEINLINE ULONG IOpcSigningOptions_Release(IOpcSigningOptions* This) {
   5620     return This->lpVtbl->Release(This);
   5621 }
   5622 /*** IOpcSigningOptions methods ***/
   5623 static FORCEINLINE HRESULT IOpcSigningOptions_GetSignatureId(IOpcSigningOptions* This,LPWSTR *signatureId) {
   5624     return This->lpVtbl->GetSignatureId(This,signatureId);
   5625 }
   5626 static FORCEINLINE HRESULT IOpcSigningOptions_SetSignatureId(IOpcSigningOptions* This,LPCWSTR signatureId) {
   5627     return This->lpVtbl->SetSignatureId(This,signatureId);
   5628 }
   5629 static FORCEINLINE HRESULT IOpcSigningOptions_GetSignatureMethod(IOpcSigningOptions* This,LPWSTR *signatureMethod) {
   5630     return This->lpVtbl->GetSignatureMethod(This,signatureMethod);
   5631 }
   5632 static FORCEINLINE HRESULT IOpcSigningOptions_SetSignatureMethod(IOpcSigningOptions* This,LPCWSTR signatureMethod) {
   5633     return This->lpVtbl->SetSignatureMethod(This,signatureMethod);
   5634 }
   5635 static FORCEINLINE HRESULT IOpcSigningOptions_GetDefaultDigestMethod(IOpcSigningOptions* This,LPWSTR *digestMethod) {
   5636     return This->lpVtbl->GetDefaultDigestMethod(This,digestMethod);
   5637 }
   5638 static FORCEINLINE HRESULT IOpcSigningOptions_SetDefaultDigestMethod(IOpcSigningOptions* This,LPCWSTR digestMethod) {
   5639     return This->lpVtbl->SetDefaultDigestMethod(This,digestMethod);
   5640 }
   5641 static FORCEINLINE HRESULT IOpcSigningOptions_GetCertificateEmbeddingOption(IOpcSigningOptions* This,OPC_CERTIFICATE_EMBEDDING_OPTION *embeddingOption) {
   5642     return This->lpVtbl->GetCertificateEmbeddingOption(This,embeddingOption);
   5643 }
   5644 static FORCEINLINE HRESULT IOpcSigningOptions_SetCertificateEmbeddingOption(IOpcSigningOptions* This,OPC_CERTIFICATE_EMBEDDING_OPTION embeddingOption) {
   5645     return This->lpVtbl->SetCertificateEmbeddingOption(This,embeddingOption);
   5646 }
   5647 static FORCEINLINE HRESULT IOpcSigningOptions_GetTimeFormat(IOpcSigningOptions* This,OPC_SIGNATURE_TIME_FORMAT *timeFormat) {
   5648     return This->lpVtbl->GetTimeFormat(This,timeFormat);
   5649 }
   5650 static FORCEINLINE HRESULT IOpcSigningOptions_SetTimeFormat(IOpcSigningOptions* This,OPC_SIGNATURE_TIME_FORMAT timeFormat) {
   5651     return This->lpVtbl->SetTimeFormat(This,timeFormat);
   5652 }
   5653 static FORCEINLINE HRESULT IOpcSigningOptions_GetSignaturePartReferenceSet(IOpcSigningOptions* This,IOpcSignaturePartReferenceSet **partReferenceSet) {
   5654     return This->lpVtbl->GetSignaturePartReferenceSet(This,partReferenceSet);
   5655 }
   5656 static FORCEINLINE HRESULT IOpcSigningOptions_GetSignatureRelationshipReferenceSet(IOpcSigningOptions* This,IOpcSignatureRelationshipReferenceSet **relationshipReferenceSet) {
   5657     return This->lpVtbl->GetSignatureRelationshipReferenceSet(This,relationshipReferenceSet);
   5658 }
   5659 static FORCEINLINE HRESULT IOpcSigningOptions_GetCustomObjectSet(IOpcSigningOptions* This,IOpcSignatureCustomObjectSet **customObjectSet) {
   5660     return This->lpVtbl->GetCustomObjectSet(This,customObjectSet);
   5661 }
   5662 static FORCEINLINE HRESULT IOpcSigningOptions_GetCustomReferenceSet(IOpcSigningOptions* This,IOpcSignatureReferenceSet **customReferenceSet) {
   5663     return This->lpVtbl->GetCustomReferenceSet(This,customReferenceSet);
   5664 }
   5665 static FORCEINLINE HRESULT IOpcSigningOptions_GetCertificateSet(IOpcSigningOptions* This,IOpcCertificateSet **certificateSet) {
   5666     return This->lpVtbl->GetCertificateSet(This,certificateSet);
   5667 }
   5668 static FORCEINLINE HRESULT IOpcSigningOptions_GetSignaturePartName(IOpcSigningOptions* This,IOpcPartUri **signaturePartName) {
   5669     return This->lpVtbl->GetSignaturePartName(This,signaturePartName);
   5670 }
   5671 static FORCEINLINE HRESULT IOpcSigningOptions_SetSignaturePartName(IOpcSigningOptions* This,IOpcPartUri *signaturePartName) {
   5672     return This->lpVtbl->SetSignaturePartName(This,signaturePartName);
   5673 }
   5674 #endif
   5675 #endif
   5676 
   5677 #endif
   5678 
   5679 HRESULT STDMETHODCALLTYPE IOpcSigningOptions_GetSignatureId_Proxy(
   5680     IOpcSigningOptions* This,
   5681     LPWSTR *signatureId);
   5682 void __RPC_STUB IOpcSigningOptions_GetSignatureId_Stub(
   5683     IRpcStubBuffer* This,
   5684     IRpcChannelBuffer* pRpcChannelBuffer,
   5685     PRPC_MESSAGE pRpcMessage,
   5686     DWORD* pdwStubPhase);
   5687 HRESULT STDMETHODCALLTYPE IOpcSigningOptions_SetSignatureId_Proxy(
   5688     IOpcSigningOptions* This,
   5689     LPCWSTR signatureId);
   5690 void __RPC_STUB IOpcSigningOptions_SetSignatureId_Stub(
   5691     IRpcStubBuffer* This,
   5692     IRpcChannelBuffer* pRpcChannelBuffer,
   5693     PRPC_MESSAGE pRpcMessage,
   5694     DWORD* pdwStubPhase);
   5695 HRESULT STDMETHODCALLTYPE IOpcSigningOptions_GetSignatureMethod_Proxy(
   5696     IOpcSigningOptions* This,
   5697     LPWSTR *signatureMethod);
   5698 void __RPC_STUB IOpcSigningOptions_GetSignatureMethod_Stub(
   5699     IRpcStubBuffer* This,
   5700     IRpcChannelBuffer* pRpcChannelBuffer,
   5701     PRPC_MESSAGE pRpcMessage,
   5702     DWORD* pdwStubPhase);
   5703 HRESULT STDMETHODCALLTYPE IOpcSigningOptions_SetSignatureMethod_Proxy(
   5704     IOpcSigningOptions* This,
   5705     LPCWSTR signatureMethod);
   5706 void __RPC_STUB IOpcSigningOptions_SetSignatureMethod_Stub(
   5707     IRpcStubBuffer* This,
   5708     IRpcChannelBuffer* pRpcChannelBuffer,
   5709     PRPC_MESSAGE pRpcMessage,
   5710     DWORD* pdwStubPhase);
   5711 HRESULT STDMETHODCALLTYPE IOpcSigningOptions_GetDefaultDigestMethod_Proxy(
   5712     IOpcSigningOptions* This,
   5713     LPWSTR *digestMethod);
   5714 void __RPC_STUB IOpcSigningOptions_GetDefaultDigestMethod_Stub(
   5715     IRpcStubBuffer* This,
   5716     IRpcChannelBuffer* pRpcChannelBuffer,
   5717     PRPC_MESSAGE pRpcMessage,
   5718     DWORD* pdwStubPhase);
   5719 HRESULT STDMETHODCALLTYPE IOpcSigningOptions_SetDefaultDigestMethod_Proxy(
   5720     IOpcSigningOptions* This,
   5721     LPCWSTR digestMethod);
   5722 void __RPC_STUB IOpcSigningOptions_SetDefaultDigestMethod_Stub(
   5723     IRpcStubBuffer* This,
   5724     IRpcChannelBuffer* pRpcChannelBuffer,
   5725     PRPC_MESSAGE pRpcMessage,
   5726     DWORD* pdwStubPhase);
   5727 HRESULT STDMETHODCALLTYPE IOpcSigningOptions_GetCertificateEmbeddingOption_Proxy(
   5728     IOpcSigningOptions* This,
   5729     OPC_CERTIFICATE_EMBEDDING_OPTION *embeddingOption);
   5730 void __RPC_STUB IOpcSigningOptions_GetCertificateEmbeddingOption_Stub(
   5731     IRpcStubBuffer* This,
   5732     IRpcChannelBuffer* pRpcChannelBuffer,
   5733     PRPC_MESSAGE pRpcMessage,
   5734     DWORD* pdwStubPhase);
   5735 HRESULT STDMETHODCALLTYPE IOpcSigningOptions_SetCertificateEmbeddingOption_Proxy(
   5736     IOpcSigningOptions* This,
   5737     OPC_CERTIFICATE_EMBEDDING_OPTION embeddingOption);
   5738 void __RPC_STUB IOpcSigningOptions_SetCertificateEmbeddingOption_Stub(
   5739     IRpcStubBuffer* This,
   5740     IRpcChannelBuffer* pRpcChannelBuffer,
   5741     PRPC_MESSAGE pRpcMessage,
   5742     DWORD* pdwStubPhase);
   5743 HRESULT STDMETHODCALLTYPE IOpcSigningOptions_GetTimeFormat_Proxy(
   5744     IOpcSigningOptions* This,
   5745     OPC_SIGNATURE_TIME_FORMAT *timeFormat);
   5746 void __RPC_STUB IOpcSigningOptions_GetTimeFormat_Stub(
   5747     IRpcStubBuffer* This,
   5748     IRpcChannelBuffer* pRpcChannelBuffer,
   5749     PRPC_MESSAGE pRpcMessage,
   5750     DWORD* pdwStubPhase);
   5751 HRESULT STDMETHODCALLTYPE IOpcSigningOptions_SetTimeFormat_Proxy(
   5752     IOpcSigningOptions* This,
   5753     OPC_SIGNATURE_TIME_FORMAT timeFormat);
   5754 void __RPC_STUB IOpcSigningOptions_SetTimeFormat_Stub(
   5755     IRpcStubBuffer* This,
   5756     IRpcChannelBuffer* pRpcChannelBuffer,
   5757     PRPC_MESSAGE pRpcMessage,
   5758     DWORD* pdwStubPhase);
   5759 HRESULT STDMETHODCALLTYPE IOpcSigningOptions_GetSignaturePartReferenceSet_Proxy(
   5760     IOpcSigningOptions* This,
   5761     IOpcSignaturePartReferenceSet **partReferenceSet);
   5762 void __RPC_STUB IOpcSigningOptions_GetSignaturePartReferenceSet_Stub(
   5763     IRpcStubBuffer* This,
   5764     IRpcChannelBuffer* pRpcChannelBuffer,
   5765     PRPC_MESSAGE pRpcMessage,
   5766     DWORD* pdwStubPhase);
   5767 HRESULT STDMETHODCALLTYPE IOpcSigningOptions_GetSignatureRelationshipReferenceSet_Proxy(
   5768     IOpcSigningOptions* This,
   5769     IOpcSignatureRelationshipReferenceSet **relationshipReferenceSet);
   5770 void __RPC_STUB IOpcSigningOptions_GetSignatureRelationshipReferenceSet_Stub(
   5771     IRpcStubBuffer* This,
   5772     IRpcChannelBuffer* pRpcChannelBuffer,
   5773     PRPC_MESSAGE pRpcMessage,
   5774     DWORD* pdwStubPhase);
   5775 HRESULT STDMETHODCALLTYPE IOpcSigningOptions_GetCustomObjectSet_Proxy(
   5776     IOpcSigningOptions* This,
   5777     IOpcSignatureCustomObjectSet **customObjectSet);
   5778 void __RPC_STUB IOpcSigningOptions_GetCustomObjectSet_Stub(
   5779     IRpcStubBuffer* This,
   5780     IRpcChannelBuffer* pRpcChannelBuffer,
   5781     PRPC_MESSAGE pRpcMessage,
   5782     DWORD* pdwStubPhase);
   5783 HRESULT STDMETHODCALLTYPE IOpcSigningOptions_GetCustomReferenceSet_Proxy(
   5784     IOpcSigningOptions* This,
   5785     IOpcSignatureReferenceSet **customReferenceSet);
   5786 void __RPC_STUB IOpcSigningOptions_GetCustomReferenceSet_Stub(
   5787     IRpcStubBuffer* This,
   5788     IRpcChannelBuffer* pRpcChannelBuffer,
   5789     PRPC_MESSAGE pRpcMessage,
   5790     DWORD* pdwStubPhase);
   5791 HRESULT STDMETHODCALLTYPE IOpcSigningOptions_GetCertificateSet_Proxy(
   5792     IOpcSigningOptions* This,
   5793     IOpcCertificateSet **certificateSet);
   5794 void __RPC_STUB IOpcSigningOptions_GetCertificateSet_Stub(
   5795     IRpcStubBuffer* This,
   5796     IRpcChannelBuffer* pRpcChannelBuffer,
   5797     PRPC_MESSAGE pRpcMessage,
   5798     DWORD* pdwStubPhase);
   5799 HRESULT STDMETHODCALLTYPE IOpcSigningOptions_GetSignaturePartName_Proxy(
   5800     IOpcSigningOptions* This,
   5801     IOpcPartUri **signaturePartName);
   5802 void __RPC_STUB IOpcSigningOptions_GetSignaturePartName_Stub(
   5803     IRpcStubBuffer* This,
   5804     IRpcChannelBuffer* pRpcChannelBuffer,
   5805     PRPC_MESSAGE pRpcMessage,
   5806     DWORD* pdwStubPhase);
   5807 HRESULT STDMETHODCALLTYPE IOpcSigningOptions_SetSignaturePartName_Proxy(
   5808     IOpcSigningOptions* This,
   5809     IOpcPartUri *signaturePartName);
   5810 void __RPC_STUB IOpcSigningOptions_SetSignaturePartName_Stub(
   5811     IRpcStubBuffer* This,
   5812     IRpcChannelBuffer* pRpcChannelBuffer,
   5813     PRPC_MESSAGE pRpcMessage,
   5814     DWORD* pdwStubPhase);
   5815 
   5816 #endif  /* __IOpcSigningOptions_INTERFACE_DEFINED__ */
   5817 
   5818 /*****************************************************************************
   5819  * IOpcFactory interface
   5820  */
   5821 #ifndef __IOpcFactory_INTERFACE_DEFINED__
   5822 #define __IOpcFactory_INTERFACE_DEFINED__
   5823 
   5824 DEFINE_GUID(IID_IOpcFactory, 0x6d0b4446, 0xcd73, 0x4ab3, 0x94,0xf4, 0x8c,0xcd,0xf6,0x11,0x61,0x54);
   5825 #if defined(__cplusplus) && !defined(CINTERFACE)
   5826 MIDL_INTERFACE("6d0b4446-cd73-4ab3-94f4-8ccdf6116154")
   5827 IOpcFactory : public IUnknown
   5828 {
   5829     virtual HRESULT STDMETHODCALLTYPE CreatePackageRootUri(
   5830         IOpcUri **rootUri) = 0;
   5831 
   5832     virtual HRESULT STDMETHODCALLTYPE CreatePartUri(
   5833         LPCWSTR pwzUri,
   5834         IOpcPartUri **partUri) = 0;
   5835 
   5836     virtual HRESULT STDMETHODCALLTYPE CreateStreamOnFile(
   5837         LPCWSTR filename,
   5838         OPC_STREAM_IO_MODE ioMode,
   5839         LPSECURITY_ATTRIBUTES securityAttributes,
   5840         DWORD dwFlagsAndAttributes,
   5841         IStream **stream) = 0;
   5842 
   5843     virtual HRESULT STDMETHODCALLTYPE CreatePackage(
   5844         IOpcPackage **package) = 0;
   5845 
   5846     virtual HRESULT STDMETHODCALLTYPE ReadPackageFromStream(
   5847         IStream *stream,
   5848         OPC_READ_FLAGS flags,
   5849         IOpcPackage **package) = 0;
   5850 
   5851     virtual HRESULT STDMETHODCALLTYPE WritePackageToStream(
   5852         IOpcPackage *package,
   5853         OPC_WRITE_FLAGS flags,
   5854         IStream *stream) = 0;
   5855 
   5856     virtual HRESULT STDMETHODCALLTYPE CreateDigitalSignatureManager(
   5857         IOpcPackage *package,
   5858         IOpcDigitalSignatureManager **signatureManager) = 0;
   5859 
   5860 };
   5861 #ifdef __CRT_UUID_DECL
   5862 __CRT_UUID_DECL(IOpcFactory, 0x6d0b4446, 0xcd73, 0x4ab3, 0x94,0xf4, 0x8c,0xcd,0xf6,0x11,0x61,0x54)
   5863 #endif
   5864 #else
   5865 typedef struct IOpcFactoryVtbl {
   5866     BEGIN_INTERFACE
   5867 
   5868     /*** IUnknown methods ***/
   5869     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5870         IOpcFactory* This,
   5871         REFIID riid,
   5872         void **ppvObject);
   5873 
   5874     ULONG (STDMETHODCALLTYPE *AddRef)(
   5875         IOpcFactory* This);
   5876 
   5877     ULONG (STDMETHODCALLTYPE *Release)(
   5878         IOpcFactory* This);
   5879 
   5880     /*** IOpcFactory methods ***/
   5881     HRESULT (STDMETHODCALLTYPE *CreatePackageRootUri)(
   5882         IOpcFactory* This,
   5883         IOpcUri **rootUri);
   5884 
   5885     HRESULT (STDMETHODCALLTYPE *CreatePartUri)(
   5886         IOpcFactory* This,
   5887         LPCWSTR pwzUri,
   5888         IOpcPartUri **partUri);
   5889 
   5890     HRESULT (STDMETHODCALLTYPE *CreateStreamOnFile)(
   5891         IOpcFactory* This,
   5892         LPCWSTR filename,
   5893         OPC_STREAM_IO_MODE ioMode,
   5894         LPSECURITY_ATTRIBUTES securityAttributes,
   5895         DWORD dwFlagsAndAttributes,
   5896         IStream **stream);
   5897 
   5898     HRESULT (STDMETHODCALLTYPE *CreatePackage)(
   5899         IOpcFactory* This,
   5900         IOpcPackage **package);
   5901 
   5902     HRESULT (STDMETHODCALLTYPE *ReadPackageFromStream)(
   5903         IOpcFactory* This,
   5904         IStream *stream,
   5905         OPC_READ_FLAGS flags,
   5906         IOpcPackage **package);
   5907 
   5908     HRESULT (STDMETHODCALLTYPE *WritePackageToStream)(
   5909         IOpcFactory* This,
   5910         IOpcPackage *package,
   5911         OPC_WRITE_FLAGS flags,
   5912         IStream *stream);
   5913 
   5914     HRESULT (STDMETHODCALLTYPE *CreateDigitalSignatureManager)(
   5915         IOpcFactory* This,
   5916         IOpcPackage *package,
   5917         IOpcDigitalSignatureManager **signatureManager);
   5918 
   5919     END_INTERFACE
   5920 } IOpcFactoryVtbl;
   5921 interface IOpcFactory {
   5922     CONST_VTBL IOpcFactoryVtbl* lpVtbl;
   5923 };
   5924 
   5925 #ifdef COBJMACROS
   5926 #ifndef WIDL_C_INLINE_WRAPPERS
   5927 /*** IUnknown methods ***/
   5928 #define IOpcFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5929 #define IOpcFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
   5930 #define IOpcFactory_Release(This) (This)->lpVtbl->Release(This)
   5931 /*** IOpcFactory methods ***/
   5932 #define IOpcFactory_CreatePackageRootUri(This,rootUri) (This)->lpVtbl->CreatePackageRootUri(This,rootUri)
   5933 #define IOpcFactory_CreatePartUri(This,pwzUri,partUri) (This)->lpVtbl->CreatePartUri(This,pwzUri,partUri)
   5934 #define IOpcFactory_CreateStreamOnFile(This,filename,ioMode,securityAttributes,dwFlagsAndAttributes,stream) (This)->lpVtbl->CreateStreamOnFile(This,filename,ioMode,securityAttributes,dwFlagsAndAttributes,stream)
   5935 #define IOpcFactory_CreatePackage(This,package) (This)->lpVtbl->CreatePackage(This,package)
   5936 #define IOpcFactory_ReadPackageFromStream(This,stream,flags,package) (This)->lpVtbl->ReadPackageFromStream(This,stream,flags,package)
   5937 #define IOpcFactory_WritePackageToStream(This,package,flags,stream) (This)->lpVtbl->WritePackageToStream(This,package,flags,stream)
   5938 #define IOpcFactory_CreateDigitalSignatureManager(This,package,signatureManager) (This)->lpVtbl->CreateDigitalSignatureManager(This,package,signatureManager)
   5939 #else
   5940 /*** IUnknown methods ***/
   5941 static FORCEINLINE HRESULT IOpcFactory_QueryInterface(IOpcFactory* This,REFIID riid,void **ppvObject) {
   5942     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5943 }
   5944 static FORCEINLINE ULONG IOpcFactory_AddRef(IOpcFactory* This) {
   5945     return This->lpVtbl->AddRef(This);
   5946 }
   5947 static FORCEINLINE ULONG IOpcFactory_Release(IOpcFactory* This) {
   5948     return This->lpVtbl->Release(This);
   5949 }
   5950 /*** IOpcFactory methods ***/
   5951 static FORCEINLINE HRESULT IOpcFactory_CreatePackageRootUri(IOpcFactory* This,IOpcUri **rootUri) {
   5952     return This->lpVtbl->CreatePackageRootUri(This,rootUri);
   5953 }
   5954 static FORCEINLINE HRESULT IOpcFactory_CreatePartUri(IOpcFactory* This,LPCWSTR pwzUri,IOpcPartUri **partUri) {
   5955     return This->lpVtbl->CreatePartUri(This,pwzUri,partUri);
   5956 }
   5957 static FORCEINLINE HRESULT IOpcFactory_CreateStreamOnFile(IOpcFactory* This,LPCWSTR filename,OPC_STREAM_IO_MODE ioMode,LPSECURITY_ATTRIBUTES securityAttributes,DWORD dwFlagsAndAttributes,IStream **stream) {
   5958     return This->lpVtbl->CreateStreamOnFile(This,filename,ioMode,securityAttributes,dwFlagsAndAttributes,stream);
   5959 }
   5960 static FORCEINLINE HRESULT IOpcFactory_CreatePackage(IOpcFactory* This,IOpcPackage **package) {
   5961     return This->lpVtbl->CreatePackage(This,package);
   5962 }
   5963 static FORCEINLINE HRESULT IOpcFactory_ReadPackageFromStream(IOpcFactory* This,IStream *stream,OPC_READ_FLAGS flags,IOpcPackage **package) {
   5964     return This->lpVtbl->ReadPackageFromStream(This,stream,flags,package);
   5965 }
   5966 static FORCEINLINE HRESULT IOpcFactory_WritePackageToStream(IOpcFactory* This,IOpcPackage *package,OPC_WRITE_FLAGS flags,IStream *stream) {
   5967     return This->lpVtbl->WritePackageToStream(This,package,flags,stream);
   5968 }
   5969 static FORCEINLINE HRESULT IOpcFactory_CreateDigitalSignatureManager(IOpcFactory* This,IOpcPackage *package,IOpcDigitalSignatureManager **signatureManager) {
   5970     return This->lpVtbl->CreateDigitalSignatureManager(This,package,signatureManager);
   5971 }
   5972 #endif
   5973 #endif
   5974 
   5975 #endif
   5976 
   5977 HRESULT STDMETHODCALLTYPE IOpcFactory_CreatePackageRootUri_Proxy(
   5978     IOpcFactory* This,
   5979     IOpcUri **rootUri);
   5980 void __RPC_STUB IOpcFactory_CreatePackageRootUri_Stub(
   5981     IRpcStubBuffer* This,
   5982     IRpcChannelBuffer* pRpcChannelBuffer,
   5983     PRPC_MESSAGE pRpcMessage,
   5984     DWORD* pdwStubPhase);
   5985 HRESULT STDMETHODCALLTYPE IOpcFactory_CreatePartUri_Proxy(
   5986     IOpcFactory* This,
   5987     LPCWSTR pwzUri,
   5988     IOpcPartUri **partUri);
   5989 void __RPC_STUB IOpcFactory_CreatePartUri_Stub(
   5990     IRpcStubBuffer* This,
   5991     IRpcChannelBuffer* pRpcChannelBuffer,
   5992     PRPC_MESSAGE pRpcMessage,
   5993     DWORD* pdwStubPhase);
   5994 HRESULT STDMETHODCALLTYPE IOpcFactory_CreatePackage_Proxy(
   5995     IOpcFactory* This,
   5996     IOpcPackage **package);
   5997 void __RPC_STUB IOpcFactory_CreatePackage_Stub(
   5998     IRpcStubBuffer* This,
   5999     IRpcChannelBuffer* pRpcChannelBuffer,
   6000     PRPC_MESSAGE pRpcMessage,
   6001     DWORD* pdwStubPhase);
   6002 HRESULT STDMETHODCALLTYPE IOpcFactory_ReadPackageFromStream_Proxy(
   6003     IOpcFactory* This,
   6004     IStream *stream,
   6005     OPC_READ_FLAGS flags,
   6006     IOpcPackage **package);
   6007 void __RPC_STUB IOpcFactory_ReadPackageFromStream_Stub(
   6008     IRpcStubBuffer* This,
   6009     IRpcChannelBuffer* pRpcChannelBuffer,
   6010     PRPC_MESSAGE pRpcMessage,
   6011     DWORD* pdwStubPhase);
   6012 HRESULT STDMETHODCALLTYPE IOpcFactory_WritePackageToStream_Proxy(
   6013     IOpcFactory* This,
   6014     IOpcPackage *package,
   6015     OPC_WRITE_FLAGS flags,
   6016     IStream *stream);
   6017 void __RPC_STUB IOpcFactory_WritePackageToStream_Stub(
   6018     IRpcStubBuffer* This,
   6019     IRpcChannelBuffer* pRpcChannelBuffer,
   6020     PRPC_MESSAGE pRpcMessage,
   6021     DWORD* pdwStubPhase);
   6022 HRESULT STDMETHODCALLTYPE IOpcFactory_CreateDigitalSignatureManager_Proxy(
   6023     IOpcFactory* This,
   6024     IOpcPackage *package,
   6025     IOpcDigitalSignatureManager **signatureManager);
   6026 void __RPC_STUB IOpcFactory_CreateDigitalSignatureManager_Stub(
   6027     IRpcStubBuffer* This,
   6028     IRpcChannelBuffer* pRpcChannelBuffer,
   6029     PRPC_MESSAGE pRpcMessage,
   6030     DWORD* pdwStubPhase);
   6031 
   6032 #endif  /* __IOpcFactory_INTERFACE_DEFINED__ */
   6033 
   6034 /*****************************************************************************
   6035  * OpcFactory coclass
   6036  */
   6037 
   6038 DEFINE_GUID(CLSID_OpcFactory, 0x6b2d6ba0, 0x9f3e, 0x4f27, 0x92,0x0b, 0x31,0x3c,0xc4,0x26,0xa3,0x9e);
   6039 
   6040 #ifdef __cplusplus
   6041 class DECLSPEC_UUID("6b2d6ba0-9f3e-4f27-920b-313cc426a39e") OpcFactory;
   6042 #ifdef __CRT_UUID_DECL
   6043 __CRT_UUID_DECL(OpcFactory, 0x6b2d6ba0, 0x9f3e, 0x4f27, 0x92,0x0b, 0x31,0x3c,0xc4,0x26,0xa3,0x9e)
   6044 #endif
   6045 #endif
   6046 
   6047 #endif
   6048 #endif
   6049 /* Begin additional prototypes for all interfaces */
   6050 
   6051 
   6052 /* End additional prototypes */
   6053 
   6054 #ifdef __cplusplus
   6055 }
   6056 #endif
   6057 
   6058 #endif /* __msopc_h__ */
   6059