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