Home | History | Annotate | Download | only in include
      1 /*** Autogenerated by WIDL 1.6 from include/xpsdigitalsignature.idl - Do not edit ***/
      2 
      3 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      4 #define __REQUIRED_RPCNDR_H_VERSION__ 475
      5 #endif
      6 
      7 #include <rpc.h>
      8 #include <rpcndr.h>
      9 
     10 #ifndef COM_NO_WINDOWS_H
     11 #include <windows.h>
     12 #include <ole2.h>
     13 #endif
     14 
     15 #ifndef __xpsdigitalsignature_h__
     16 #define __xpsdigitalsignature_h__
     17 
     18 /* Forward declarations */
     19 
     20 #ifndef __IXpsSigningOptions_FWD_DEFINED__
     21 #define __IXpsSigningOptions_FWD_DEFINED__
     22 typedef interface IXpsSigningOptions IXpsSigningOptions;
     23 #endif
     24 
     25 #ifndef __IXpsSignature_FWD_DEFINED__
     26 #define __IXpsSignature_FWD_DEFINED__
     27 typedef interface IXpsSignature IXpsSignature;
     28 #endif
     29 
     30 #ifndef __IXpsSignatureBlock_FWD_DEFINED__
     31 #define __IXpsSignatureBlock_FWD_DEFINED__
     32 typedef interface IXpsSignatureBlock IXpsSignatureBlock;
     33 #endif
     34 
     35 #ifndef __IXpsSignatureBlockCollection_FWD_DEFINED__
     36 #define __IXpsSignatureBlockCollection_FWD_DEFINED__
     37 typedef interface IXpsSignatureBlockCollection IXpsSignatureBlockCollection;
     38 #endif
     39 
     40 #ifndef __IXpsSignatureCollection_FWD_DEFINED__
     41 #define __IXpsSignatureCollection_FWD_DEFINED__
     42 typedef interface IXpsSignatureCollection IXpsSignatureCollection;
     43 #endif
     44 
     45 #ifndef __IXpsSignatureManager_FWD_DEFINED__
     46 #define __IXpsSignatureManager_FWD_DEFINED__
     47 typedef interface IXpsSignatureManager IXpsSignatureManager;
     48 #endif
     49 
     50 #ifndef __IXpsSignatureRequest_FWD_DEFINED__
     51 #define __IXpsSignatureRequest_FWD_DEFINED__
     52 typedef interface IXpsSignatureRequest IXpsSignatureRequest;
     53 #endif
     54 
     55 #ifndef __IXpsSignatureRequestCollection_FWD_DEFINED__
     56 #define __IXpsSignatureRequestCollection_FWD_DEFINED__
     57 typedef interface IXpsSignatureRequestCollection IXpsSignatureRequestCollection;
     58 #endif
     59 
     60 #ifndef __XpsSignatureManager_FWD_DEFINED__
     61 #define __XpsSignatureManager_FWD_DEFINED__
     62 #ifdef __cplusplus
     63 typedef class XpsSignatureManager XpsSignatureManager;
     64 #else
     65 typedef struct XpsSignatureManager XpsSignatureManager;
     66 #endif /* defined __cplusplus */
     67 #endif /* defined __XpsSignatureManager_FWD_DEFINED__ */
     68 
     69 /* Headers for imported files */
     70 
     71 #include <oaidl.h>
     72 #include <wincrypt.h>
     73 #include <msopc.h>
     74 
     75 #ifdef __cplusplus
     76 extern "C" {
     77 #endif
     78 
     79 #include <winapifamily.h>
     80 
     81 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
     82 #if NTDDI_VERSION >= 0x06010000
     83 #define XPS_E_SIGREQUESTID_DUP  MAKE_HRESULT(1, FACILITY_XPS, 901)
     84 #define XPS_E_PACKAGE_NOT_OPENED MAKE_HRESULT(1, FACILITY_XPS, 902)
     85 #define XPS_E_PACKAGE_ALREADY_OPENED MAKE_HRESULT(1, FACILITY_XPS, 903)
     86 #define XPS_E_SIGNATUREID_DUP MAKE_HRESULT(1, FACILITY_XPS, 904)
     87 #define XPS_E_MARKUP_COMPATIBILITY_ELEMENTS MAKE_HRESULT(1, FACILITY_XPS, 905)
     88 #define XPS_E_OBJECT_DETACHED MAKE_HRESULT(1, FACILITY_XPS, 906)
     89 #define XPS_E_INVALID_SIGNATUREBLOCK_MARKUP MAKE_HRESULT(1, FACILITY_XPS, 907)
     90 
     91 DEFINE_GUID(LIBID_MSXPSSIG, 0x8223a7eb, 0xc4d5, 0x474d, 0x9b,0xcc, 0xff,0x67,0x18,0x5e,0x64,0xa0);
     92 
     93 #ifndef __IXpsSigningOptions_FWD_DEFINED__
     94 #define __IXpsSigningOptions_FWD_DEFINED__
     95 typedef interface IXpsSigningOptions IXpsSigningOptions;
     96 #endif
     97 
     98 #ifndef __IXpsSignatureCollection_FWD_DEFINED__
     99 #define __IXpsSignatureCollection_FWD_DEFINED__
    100 typedef interface IXpsSignatureCollection IXpsSignatureCollection;
    101 #endif
    102 
    103 #ifndef __IXpsSignature_FWD_DEFINED__
    104 #define __IXpsSignature_FWD_DEFINED__
    105 typedef interface IXpsSignature IXpsSignature;
    106 #endif
    107 
    108 #ifndef __IXpsSignatureBlockCollection_FWD_DEFINED__
    109 #define __IXpsSignatureBlockCollection_FWD_DEFINED__
    110 typedef interface IXpsSignatureBlockCollection IXpsSignatureBlockCollection;
    111 #endif
    112 
    113 #ifndef __IXpsSignatureBlock_FWD_DEFINED__
    114 #define __IXpsSignatureBlock_FWD_DEFINED__
    115 typedef interface IXpsSignatureBlock IXpsSignatureBlock;
    116 #endif
    117 
    118 #ifndef __IXpsSignatureRequestCollection_FWD_DEFINED__
    119 #define __IXpsSignatureRequestCollection_FWD_DEFINED__
    120 typedef interface IXpsSignatureRequestCollection IXpsSignatureRequestCollection;
    121 #endif
    122 
    123 #ifndef __IXpsSignatureRequest_FWD_DEFINED__
    124 #define __IXpsSignatureRequest_FWD_DEFINED__
    125 typedef interface IXpsSignatureRequest IXpsSignatureRequest;
    126 #endif
    127 
    128 typedef enum __WIDL_xpsdigitalsignature_generated_name_00000020 {
    129     XPS_SIGN_FLAGS_NONE = 0x0,
    130     XPS_SIGN_FLAGS_IGNORE_MARKUP_COMPATIBILITY = 0x1
    131 } XPS_SIGN_FLAGS;
    132 typedef enum __WIDL_xpsdigitalsignature_generated_name_00000021 {
    133     XPS_SIGN_POLICY_NONE = 0x0,
    134     XPS_SIGN_POLICY_CORE_PROPERTIES = 0x1,
    135     XPS_SIGN_POLICY_SIGNATURE_RELATIONSHIPS = 0x2,
    136     XPS_SIGN_POLICY_PRINT_TICKET = 0x4,
    137     XPS_SIGN_POLICY_DISCARD_CONTROL = 0x8,
    138     XPS_SIGN_POLICY_ALL = 0xf
    139 } XPS_SIGN_POLICY;
    140 typedef enum __WIDL_xpsdigitalsignature_generated_name_00000022 {
    141     XPS_SIGNATURE_STATUS_INCOMPLIANT = 1,
    142     XPS_SIGNATURE_STATUS_INCOMPLETE = 2,
    143     XPS_SIGNATURE_STATUS_BROKEN = 3,
    144     XPS_SIGNATURE_STATUS_QUESTIONABLE = 4,
    145     XPS_SIGNATURE_STATUS_VALID = 5
    146 } XPS_SIGNATURE_STATUS;
    147 DEFINE_ENUM_FLAG_OPERATORS(XPS_SIGN_FLAGS)
    148 DEFINE_ENUM_FLAG_OPERATORS(XPS_SIGN_POLICY)
    149 /*****************************************************************************
    150  * IXpsSigningOptions interface
    151  */
    152 #ifndef __IXpsSigningOptions_INTERFACE_DEFINED__
    153 #define __IXpsSigningOptions_INTERFACE_DEFINED__
    154 
    155 DEFINE_GUID(IID_IXpsSigningOptions, 0x7718eae4, 0x3215, 0x49be, 0xaf,0x5b, 0x59,0x4f,0xef,0x7f,0xcf,0xa6);
    156 #if defined(__cplusplus) && !defined(CINTERFACE)
    157 MIDL_INTERFACE("7718eae4-3215-49be-af5b-594fef7fcfa6")
    158 IXpsSigningOptions : public IUnknown
    159 {
    160     virtual HRESULT STDMETHODCALLTYPE GetSignatureId(
    161         LPWSTR *signatureId) = 0;
    162 
    163     virtual HRESULT STDMETHODCALLTYPE SetSignatureId(
    164         LPCWSTR signatureId) = 0;
    165 
    166     virtual HRESULT STDMETHODCALLTYPE GetSignatureMethod(
    167         LPWSTR *signatureMethod) = 0;
    168 
    169     virtual HRESULT STDMETHODCALLTYPE SetSignatureMethod(
    170         LPCWSTR signatureMethod) = 0;
    171 
    172     virtual HRESULT STDMETHODCALLTYPE GetDigestMethod(
    173         LPWSTR *digestMethod) = 0;
    174 
    175     virtual HRESULT STDMETHODCALLTYPE SetDigestMethod(
    176         LPCWSTR digestMethod) = 0;
    177 
    178     virtual HRESULT STDMETHODCALLTYPE GetSignaturePartName(
    179         IOpcPartUri **signaturePartName) = 0;
    180 
    181     virtual HRESULT STDMETHODCALLTYPE SetSignaturePartName(
    182         IOpcPartUri *signaturePartName) = 0;
    183 
    184     virtual HRESULT STDMETHODCALLTYPE GetPolicy(
    185         XPS_SIGN_POLICY *policy) = 0;
    186 
    187     virtual HRESULT STDMETHODCALLTYPE SetPolicy(
    188         XPS_SIGN_POLICY policy) = 0;
    189 
    190     virtual HRESULT STDMETHODCALLTYPE GetSigningTimeFormat(
    191         OPC_SIGNATURE_TIME_FORMAT *timeFormat) = 0;
    192 
    193     virtual HRESULT STDMETHODCALLTYPE SetSigningTimeFormat(
    194         OPC_SIGNATURE_TIME_FORMAT timeFormat) = 0;
    195 
    196     virtual HRESULT STDMETHODCALLTYPE GetCustomObjects(
    197         IOpcSignatureCustomObjectSet **customObjectSet) = 0;
    198 
    199     virtual HRESULT STDMETHODCALLTYPE GetCustomReferences(
    200         IOpcSignatureReferenceSet **customReferenceSet) = 0;
    201 
    202     virtual HRESULT STDMETHODCALLTYPE GetCertificateSet(
    203         IOpcCertificateSet **certificateSet) = 0;
    204 
    205     virtual HRESULT STDMETHODCALLTYPE GetFlags(
    206         XPS_SIGN_FLAGS *flags) = 0;
    207 
    208     virtual HRESULT STDMETHODCALLTYPE SetFlags(
    209         XPS_SIGN_FLAGS flags) = 0;
    210 
    211 };
    212 #ifdef __CRT_UUID_DECL
    213 __CRT_UUID_DECL(IXpsSigningOptions, 0x7718eae4, 0x3215, 0x49be, 0xaf,0x5b, 0x59,0x4f,0xef,0x7f,0xcf,0xa6)
    214 #endif
    215 #else
    216 typedef struct IXpsSigningOptionsVtbl {
    217     BEGIN_INTERFACE
    218 
    219     /*** IUnknown methods ***/
    220     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    221         IXpsSigningOptions* This,
    222         REFIID riid,
    223         void **ppvObject);
    224 
    225     ULONG (STDMETHODCALLTYPE *AddRef)(
    226         IXpsSigningOptions* This);
    227 
    228     ULONG (STDMETHODCALLTYPE *Release)(
    229         IXpsSigningOptions* This);
    230 
    231     /*** IXpsSigningOptions methods ***/
    232     HRESULT (STDMETHODCALLTYPE *GetSignatureId)(
    233         IXpsSigningOptions* This,
    234         LPWSTR *signatureId);
    235 
    236     HRESULT (STDMETHODCALLTYPE *SetSignatureId)(
    237         IXpsSigningOptions* This,
    238         LPCWSTR signatureId);
    239 
    240     HRESULT (STDMETHODCALLTYPE *GetSignatureMethod)(
    241         IXpsSigningOptions* This,
    242         LPWSTR *signatureMethod);
    243 
    244     HRESULT (STDMETHODCALLTYPE *SetSignatureMethod)(
    245         IXpsSigningOptions* This,
    246         LPCWSTR signatureMethod);
    247 
    248     HRESULT (STDMETHODCALLTYPE *GetDigestMethod)(
    249         IXpsSigningOptions* This,
    250         LPWSTR *digestMethod);
    251 
    252     HRESULT (STDMETHODCALLTYPE *SetDigestMethod)(
    253         IXpsSigningOptions* This,
    254         LPCWSTR digestMethod);
    255 
    256     HRESULT (STDMETHODCALLTYPE *GetSignaturePartName)(
    257         IXpsSigningOptions* This,
    258         IOpcPartUri **signaturePartName);
    259 
    260     HRESULT (STDMETHODCALLTYPE *SetSignaturePartName)(
    261         IXpsSigningOptions* This,
    262         IOpcPartUri *signaturePartName);
    263 
    264     HRESULT (STDMETHODCALLTYPE *GetPolicy)(
    265         IXpsSigningOptions* This,
    266         XPS_SIGN_POLICY *policy);
    267 
    268     HRESULT (STDMETHODCALLTYPE *SetPolicy)(
    269         IXpsSigningOptions* This,
    270         XPS_SIGN_POLICY policy);
    271 
    272     HRESULT (STDMETHODCALLTYPE *GetSigningTimeFormat)(
    273         IXpsSigningOptions* This,
    274         OPC_SIGNATURE_TIME_FORMAT *timeFormat);
    275 
    276     HRESULT (STDMETHODCALLTYPE *SetSigningTimeFormat)(
    277         IXpsSigningOptions* This,
    278         OPC_SIGNATURE_TIME_FORMAT timeFormat);
    279 
    280     HRESULT (STDMETHODCALLTYPE *GetCustomObjects)(
    281         IXpsSigningOptions* This,
    282         IOpcSignatureCustomObjectSet **customObjectSet);
    283 
    284     HRESULT (STDMETHODCALLTYPE *GetCustomReferences)(
    285         IXpsSigningOptions* This,
    286         IOpcSignatureReferenceSet **customReferenceSet);
    287 
    288     HRESULT (STDMETHODCALLTYPE *GetCertificateSet)(
    289         IXpsSigningOptions* This,
    290         IOpcCertificateSet **certificateSet);
    291 
    292     HRESULT (STDMETHODCALLTYPE *GetFlags)(
    293         IXpsSigningOptions* This,
    294         XPS_SIGN_FLAGS *flags);
    295 
    296     HRESULT (STDMETHODCALLTYPE *SetFlags)(
    297         IXpsSigningOptions* This,
    298         XPS_SIGN_FLAGS flags);
    299 
    300     END_INTERFACE
    301 } IXpsSigningOptionsVtbl;
    302 interface IXpsSigningOptions {
    303     CONST_VTBL IXpsSigningOptionsVtbl* lpVtbl;
    304 };
    305 
    306 #ifdef COBJMACROS
    307 #ifndef WIDL_C_INLINE_WRAPPERS
    308 /*** IUnknown methods ***/
    309 #define IXpsSigningOptions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    310 #define IXpsSigningOptions_AddRef(This) (This)->lpVtbl->AddRef(This)
    311 #define IXpsSigningOptions_Release(This) (This)->lpVtbl->Release(This)
    312 /*** IXpsSigningOptions methods ***/
    313 #define IXpsSigningOptions_GetSignatureId(This,signatureId) (This)->lpVtbl->GetSignatureId(This,signatureId)
    314 #define IXpsSigningOptions_SetSignatureId(This,signatureId) (This)->lpVtbl->SetSignatureId(This,signatureId)
    315 #define IXpsSigningOptions_GetSignatureMethod(This,signatureMethod) (This)->lpVtbl->GetSignatureMethod(This,signatureMethod)
    316 #define IXpsSigningOptions_SetSignatureMethod(This,signatureMethod) (This)->lpVtbl->SetSignatureMethod(This,signatureMethod)
    317 #define IXpsSigningOptions_GetDigestMethod(This,digestMethod) (This)->lpVtbl->GetDigestMethod(This,digestMethod)
    318 #define IXpsSigningOptions_SetDigestMethod(This,digestMethod) (This)->lpVtbl->SetDigestMethod(This,digestMethod)
    319 #define IXpsSigningOptions_GetSignaturePartName(This,signaturePartName) (This)->lpVtbl->GetSignaturePartName(This,signaturePartName)
    320 #define IXpsSigningOptions_SetSignaturePartName(This,signaturePartName) (This)->lpVtbl->SetSignaturePartName(This,signaturePartName)
    321 #define IXpsSigningOptions_GetPolicy(This,policy) (This)->lpVtbl->GetPolicy(This,policy)
    322 #define IXpsSigningOptions_SetPolicy(This,policy) (This)->lpVtbl->SetPolicy(This,policy)
    323 #define IXpsSigningOptions_GetSigningTimeFormat(This,timeFormat) (This)->lpVtbl->GetSigningTimeFormat(This,timeFormat)
    324 #define IXpsSigningOptions_SetSigningTimeFormat(This,timeFormat) (This)->lpVtbl->SetSigningTimeFormat(This,timeFormat)
    325 #define IXpsSigningOptions_GetCustomObjects(This,customObjectSet) (This)->lpVtbl->GetCustomObjects(This,customObjectSet)
    326 #define IXpsSigningOptions_GetCustomReferences(This,customReferenceSet) (This)->lpVtbl->GetCustomReferences(This,customReferenceSet)
    327 #define IXpsSigningOptions_GetCertificateSet(This,certificateSet) (This)->lpVtbl->GetCertificateSet(This,certificateSet)
    328 #define IXpsSigningOptions_GetFlags(This,flags) (This)->lpVtbl->GetFlags(This,flags)
    329 #define IXpsSigningOptions_SetFlags(This,flags) (This)->lpVtbl->SetFlags(This,flags)
    330 #else
    331 /*** IUnknown methods ***/
    332 static FORCEINLINE HRESULT IXpsSigningOptions_QueryInterface(IXpsSigningOptions* This,REFIID riid,void **ppvObject) {
    333     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    334 }
    335 static FORCEINLINE ULONG IXpsSigningOptions_AddRef(IXpsSigningOptions* This) {
    336     return This->lpVtbl->AddRef(This);
    337 }
    338 static FORCEINLINE ULONG IXpsSigningOptions_Release(IXpsSigningOptions* This) {
    339     return This->lpVtbl->Release(This);
    340 }
    341 /*** IXpsSigningOptions methods ***/
    342 static FORCEINLINE HRESULT IXpsSigningOptions_GetSignatureId(IXpsSigningOptions* This,LPWSTR *signatureId) {
    343     return This->lpVtbl->GetSignatureId(This,signatureId);
    344 }
    345 static FORCEINLINE HRESULT IXpsSigningOptions_SetSignatureId(IXpsSigningOptions* This,LPCWSTR signatureId) {
    346     return This->lpVtbl->SetSignatureId(This,signatureId);
    347 }
    348 static FORCEINLINE HRESULT IXpsSigningOptions_GetSignatureMethod(IXpsSigningOptions* This,LPWSTR *signatureMethod) {
    349     return This->lpVtbl->GetSignatureMethod(This,signatureMethod);
    350 }
    351 static FORCEINLINE HRESULT IXpsSigningOptions_SetSignatureMethod(IXpsSigningOptions* This,LPCWSTR signatureMethod) {
    352     return This->lpVtbl->SetSignatureMethod(This,signatureMethod);
    353 }
    354 static FORCEINLINE HRESULT IXpsSigningOptions_GetDigestMethod(IXpsSigningOptions* This,LPWSTR *digestMethod) {
    355     return This->lpVtbl->GetDigestMethod(This,digestMethod);
    356 }
    357 static FORCEINLINE HRESULT IXpsSigningOptions_SetDigestMethod(IXpsSigningOptions* This,LPCWSTR digestMethod) {
    358     return This->lpVtbl->SetDigestMethod(This,digestMethod);
    359 }
    360 static FORCEINLINE HRESULT IXpsSigningOptions_GetSignaturePartName(IXpsSigningOptions* This,IOpcPartUri **signaturePartName) {
    361     return This->lpVtbl->GetSignaturePartName(This,signaturePartName);
    362 }
    363 static FORCEINLINE HRESULT IXpsSigningOptions_SetSignaturePartName(IXpsSigningOptions* This,IOpcPartUri *signaturePartName) {
    364     return This->lpVtbl->SetSignaturePartName(This,signaturePartName);
    365 }
    366 static FORCEINLINE HRESULT IXpsSigningOptions_GetPolicy(IXpsSigningOptions* This,XPS_SIGN_POLICY *policy) {
    367     return This->lpVtbl->GetPolicy(This,policy);
    368 }
    369 static FORCEINLINE HRESULT IXpsSigningOptions_SetPolicy(IXpsSigningOptions* This,XPS_SIGN_POLICY policy) {
    370     return This->lpVtbl->SetPolicy(This,policy);
    371 }
    372 static FORCEINLINE HRESULT IXpsSigningOptions_GetSigningTimeFormat(IXpsSigningOptions* This,OPC_SIGNATURE_TIME_FORMAT *timeFormat) {
    373     return This->lpVtbl->GetSigningTimeFormat(This,timeFormat);
    374 }
    375 static FORCEINLINE HRESULT IXpsSigningOptions_SetSigningTimeFormat(IXpsSigningOptions* This,OPC_SIGNATURE_TIME_FORMAT timeFormat) {
    376     return This->lpVtbl->SetSigningTimeFormat(This,timeFormat);
    377 }
    378 static FORCEINLINE HRESULT IXpsSigningOptions_GetCustomObjects(IXpsSigningOptions* This,IOpcSignatureCustomObjectSet **customObjectSet) {
    379     return This->lpVtbl->GetCustomObjects(This,customObjectSet);
    380 }
    381 static FORCEINLINE HRESULT IXpsSigningOptions_GetCustomReferences(IXpsSigningOptions* This,IOpcSignatureReferenceSet **customReferenceSet) {
    382     return This->lpVtbl->GetCustomReferences(This,customReferenceSet);
    383 }
    384 static FORCEINLINE HRESULT IXpsSigningOptions_GetCertificateSet(IXpsSigningOptions* This,IOpcCertificateSet **certificateSet) {
    385     return This->lpVtbl->GetCertificateSet(This,certificateSet);
    386 }
    387 static FORCEINLINE HRESULT IXpsSigningOptions_GetFlags(IXpsSigningOptions* This,XPS_SIGN_FLAGS *flags) {
    388     return This->lpVtbl->GetFlags(This,flags);
    389 }
    390 static FORCEINLINE HRESULT IXpsSigningOptions_SetFlags(IXpsSigningOptions* This,XPS_SIGN_FLAGS flags) {
    391     return This->lpVtbl->SetFlags(This,flags);
    392 }
    393 #endif
    394 #endif
    395 
    396 #endif
    397 
    398 HRESULT STDMETHODCALLTYPE IXpsSigningOptions_GetSignatureId_Proxy(
    399     IXpsSigningOptions* This,
    400     LPWSTR *signatureId);
    401 void __RPC_STUB IXpsSigningOptions_GetSignatureId_Stub(
    402     IRpcStubBuffer* This,
    403     IRpcChannelBuffer* pRpcChannelBuffer,
    404     PRPC_MESSAGE pRpcMessage,
    405     DWORD* pdwStubPhase);
    406 HRESULT STDMETHODCALLTYPE IXpsSigningOptions_SetSignatureId_Proxy(
    407     IXpsSigningOptions* This,
    408     LPCWSTR signatureId);
    409 void __RPC_STUB IXpsSigningOptions_SetSignatureId_Stub(
    410     IRpcStubBuffer* This,
    411     IRpcChannelBuffer* pRpcChannelBuffer,
    412     PRPC_MESSAGE pRpcMessage,
    413     DWORD* pdwStubPhase);
    414 HRESULT STDMETHODCALLTYPE IXpsSigningOptions_GetSignatureMethod_Proxy(
    415     IXpsSigningOptions* This,
    416     LPWSTR *signatureMethod);
    417 void __RPC_STUB IXpsSigningOptions_GetSignatureMethod_Stub(
    418     IRpcStubBuffer* This,
    419     IRpcChannelBuffer* pRpcChannelBuffer,
    420     PRPC_MESSAGE pRpcMessage,
    421     DWORD* pdwStubPhase);
    422 HRESULT STDMETHODCALLTYPE IXpsSigningOptions_SetSignatureMethod_Proxy(
    423     IXpsSigningOptions* This,
    424     LPCWSTR signatureMethod);
    425 void __RPC_STUB IXpsSigningOptions_SetSignatureMethod_Stub(
    426     IRpcStubBuffer* This,
    427     IRpcChannelBuffer* pRpcChannelBuffer,
    428     PRPC_MESSAGE pRpcMessage,
    429     DWORD* pdwStubPhase);
    430 HRESULT STDMETHODCALLTYPE IXpsSigningOptions_GetDigestMethod_Proxy(
    431     IXpsSigningOptions* This,
    432     LPWSTR *digestMethod);
    433 void __RPC_STUB IXpsSigningOptions_GetDigestMethod_Stub(
    434     IRpcStubBuffer* This,
    435     IRpcChannelBuffer* pRpcChannelBuffer,
    436     PRPC_MESSAGE pRpcMessage,
    437     DWORD* pdwStubPhase);
    438 HRESULT STDMETHODCALLTYPE IXpsSigningOptions_SetDigestMethod_Proxy(
    439     IXpsSigningOptions* This,
    440     LPCWSTR digestMethod);
    441 void __RPC_STUB IXpsSigningOptions_SetDigestMethod_Stub(
    442     IRpcStubBuffer* This,
    443     IRpcChannelBuffer* pRpcChannelBuffer,
    444     PRPC_MESSAGE pRpcMessage,
    445     DWORD* pdwStubPhase);
    446 HRESULT STDMETHODCALLTYPE IXpsSigningOptions_GetSignaturePartName_Proxy(
    447     IXpsSigningOptions* This,
    448     IOpcPartUri **signaturePartName);
    449 void __RPC_STUB IXpsSigningOptions_GetSignaturePartName_Stub(
    450     IRpcStubBuffer* This,
    451     IRpcChannelBuffer* pRpcChannelBuffer,
    452     PRPC_MESSAGE pRpcMessage,
    453     DWORD* pdwStubPhase);
    454 HRESULT STDMETHODCALLTYPE IXpsSigningOptions_SetSignaturePartName_Proxy(
    455     IXpsSigningOptions* This,
    456     IOpcPartUri *signaturePartName);
    457 void __RPC_STUB IXpsSigningOptions_SetSignaturePartName_Stub(
    458     IRpcStubBuffer* This,
    459     IRpcChannelBuffer* pRpcChannelBuffer,
    460     PRPC_MESSAGE pRpcMessage,
    461     DWORD* pdwStubPhase);
    462 HRESULT STDMETHODCALLTYPE IXpsSigningOptions_GetPolicy_Proxy(
    463     IXpsSigningOptions* This,
    464     XPS_SIGN_POLICY *policy);
    465 void __RPC_STUB IXpsSigningOptions_GetPolicy_Stub(
    466     IRpcStubBuffer* This,
    467     IRpcChannelBuffer* pRpcChannelBuffer,
    468     PRPC_MESSAGE pRpcMessage,
    469     DWORD* pdwStubPhase);
    470 HRESULT STDMETHODCALLTYPE IXpsSigningOptions_SetPolicy_Proxy(
    471     IXpsSigningOptions* This,
    472     XPS_SIGN_POLICY policy);
    473 void __RPC_STUB IXpsSigningOptions_SetPolicy_Stub(
    474     IRpcStubBuffer* This,
    475     IRpcChannelBuffer* pRpcChannelBuffer,
    476     PRPC_MESSAGE pRpcMessage,
    477     DWORD* pdwStubPhase);
    478 HRESULT STDMETHODCALLTYPE IXpsSigningOptions_GetSigningTimeFormat_Proxy(
    479     IXpsSigningOptions* This,
    480     OPC_SIGNATURE_TIME_FORMAT *timeFormat);
    481 void __RPC_STUB IXpsSigningOptions_GetSigningTimeFormat_Stub(
    482     IRpcStubBuffer* This,
    483     IRpcChannelBuffer* pRpcChannelBuffer,
    484     PRPC_MESSAGE pRpcMessage,
    485     DWORD* pdwStubPhase);
    486 HRESULT STDMETHODCALLTYPE IXpsSigningOptions_SetSigningTimeFormat_Proxy(
    487     IXpsSigningOptions* This,
    488     OPC_SIGNATURE_TIME_FORMAT timeFormat);
    489 void __RPC_STUB IXpsSigningOptions_SetSigningTimeFormat_Stub(
    490     IRpcStubBuffer* This,
    491     IRpcChannelBuffer* pRpcChannelBuffer,
    492     PRPC_MESSAGE pRpcMessage,
    493     DWORD* pdwStubPhase);
    494 HRESULT STDMETHODCALLTYPE IXpsSigningOptions_GetCustomObjects_Proxy(
    495     IXpsSigningOptions* This,
    496     IOpcSignatureCustomObjectSet **customObjectSet);
    497 void __RPC_STUB IXpsSigningOptions_GetCustomObjects_Stub(
    498     IRpcStubBuffer* This,
    499     IRpcChannelBuffer* pRpcChannelBuffer,
    500     PRPC_MESSAGE pRpcMessage,
    501     DWORD* pdwStubPhase);
    502 HRESULT STDMETHODCALLTYPE IXpsSigningOptions_GetCustomReferences_Proxy(
    503     IXpsSigningOptions* This,
    504     IOpcSignatureReferenceSet **customReferenceSet);
    505 void __RPC_STUB IXpsSigningOptions_GetCustomReferences_Stub(
    506     IRpcStubBuffer* This,
    507     IRpcChannelBuffer* pRpcChannelBuffer,
    508     PRPC_MESSAGE pRpcMessage,
    509     DWORD* pdwStubPhase);
    510 HRESULT STDMETHODCALLTYPE IXpsSigningOptions_GetCertificateSet_Proxy(
    511     IXpsSigningOptions* This,
    512     IOpcCertificateSet **certificateSet);
    513 void __RPC_STUB IXpsSigningOptions_GetCertificateSet_Stub(
    514     IRpcStubBuffer* This,
    515     IRpcChannelBuffer* pRpcChannelBuffer,
    516     PRPC_MESSAGE pRpcMessage,
    517     DWORD* pdwStubPhase);
    518 HRESULT STDMETHODCALLTYPE IXpsSigningOptions_GetFlags_Proxy(
    519     IXpsSigningOptions* This,
    520     XPS_SIGN_FLAGS *flags);
    521 void __RPC_STUB IXpsSigningOptions_GetFlags_Stub(
    522     IRpcStubBuffer* This,
    523     IRpcChannelBuffer* pRpcChannelBuffer,
    524     PRPC_MESSAGE pRpcMessage,
    525     DWORD* pdwStubPhase);
    526 HRESULT STDMETHODCALLTYPE IXpsSigningOptions_SetFlags_Proxy(
    527     IXpsSigningOptions* This,
    528     XPS_SIGN_FLAGS flags);
    529 void __RPC_STUB IXpsSigningOptions_SetFlags_Stub(
    530     IRpcStubBuffer* This,
    531     IRpcChannelBuffer* pRpcChannelBuffer,
    532     PRPC_MESSAGE pRpcMessage,
    533     DWORD* pdwStubPhase);
    534 
    535 #endif  /* __IXpsSigningOptions_INTERFACE_DEFINED__ */
    536 
    537 /*****************************************************************************
    538  * IXpsSignature interface
    539  */
    540 #ifndef __IXpsSignature_INTERFACE_DEFINED__
    541 #define __IXpsSignature_INTERFACE_DEFINED__
    542 
    543 DEFINE_GUID(IID_IXpsSignature, 0x6ae4c93e, 0x1ade, 0x42fb, 0x89,0x8b, 0x3a,0x56,0x58,0x28,0x48,0x57);
    544 #if defined(__cplusplus) && !defined(CINTERFACE)
    545 MIDL_INTERFACE("6ae4c93e-1ade-42fb-898b-3a5658284857")
    546 IXpsSignature : public IUnknown
    547 {
    548     virtual HRESULT STDMETHODCALLTYPE GetSignatureId(
    549         LPWSTR *sigId) = 0;
    550 
    551     virtual HRESULT STDMETHODCALLTYPE GetSignatureValue(
    552         UINT8 **signatureHashValue,
    553         UINT32 *count) = 0;
    554 
    555     virtual HRESULT STDMETHODCALLTYPE GetCertificateEnumerator(
    556         IOpcCertificateEnumerator **certificateEnumerator) = 0;
    557 
    558     virtual HRESULT STDMETHODCALLTYPE GetSigningTime(
    559         LPWSTR *sigDateTimeString) = 0;
    560 
    561     virtual HRESULT STDMETHODCALLTYPE GetSigningTimeFormat(
    562         OPC_SIGNATURE_TIME_FORMAT *timeFormat) = 0;
    563 
    564     virtual HRESULT STDMETHODCALLTYPE GetSignaturePartName(
    565         IOpcPartUri **signaturePartName) = 0;
    566 
    567     virtual HRESULT STDMETHODCALLTYPE Verify(
    568         const CERT_CONTEXT *x509Certificate,
    569         XPS_SIGNATURE_STATUS *sigStatus) = 0;
    570 
    571     virtual HRESULT STDMETHODCALLTYPE GetPolicy(
    572         XPS_SIGN_POLICY *policy) = 0;
    573 
    574     virtual HRESULT STDMETHODCALLTYPE GetCustomObjectEnumerator(
    575         IOpcSignatureCustomObjectEnumerator **customObjectEnumerator) = 0;
    576 
    577     virtual HRESULT STDMETHODCALLTYPE GetCustomReferenceEnumerator(
    578         IOpcSignatureReferenceEnumerator **customReferenceEnumerator) = 0;
    579 
    580     virtual HRESULT STDMETHODCALLTYPE GetSignatureXml(
    581         UINT8 **signatureXml,
    582         UINT32 *count) = 0;
    583 
    584     virtual HRESULT STDMETHODCALLTYPE SetSignatureXml(
    585         const UINT8 *signatureXml,
    586         UINT32 count) = 0;
    587 
    588 };
    589 #ifdef __CRT_UUID_DECL
    590 __CRT_UUID_DECL(IXpsSignature, 0x6ae4c93e, 0x1ade, 0x42fb, 0x89,0x8b, 0x3a,0x56,0x58,0x28,0x48,0x57)
    591 #endif
    592 #else
    593 typedef struct IXpsSignatureVtbl {
    594     BEGIN_INTERFACE
    595 
    596     /*** IUnknown methods ***/
    597     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    598         IXpsSignature* This,
    599         REFIID riid,
    600         void **ppvObject);
    601 
    602     ULONG (STDMETHODCALLTYPE *AddRef)(
    603         IXpsSignature* This);
    604 
    605     ULONG (STDMETHODCALLTYPE *Release)(
    606         IXpsSignature* This);
    607 
    608     /*** IXpsSignature methods ***/
    609     HRESULT (STDMETHODCALLTYPE *GetSignatureId)(
    610         IXpsSignature* This,
    611         LPWSTR *sigId);
    612 
    613     HRESULT (STDMETHODCALLTYPE *GetSignatureValue)(
    614         IXpsSignature* This,
    615         UINT8 **signatureHashValue,
    616         UINT32 *count);
    617 
    618     HRESULT (STDMETHODCALLTYPE *GetCertificateEnumerator)(
    619         IXpsSignature* This,
    620         IOpcCertificateEnumerator **certificateEnumerator);
    621 
    622     HRESULT (STDMETHODCALLTYPE *GetSigningTime)(
    623         IXpsSignature* This,
    624         LPWSTR *sigDateTimeString);
    625 
    626     HRESULT (STDMETHODCALLTYPE *GetSigningTimeFormat)(
    627         IXpsSignature* This,
    628         OPC_SIGNATURE_TIME_FORMAT *timeFormat);
    629 
    630     HRESULT (STDMETHODCALLTYPE *GetSignaturePartName)(
    631         IXpsSignature* This,
    632         IOpcPartUri **signaturePartName);
    633 
    634     HRESULT (STDMETHODCALLTYPE *Verify)(
    635         IXpsSignature* This,
    636         const CERT_CONTEXT *x509Certificate,
    637         XPS_SIGNATURE_STATUS *sigStatus);
    638 
    639     HRESULT (STDMETHODCALLTYPE *GetPolicy)(
    640         IXpsSignature* This,
    641         XPS_SIGN_POLICY *policy);
    642 
    643     HRESULT (STDMETHODCALLTYPE *GetCustomObjectEnumerator)(
    644         IXpsSignature* This,
    645         IOpcSignatureCustomObjectEnumerator **customObjectEnumerator);
    646 
    647     HRESULT (STDMETHODCALLTYPE *GetCustomReferenceEnumerator)(
    648         IXpsSignature* This,
    649         IOpcSignatureReferenceEnumerator **customReferenceEnumerator);
    650 
    651     HRESULT (STDMETHODCALLTYPE *GetSignatureXml)(
    652         IXpsSignature* This,
    653         UINT8 **signatureXml,
    654         UINT32 *count);
    655 
    656     HRESULT (STDMETHODCALLTYPE *SetSignatureXml)(
    657         IXpsSignature* This,
    658         const UINT8 *signatureXml,
    659         UINT32 count);
    660 
    661     END_INTERFACE
    662 } IXpsSignatureVtbl;
    663 interface IXpsSignature {
    664     CONST_VTBL IXpsSignatureVtbl* lpVtbl;
    665 };
    666 
    667 #ifdef COBJMACROS
    668 #ifndef WIDL_C_INLINE_WRAPPERS
    669 /*** IUnknown methods ***/
    670 #define IXpsSignature_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    671 #define IXpsSignature_AddRef(This) (This)->lpVtbl->AddRef(This)
    672 #define IXpsSignature_Release(This) (This)->lpVtbl->Release(This)
    673 /*** IXpsSignature methods ***/
    674 #define IXpsSignature_GetSignatureId(This,sigId) (This)->lpVtbl->GetSignatureId(This,sigId)
    675 #define IXpsSignature_GetSignatureValue(This,signatureHashValue,count) (This)->lpVtbl->GetSignatureValue(This,signatureHashValue,count)
    676 #define IXpsSignature_GetCertificateEnumerator(This,certificateEnumerator) (This)->lpVtbl->GetCertificateEnumerator(This,certificateEnumerator)
    677 #define IXpsSignature_GetSigningTime(This,sigDateTimeString) (This)->lpVtbl->GetSigningTime(This,sigDateTimeString)
    678 #define IXpsSignature_GetSigningTimeFormat(This,timeFormat) (This)->lpVtbl->GetSigningTimeFormat(This,timeFormat)
    679 #define IXpsSignature_GetSignaturePartName(This,signaturePartName) (This)->lpVtbl->GetSignaturePartName(This,signaturePartName)
    680 #define IXpsSignature_Verify(This,x509Certificate,sigStatus) (This)->lpVtbl->Verify(This,x509Certificate,sigStatus)
    681 #define IXpsSignature_GetPolicy(This,policy) (This)->lpVtbl->GetPolicy(This,policy)
    682 #define IXpsSignature_GetCustomObjectEnumerator(This,customObjectEnumerator) (This)->lpVtbl->GetCustomObjectEnumerator(This,customObjectEnumerator)
    683 #define IXpsSignature_GetCustomReferenceEnumerator(This,customReferenceEnumerator) (This)->lpVtbl->GetCustomReferenceEnumerator(This,customReferenceEnumerator)
    684 #define IXpsSignature_GetSignatureXml(This,signatureXml,count) (This)->lpVtbl->GetSignatureXml(This,signatureXml,count)
    685 #define IXpsSignature_SetSignatureXml(This,signatureXml,count) (This)->lpVtbl->SetSignatureXml(This,signatureXml,count)
    686 #else
    687 /*** IUnknown methods ***/
    688 static FORCEINLINE HRESULT IXpsSignature_QueryInterface(IXpsSignature* This,REFIID riid,void **ppvObject) {
    689     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    690 }
    691 static FORCEINLINE ULONG IXpsSignature_AddRef(IXpsSignature* This) {
    692     return This->lpVtbl->AddRef(This);
    693 }
    694 static FORCEINLINE ULONG IXpsSignature_Release(IXpsSignature* This) {
    695     return This->lpVtbl->Release(This);
    696 }
    697 /*** IXpsSignature methods ***/
    698 static FORCEINLINE HRESULT IXpsSignature_GetSignatureId(IXpsSignature* This,LPWSTR *sigId) {
    699     return This->lpVtbl->GetSignatureId(This,sigId);
    700 }
    701 static FORCEINLINE HRESULT IXpsSignature_GetSignatureValue(IXpsSignature* This,UINT8 **signatureHashValue,UINT32 *count) {
    702     return This->lpVtbl->GetSignatureValue(This,signatureHashValue,count);
    703 }
    704 static FORCEINLINE HRESULT IXpsSignature_GetCertificateEnumerator(IXpsSignature* This,IOpcCertificateEnumerator **certificateEnumerator) {
    705     return This->lpVtbl->GetCertificateEnumerator(This,certificateEnumerator);
    706 }
    707 static FORCEINLINE HRESULT IXpsSignature_GetSigningTime(IXpsSignature* This,LPWSTR *sigDateTimeString) {
    708     return This->lpVtbl->GetSigningTime(This,sigDateTimeString);
    709 }
    710 static FORCEINLINE HRESULT IXpsSignature_GetSigningTimeFormat(IXpsSignature* This,OPC_SIGNATURE_TIME_FORMAT *timeFormat) {
    711     return This->lpVtbl->GetSigningTimeFormat(This,timeFormat);
    712 }
    713 static FORCEINLINE HRESULT IXpsSignature_GetSignaturePartName(IXpsSignature* This,IOpcPartUri **signaturePartName) {
    714     return This->lpVtbl->GetSignaturePartName(This,signaturePartName);
    715 }
    716 static FORCEINLINE HRESULT IXpsSignature_Verify(IXpsSignature* This,const CERT_CONTEXT *x509Certificate,XPS_SIGNATURE_STATUS *sigStatus) {
    717     return This->lpVtbl->Verify(This,x509Certificate,sigStatus);
    718 }
    719 static FORCEINLINE HRESULT IXpsSignature_GetPolicy(IXpsSignature* This,XPS_SIGN_POLICY *policy) {
    720     return This->lpVtbl->GetPolicy(This,policy);
    721 }
    722 static FORCEINLINE HRESULT IXpsSignature_GetCustomObjectEnumerator(IXpsSignature* This,IOpcSignatureCustomObjectEnumerator **customObjectEnumerator) {
    723     return This->lpVtbl->GetCustomObjectEnumerator(This,customObjectEnumerator);
    724 }
    725 static FORCEINLINE HRESULT IXpsSignature_GetCustomReferenceEnumerator(IXpsSignature* This,IOpcSignatureReferenceEnumerator **customReferenceEnumerator) {
    726     return This->lpVtbl->GetCustomReferenceEnumerator(This,customReferenceEnumerator);
    727 }
    728 static FORCEINLINE HRESULT IXpsSignature_GetSignatureXml(IXpsSignature* This,UINT8 **signatureXml,UINT32 *count) {
    729     return This->lpVtbl->GetSignatureXml(This,signatureXml,count);
    730 }
    731 static FORCEINLINE HRESULT IXpsSignature_SetSignatureXml(IXpsSignature* This,const UINT8 *signatureXml,UINT32 count) {
    732     return This->lpVtbl->SetSignatureXml(This,signatureXml,count);
    733 }
    734 #endif
    735 #endif
    736 
    737 #endif
    738 
    739 HRESULT STDMETHODCALLTYPE IXpsSignature_GetSignatureId_Proxy(
    740     IXpsSignature* This,
    741     LPWSTR *sigId);
    742 void __RPC_STUB IXpsSignature_GetSignatureId_Stub(
    743     IRpcStubBuffer* This,
    744     IRpcChannelBuffer* pRpcChannelBuffer,
    745     PRPC_MESSAGE pRpcMessage,
    746     DWORD* pdwStubPhase);
    747 HRESULT STDMETHODCALLTYPE IXpsSignature_GetSignatureValue_Proxy(
    748     IXpsSignature* This,
    749     UINT8 **signatureHashValue,
    750     UINT32 *count);
    751 void __RPC_STUB IXpsSignature_GetSignatureValue_Stub(
    752     IRpcStubBuffer* This,
    753     IRpcChannelBuffer* pRpcChannelBuffer,
    754     PRPC_MESSAGE pRpcMessage,
    755     DWORD* pdwStubPhase);
    756 HRESULT STDMETHODCALLTYPE IXpsSignature_GetCertificateEnumerator_Proxy(
    757     IXpsSignature* This,
    758     IOpcCertificateEnumerator **certificateEnumerator);
    759 void __RPC_STUB IXpsSignature_GetCertificateEnumerator_Stub(
    760     IRpcStubBuffer* This,
    761     IRpcChannelBuffer* pRpcChannelBuffer,
    762     PRPC_MESSAGE pRpcMessage,
    763     DWORD* pdwStubPhase);
    764 HRESULT STDMETHODCALLTYPE IXpsSignature_GetSigningTime_Proxy(
    765     IXpsSignature* This,
    766     LPWSTR *sigDateTimeString);
    767 void __RPC_STUB IXpsSignature_GetSigningTime_Stub(
    768     IRpcStubBuffer* This,
    769     IRpcChannelBuffer* pRpcChannelBuffer,
    770     PRPC_MESSAGE pRpcMessage,
    771     DWORD* pdwStubPhase);
    772 HRESULT STDMETHODCALLTYPE IXpsSignature_GetSigningTimeFormat_Proxy(
    773     IXpsSignature* This,
    774     OPC_SIGNATURE_TIME_FORMAT *timeFormat);
    775 void __RPC_STUB IXpsSignature_GetSigningTimeFormat_Stub(
    776     IRpcStubBuffer* This,
    777     IRpcChannelBuffer* pRpcChannelBuffer,
    778     PRPC_MESSAGE pRpcMessage,
    779     DWORD* pdwStubPhase);
    780 HRESULT STDMETHODCALLTYPE IXpsSignature_GetSignaturePartName_Proxy(
    781     IXpsSignature* This,
    782     IOpcPartUri **signaturePartName);
    783 void __RPC_STUB IXpsSignature_GetSignaturePartName_Stub(
    784     IRpcStubBuffer* This,
    785     IRpcChannelBuffer* pRpcChannelBuffer,
    786     PRPC_MESSAGE pRpcMessage,
    787     DWORD* pdwStubPhase);
    788 HRESULT STDMETHODCALLTYPE IXpsSignature_Verify_Proxy(
    789     IXpsSignature* This,
    790     const CERT_CONTEXT *x509Certificate,
    791     XPS_SIGNATURE_STATUS *sigStatus);
    792 void __RPC_STUB IXpsSignature_Verify_Stub(
    793     IRpcStubBuffer* This,
    794     IRpcChannelBuffer* pRpcChannelBuffer,
    795     PRPC_MESSAGE pRpcMessage,
    796     DWORD* pdwStubPhase);
    797 HRESULT STDMETHODCALLTYPE IXpsSignature_GetPolicy_Proxy(
    798     IXpsSignature* This,
    799     XPS_SIGN_POLICY *policy);
    800 void __RPC_STUB IXpsSignature_GetPolicy_Stub(
    801     IRpcStubBuffer* This,
    802     IRpcChannelBuffer* pRpcChannelBuffer,
    803     PRPC_MESSAGE pRpcMessage,
    804     DWORD* pdwStubPhase);
    805 HRESULT STDMETHODCALLTYPE IXpsSignature_GetCustomObjectEnumerator_Proxy(
    806     IXpsSignature* This,
    807     IOpcSignatureCustomObjectEnumerator **customObjectEnumerator);
    808 void __RPC_STUB IXpsSignature_GetCustomObjectEnumerator_Stub(
    809     IRpcStubBuffer* This,
    810     IRpcChannelBuffer* pRpcChannelBuffer,
    811     PRPC_MESSAGE pRpcMessage,
    812     DWORD* pdwStubPhase);
    813 HRESULT STDMETHODCALLTYPE IXpsSignature_GetCustomReferenceEnumerator_Proxy(
    814     IXpsSignature* This,
    815     IOpcSignatureReferenceEnumerator **customReferenceEnumerator);
    816 void __RPC_STUB IXpsSignature_GetCustomReferenceEnumerator_Stub(
    817     IRpcStubBuffer* This,
    818     IRpcChannelBuffer* pRpcChannelBuffer,
    819     PRPC_MESSAGE pRpcMessage,
    820     DWORD* pdwStubPhase);
    821 HRESULT STDMETHODCALLTYPE IXpsSignature_GetSignatureXml_Proxy(
    822     IXpsSignature* This,
    823     UINT8 **signatureXml,
    824     UINT32 *count);
    825 void __RPC_STUB IXpsSignature_GetSignatureXml_Stub(
    826     IRpcStubBuffer* This,
    827     IRpcChannelBuffer* pRpcChannelBuffer,
    828     PRPC_MESSAGE pRpcMessage,
    829     DWORD* pdwStubPhase);
    830 HRESULT STDMETHODCALLTYPE IXpsSignature_SetSignatureXml_Proxy(
    831     IXpsSignature* This,
    832     const UINT8 *signatureXml,
    833     UINT32 count);
    834 void __RPC_STUB IXpsSignature_SetSignatureXml_Stub(
    835     IRpcStubBuffer* This,
    836     IRpcChannelBuffer* pRpcChannelBuffer,
    837     PRPC_MESSAGE pRpcMessage,
    838     DWORD* pdwStubPhase);
    839 
    840 #endif  /* __IXpsSignature_INTERFACE_DEFINED__ */
    841 
    842 /*****************************************************************************
    843  * IXpsSignatureBlock interface
    844  */
    845 #ifndef __IXpsSignatureBlock_INTERFACE_DEFINED__
    846 #define __IXpsSignatureBlock_INTERFACE_DEFINED__
    847 
    848 DEFINE_GUID(IID_IXpsSignatureBlock, 0x151fac09, 0x0b97, 0x4ac6, 0xa3,0x23, 0x5e,0x42,0x97,0xd4,0x32,0x2b);
    849 #if defined(__cplusplus) && !defined(CINTERFACE)
    850 MIDL_INTERFACE("151fac09-0b97-4ac6-a323-5e4297d4322b")
    851 IXpsSignatureBlock : public IUnknown
    852 {
    853     virtual HRESULT STDMETHODCALLTYPE GetRequests(
    854         IXpsSignatureRequestCollection **requests) = 0;
    855 
    856     virtual HRESULT STDMETHODCALLTYPE GetPartName(
    857         IOpcPartUri **partName) = 0;
    858 
    859     virtual HRESULT STDMETHODCALLTYPE GetDocumentIndex(
    860         UINT32 *fixedDocumentIndex) = 0;
    861 
    862     virtual HRESULT STDMETHODCALLTYPE GetDocumentName(
    863         IOpcPartUri **fixedDocumentName) = 0;
    864 
    865     virtual HRESULT STDMETHODCALLTYPE CreateRequest(
    866         LPCWSTR requestId,
    867         IXpsSignatureRequest **signatureRequest) = 0;
    868 
    869 };
    870 #ifdef __CRT_UUID_DECL
    871 __CRT_UUID_DECL(IXpsSignatureBlock, 0x151fac09, 0x0b97, 0x4ac6, 0xa3,0x23, 0x5e,0x42,0x97,0xd4,0x32,0x2b)
    872 #endif
    873 #else
    874 typedef struct IXpsSignatureBlockVtbl {
    875     BEGIN_INTERFACE
    876 
    877     /*** IUnknown methods ***/
    878     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    879         IXpsSignatureBlock* This,
    880         REFIID riid,
    881         void **ppvObject);
    882 
    883     ULONG (STDMETHODCALLTYPE *AddRef)(
    884         IXpsSignatureBlock* This);
    885 
    886     ULONG (STDMETHODCALLTYPE *Release)(
    887         IXpsSignatureBlock* This);
    888 
    889     /*** IXpsSignatureBlock methods ***/
    890     HRESULT (STDMETHODCALLTYPE *GetRequests)(
    891         IXpsSignatureBlock* This,
    892         IXpsSignatureRequestCollection **requests);
    893 
    894     HRESULT (STDMETHODCALLTYPE *GetPartName)(
    895         IXpsSignatureBlock* This,
    896         IOpcPartUri **partName);
    897 
    898     HRESULT (STDMETHODCALLTYPE *GetDocumentIndex)(
    899         IXpsSignatureBlock* This,
    900         UINT32 *fixedDocumentIndex);
    901 
    902     HRESULT (STDMETHODCALLTYPE *GetDocumentName)(
    903         IXpsSignatureBlock* This,
    904         IOpcPartUri **fixedDocumentName);
    905 
    906     HRESULT (STDMETHODCALLTYPE *CreateRequest)(
    907         IXpsSignatureBlock* This,
    908         LPCWSTR requestId,
    909         IXpsSignatureRequest **signatureRequest);
    910 
    911     END_INTERFACE
    912 } IXpsSignatureBlockVtbl;
    913 interface IXpsSignatureBlock {
    914     CONST_VTBL IXpsSignatureBlockVtbl* lpVtbl;
    915 };
    916 
    917 #ifdef COBJMACROS
    918 #ifndef WIDL_C_INLINE_WRAPPERS
    919 /*** IUnknown methods ***/
    920 #define IXpsSignatureBlock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    921 #define IXpsSignatureBlock_AddRef(This) (This)->lpVtbl->AddRef(This)
    922 #define IXpsSignatureBlock_Release(This) (This)->lpVtbl->Release(This)
    923 /*** IXpsSignatureBlock methods ***/
    924 #define IXpsSignatureBlock_GetRequests(This,requests) (This)->lpVtbl->GetRequests(This,requests)
    925 #define IXpsSignatureBlock_GetPartName(This,partName) (This)->lpVtbl->GetPartName(This,partName)
    926 #define IXpsSignatureBlock_GetDocumentIndex(This,fixedDocumentIndex) (This)->lpVtbl->GetDocumentIndex(This,fixedDocumentIndex)
    927 #define IXpsSignatureBlock_GetDocumentName(This,fixedDocumentName) (This)->lpVtbl->GetDocumentName(This,fixedDocumentName)
    928 #define IXpsSignatureBlock_CreateRequest(This,requestId,signatureRequest) (This)->lpVtbl->CreateRequest(This,requestId,signatureRequest)
    929 #else
    930 /*** IUnknown methods ***/
    931 static FORCEINLINE HRESULT IXpsSignatureBlock_QueryInterface(IXpsSignatureBlock* This,REFIID riid,void **ppvObject) {
    932     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    933 }
    934 static FORCEINLINE ULONG IXpsSignatureBlock_AddRef(IXpsSignatureBlock* This) {
    935     return This->lpVtbl->AddRef(This);
    936 }
    937 static FORCEINLINE ULONG IXpsSignatureBlock_Release(IXpsSignatureBlock* This) {
    938     return This->lpVtbl->Release(This);
    939 }
    940 /*** IXpsSignatureBlock methods ***/
    941 static FORCEINLINE HRESULT IXpsSignatureBlock_GetRequests(IXpsSignatureBlock* This,IXpsSignatureRequestCollection **requests) {
    942     return This->lpVtbl->GetRequests(This,requests);
    943 }
    944 static FORCEINLINE HRESULT IXpsSignatureBlock_GetPartName(IXpsSignatureBlock* This,IOpcPartUri **partName) {
    945     return This->lpVtbl->GetPartName(This,partName);
    946 }
    947 static FORCEINLINE HRESULT IXpsSignatureBlock_GetDocumentIndex(IXpsSignatureBlock* This,UINT32 *fixedDocumentIndex) {
    948     return This->lpVtbl->GetDocumentIndex(This,fixedDocumentIndex);
    949 }
    950 static FORCEINLINE HRESULT IXpsSignatureBlock_GetDocumentName(IXpsSignatureBlock* This,IOpcPartUri **fixedDocumentName) {
    951     return This->lpVtbl->GetDocumentName(This,fixedDocumentName);
    952 }
    953 static FORCEINLINE HRESULT IXpsSignatureBlock_CreateRequest(IXpsSignatureBlock* This,LPCWSTR requestId,IXpsSignatureRequest **signatureRequest) {
    954     return This->lpVtbl->CreateRequest(This,requestId,signatureRequest);
    955 }
    956 #endif
    957 #endif
    958 
    959 #endif
    960 
    961 HRESULT STDMETHODCALLTYPE IXpsSignatureBlock_GetRequests_Proxy(
    962     IXpsSignatureBlock* This,
    963     IXpsSignatureRequestCollection **requests);
    964 void __RPC_STUB IXpsSignatureBlock_GetRequests_Stub(
    965     IRpcStubBuffer* This,
    966     IRpcChannelBuffer* pRpcChannelBuffer,
    967     PRPC_MESSAGE pRpcMessage,
    968     DWORD* pdwStubPhase);
    969 HRESULT STDMETHODCALLTYPE IXpsSignatureBlock_GetPartName_Proxy(
    970     IXpsSignatureBlock* This,
    971     IOpcPartUri **partName);
    972 void __RPC_STUB IXpsSignatureBlock_GetPartName_Stub(
    973     IRpcStubBuffer* This,
    974     IRpcChannelBuffer* pRpcChannelBuffer,
    975     PRPC_MESSAGE pRpcMessage,
    976     DWORD* pdwStubPhase);
    977 HRESULT STDMETHODCALLTYPE IXpsSignatureBlock_GetDocumentIndex_Proxy(
    978     IXpsSignatureBlock* This,
    979     UINT32 *fixedDocumentIndex);
    980 void __RPC_STUB IXpsSignatureBlock_GetDocumentIndex_Stub(
    981     IRpcStubBuffer* This,
    982     IRpcChannelBuffer* pRpcChannelBuffer,
    983     PRPC_MESSAGE pRpcMessage,
    984     DWORD* pdwStubPhase);
    985 HRESULT STDMETHODCALLTYPE IXpsSignatureBlock_GetDocumentName_Proxy(
    986     IXpsSignatureBlock* This,
    987     IOpcPartUri **fixedDocumentName);
    988 void __RPC_STUB IXpsSignatureBlock_GetDocumentName_Stub(
    989     IRpcStubBuffer* This,
    990     IRpcChannelBuffer* pRpcChannelBuffer,
    991     PRPC_MESSAGE pRpcMessage,
    992     DWORD* pdwStubPhase);
    993 HRESULT STDMETHODCALLTYPE IXpsSignatureBlock_CreateRequest_Proxy(
    994     IXpsSignatureBlock* This,
    995     LPCWSTR requestId,
    996     IXpsSignatureRequest **signatureRequest);
    997 void __RPC_STUB IXpsSignatureBlock_CreateRequest_Stub(
    998     IRpcStubBuffer* This,
    999     IRpcChannelBuffer* pRpcChannelBuffer,
   1000     PRPC_MESSAGE pRpcMessage,
   1001     DWORD* pdwStubPhase);
   1002 
   1003 #endif  /* __IXpsSignatureBlock_INTERFACE_DEFINED__ */
   1004 
   1005 /*****************************************************************************
   1006  * IXpsSignatureBlockCollection interface
   1007  */
   1008 #ifndef __IXpsSignatureBlockCollection_INTERFACE_DEFINED__
   1009 #define __IXpsSignatureBlockCollection_INTERFACE_DEFINED__
   1010 
   1011 DEFINE_GUID(IID_IXpsSignatureBlockCollection, 0x23397050, 0xfe99, 0x467a, 0x8d,0xce, 0x92,0x37,0xf0,0x74,0xff,0xe4);
   1012 #if defined(__cplusplus) && !defined(CINTERFACE)
   1013 MIDL_INTERFACE("23397050-fe99-467a-8dce-9237f074ffe4")
   1014 IXpsSignatureBlockCollection : public IUnknown
   1015 {
   1016     virtual HRESULT STDMETHODCALLTYPE GetCount(
   1017         UINT32 *count) = 0;
   1018 
   1019     virtual HRESULT STDMETHODCALLTYPE GetAt(
   1020         UINT32 index,
   1021         IXpsSignatureBlock **signatureBlock) = 0;
   1022 
   1023     virtual HRESULT STDMETHODCALLTYPE RemoveAt(
   1024         UINT32 index) = 0;
   1025 
   1026 };
   1027 #ifdef __CRT_UUID_DECL
   1028 __CRT_UUID_DECL(IXpsSignatureBlockCollection, 0x23397050, 0xfe99, 0x467a, 0x8d,0xce, 0x92,0x37,0xf0,0x74,0xff,0xe4)
   1029 #endif
   1030 #else
   1031 typedef struct IXpsSignatureBlockCollectionVtbl {
   1032     BEGIN_INTERFACE
   1033 
   1034     /*** IUnknown methods ***/
   1035     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1036         IXpsSignatureBlockCollection* This,
   1037         REFIID riid,
   1038         void **ppvObject);
   1039 
   1040     ULONG (STDMETHODCALLTYPE *AddRef)(
   1041         IXpsSignatureBlockCollection* This);
   1042 
   1043     ULONG (STDMETHODCALLTYPE *Release)(
   1044         IXpsSignatureBlockCollection* This);
   1045 
   1046     /*** IXpsSignatureBlockCollection methods ***/
   1047     HRESULT (STDMETHODCALLTYPE *GetCount)(
   1048         IXpsSignatureBlockCollection* This,
   1049         UINT32 *count);
   1050 
   1051     HRESULT (STDMETHODCALLTYPE *GetAt)(
   1052         IXpsSignatureBlockCollection* This,
   1053         UINT32 index,
   1054         IXpsSignatureBlock **signatureBlock);
   1055 
   1056     HRESULT (STDMETHODCALLTYPE *RemoveAt)(
   1057         IXpsSignatureBlockCollection* This,
   1058         UINT32 index);
   1059 
   1060     END_INTERFACE
   1061 } IXpsSignatureBlockCollectionVtbl;
   1062 interface IXpsSignatureBlockCollection {
   1063     CONST_VTBL IXpsSignatureBlockCollectionVtbl* lpVtbl;
   1064 };
   1065 
   1066 #ifdef COBJMACROS
   1067 #ifndef WIDL_C_INLINE_WRAPPERS
   1068 /*** IUnknown methods ***/
   1069 #define IXpsSignatureBlockCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1070 #define IXpsSignatureBlockCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
   1071 #define IXpsSignatureBlockCollection_Release(This) (This)->lpVtbl->Release(This)
   1072 /*** IXpsSignatureBlockCollection methods ***/
   1073 #define IXpsSignatureBlockCollection_GetCount(This,count) (This)->lpVtbl->GetCount(This,count)
   1074 #define IXpsSignatureBlockCollection_GetAt(This,index,signatureBlock) (This)->lpVtbl->GetAt(This,index,signatureBlock)
   1075 #define IXpsSignatureBlockCollection_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index)
   1076 #else
   1077 /*** IUnknown methods ***/
   1078 static FORCEINLINE HRESULT IXpsSignatureBlockCollection_QueryInterface(IXpsSignatureBlockCollection* This,REFIID riid,void **ppvObject) {
   1079     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1080 }
   1081 static FORCEINLINE ULONG IXpsSignatureBlockCollection_AddRef(IXpsSignatureBlockCollection* This) {
   1082     return This->lpVtbl->AddRef(This);
   1083 }
   1084 static FORCEINLINE ULONG IXpsSignatureBlockCollection_Release(IXpsSignatureBlockCollection* This) {
   1085     return This->lpVtbl->Release(This);
   1086 }
   1087 /*** IXpsSignatureBlockCollection methods ***/
   1088 static FORCEINLINE HRESULT IXpsSignatureBlockCollection_GetCount(IXpsSignatureBlockCollection* This,UINT32 *count) {
   1089     return This->lpVtbl->GetCount(This,count);
   1090 }
   1091 static FORCEINLINE HRESULT IXpsSignatureBlockCollection_GetAt(IXpsSignatureBlockCollection* This,UINT32 index,IXpsSignatureBlock **signatureBlock) {
   1092     return This->lpVtbl->GetAt(This,index,signatureBlock);
   1093 }
   1094 static FORCEINLINE HRESULT IXpsSignatureBlockCollection_RemoveAt(IXpsSignatureBlockCollection* This,UINT32 index) {
   1095     return This->lpVtbl->RemoveAt(This,index);
   1096 }
   1097 #endif
   1098 #endif
   1099 
   1100 #endif
   1101 
   1102 HRESULT STDMETHODCALLTYPE IXpsSignatureBlockCollection_GetCount_Proxy(
   1103     IXpsSignatureBlockCollection* This,
   1104     UINT32 *count);
   1105 void __RPC_STUB IXpsSignatureBlockCollection_GetCount_Stub(
   1106     IRpcStubBuffer* This,
   1107     IRpcChannelBuffer* pRpcChannelBuffer,
   1108     PRPC_MESSAGE pRpcMessage,
   1109     DWORD* pdwStubPhase);
   1110 HRESULT STDMETHODCALLTYPE IXpsSignatureBlockCollection_GetAt_Proxy(
   1111     IXpsSignatureBlockCollection* This,
   1112     UINT32 index,
   1113     IXpsSignatureBlock **signatureBlock);
   1114 void __RPC_STUB IXpsSignatureBlockCollection_GetAt_Stub(
   1115     IRpcStubBuffer* This,
   1116     IRpcChannelBuffer* pRpcChannelBuffer,
   1117     PRPC_MESSAGE pRpcMessage,
   1118     DWORD* pdwStubPhase);
   1119 HRESULT STDMETHODCALLTYPE IXpsSignatureBlockCollection_RemoveAt_Proxy(
   1120     IXpsSignatureBlockCollection* This,
   1121     UINT32 index);
   1122 void __RPC_STUB IXpsSignatureBlockCollection_RemoveAt_Stub(
   1123     IRpcStubBuffer* This,
   1124     IRpcChannelBuffer* pRpcChannelBuffer,
   1125     PRPC_MESSAGE pRpcMessage,
   1126     DWORD* pdwStubPhase);
   1127 
   1128 #endif  /* __IXpsSignatureBlockCollection_INTERFACE_DEFINED__ */
   1129 
   1130 /*****************************************************************************
   1131  * IXpsSignatureCollection interface
   1132  */
   1133 #ifndef __IXpsSignatureCollection_INTERFACE_DEFINED__
   1134 #define __IXpsSignatureCollection_INTERFACE_DEFINED__
   1135 
   1136 DEFINE_GUID(IID_IXpsSignatureCollection, 0xa2d1d95d, 0xadd2, 0x4dff, 0xab,0x27, 0x6b,0x9c,0x64,0x5f,0xf3,0x22);
   1137 #if defined(__cplusplus) && !defined(CINTERFACE)
   1138 MIDL_INTERFACE("a2d1d95d-add2-4dff-ab27-6b9c645ff322")
   1139 IXpsSignatureCollection : public IUnknown
   1140 {
   1141     virtual HRESULT STDMETHODCALLTYPE GetCount(
   1142         UINT32 *count) = 0;
   1143 
   1144     virtual HRESULT STDMETHODCALLTYPE GetAt(
   1145         UINT32 index,
   1146         IXpsSignature **signature) = 0;
   1147 
   1148     virtual HRESULT STDMETHODCALLTYPE RemoveAt(
   1149         UINT32 index) = 0;
   1150 
   1151 };
   1152 #ifdef __CRT_UUID_DECL
   1153 __CRT_UUID_DECL(IXpsSignatureCollection, 0xa2d1d95d, 0xadd2, 0x4dff, 0xab,0x27, 0x6b,0x9c,0x64,0x5f,0xf3,0x22)
   1154 #endif
   1155 #else
   1156 typedef struct IXpsSignatureCollectionVtbl {
   1157     BEGIN_INTERFACE
   1158 
   1159     /*** IUnknown methods ***/
   1160     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1161         IXpsSignatureCollection* This,
   1162         REFIID riid,
   1163         void **ppvObject);
   1164 
   1165     ULONG (STDMETHODCALLTYPE *AddRef)(
   1166         IXpsSignatureCollection* This);
   1167 
   1168     ULONG (STDMETHODCALLTYPE *Release)(
   1169         IXpsSignatureCollection* This);
   1170 
   1171     /*** IXpsSignatureCollection methods ***/
   1172     HRESULT (STDMETHODCALLTYPE *GetCount)(
   1173         IXpsSignatureCollection* This,
   1174         UINT32 *count);
   1175 
   1176     HRESULT (STDMETHODCALLTYPE *GetAt)(
   1177         IXpsSignatureCollection* This,
   1178         UINT32 index,
   1179         IXpsSignature **signature);
   1180 
   1181     HRESULT (STDMETHODCALLTYPE *RemoveAt)(
   1182         IXpsSignatureCollection* This,
   1183         UINT32 index);
   1184 
   1185     END_INTERFACE
   1186 } IXpsSignatureCollectionVtbl;
   1187 interface IXpsSignatureCollection {
   1188     CONST_VTBL IXpsSignatureCollectionVtbl* lpVtbl;
   1189 };
   1190 
   1191 #ifdef COBJMACROS
   1192 #ifndef WIDL_C_INLINE_WRAPPERS
   1193 /*** IUnknown methods ***/
   1194 #define IXpsSignatureCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1195 #define IXpsSignatureCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
   1196 #define IXpsSignatureCollection_Release(This) (This)->lpVtbl->Release(This)
   1197 /*** IXpsSignatureCollection methods ***/
   1198 #define IXpsSignatureCollection_GetCount(This,count) (This)->lpVtbl->GetCount(This,count)
   1199 #define IXpsSignatureCollection_GetAt(This,index,signature) (This)->lpVtbl->GetAt(This,index,signature)
   1200 #define IXpsSignatureCollection_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index)
   1201 #else
   1202 /*** IUnknown methods ***/
   1203 static FORCEINLINE HRESULT IXpsSignatureCollection_QueryInterface(IXpsSignatureCollection* This,REFIID riid,void **ppvObject) {
   1204     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1205 }
   1206 static FORCEINLINE ULONG IXpsSignatureCollection_AddRef(IXpsSignatureCollection* This) {
   1207     return This->lpVtbl->AddRef(This);
   1208 }
   1209 static FORCEINLINE ULONG IXpsSignatureCollection_Release(IXpsSignatureCollection* This) {
   1210     return This->lpVtbl->Release(This);
   1211 }
   1212 /*** IXpsSignatureCollection methods ***/
   1213 static FORCEINLINE HRESULT IXpsSignatureCollection_GetCount(IXpsSignatureCollection* This,UINT32 *count) {
   1214     return This->lpVtbl->GetCount(This,count);
   1215 }
   1216 static FORCEINLINE HRESULT IXpsSignatureCollection_GetAt(IXpsSignatureCollection* This,UINT32 index,IXpsSignature **signature) {
   1217     return This->lpVtbl->GetAt(This,index,signature);
   1218 }
   1219 static FORCEINLINE HRESULT IXpsSignatureCollection_RemoveAt(IXpsSignatureCollection* This,UINT32 index) {
   1220     return This->lpVtbl->RemoveAt(This,index);
   1221 }
   1222 #endif
   1223 #endif
   1224 
   1225 #endif
   1226 
   1227 HRESULT STDMETHODCALLTYPE IXpsSignatureCollection_GetCount_Proxy(
   1228     IXpsSignatureCollection* This,
   1229     UINT32 *count);
   1230 void __RPC_STUB IXpsSignatureCollection_GetCount_Stub(
   1231     IRpcStubBuffer* This,
   1232     IRpcChannelBuffer* pRpcChannelBuffer,
   1233     PRPC_MESSAGE pRpcMessage,
   1234     DWORD* pdwStubPhase);
   1235 HRESULT STDMETHODCALLTYPE IXpsSignatureCollection_GetAt_Proxy(
   1236     IXpsSignatureCollection* This,
   1237     UINT32 index,
   1238     IXpsSignature **signature);
   1239 void __RPC_STUB IXpsSignatureCollection_GetAt_Stub(
   1240     IRpcStubBuffer* This,
   1241     IRpcChannelBuffer* pRpcChannelBuffer,
   1242     PRPC_MESSAGE pRpcMessage,
   1243     DWORD* pdwStubPhase);
   1244 HRESULT STDMETHODCALLTYPE IXpsSignatureCollection_RemoveAt_Proxy(
   1245     IXpsSignatureCollection* This,
   1246     UINT32 index);
   1247 void __RPC_STUB IXpsSignatureCollection_RemoveAt_Stub(
   1248     IRpcStubBuffer* This,
   1249     IRpcChannelBuffer* pRpcChannelBuffer,
   1250     PRPC_MESSAGE pRpcMessage,
   1251     DWORD* pdwStubPhase);
   1252 
   1253 #endif  /* __IXpsSignatureCollection_INTERFACE_DEFINED__ */
   1254 
   1255 /*****************************************************************************
   1256  * IXpsSignatureManager interface
   1257  */
   1258 #ifndef __IXpsSignatureManager_INTERFACE_DEFINED__
   1259 #define __IXpsSignatureManager_INTERFACE_DEFINED__
   1260 
   1261 DEFINE_GUID(IID_IXpsSignatureManager, 0xd3e8d338, 0xfdc4, 0x4afc, 0x80,0xb5, 0xd5,0x32,0xa1,0x78,0x2e,0xe1);
   1262 #if defined(__cplusplus) && !defined(CINTERFACE)
   1263 MIDL_INTERFACE("d3e8d338-fdc4-4afc-80b5-d532a1782ee1")
   1264 IXpsSignatureManager : public IUnknown
   1265 {
   1266     virtual HRESULT STDMETHODCALLTYPE LoadPackageFile(
   1267         LPCWSTR fileName) = 0;
   1268 
   1269     virtual HRESULT STDMETHODCALLTYPE LoadPackageStream(
   1270         IStream *stream) = 0;
   1271 
   1272     virtual HRESULT STDMETHODCALLTYPE Sign(
   1273         IXpsSigningOptions *signOptions,
   1274         const CERT_CONTEXT *x509Certificate,
   1275         IXpsSignature **signature) = 0;
   1276 
   1277     virtual HRESULT STDMETHODCALLTYPE GetSignatureOriginPartName(
   1278         IOpcPartUri **signatureOriginPartName) = 0;
   1279 
   1280     virtual HRESULT STDMETHODCALLTYPE SetSignatureOriginPartName(
   1281         IOpcPartUri *signatureOriginPartName) = 0;
   1282 
   1283     virtual HRESULT STDMETHODCALLTYPE GetSignatures(
   1284         IXpsSignatureCollection **signatures) = 0;
   1285 
   1286     virtual HRESULT STDMETHODCALLTYPE AddSignatureBlock(
   1287         IOpcPartUri *partName,
   1288         UINT32 fixedDocumentIndex,
   1289         IXpsSignatureBlock **signatureBlock) = 0;
   1290 
   1291     virtual HRESULT STDMETHODCALLTYPE GetSignatureBlocks(
   1292         IXpsSignatureBlockCollection **signatureBlocks) = 0;
   1293 
   1294     virtual HRESULT STDMETHODCALLTYPE CreateSigningOptions(
   1295         IXpsSigningOptions **signingOptions) = 0;
   1296 
   1297     virtual HRESULT STDMETHODCALLTYPE SavePackageToFile(
   1298         LPCWSTR fileName,
   1299         LPSECURITY_ATTRIBUTES securityAttributes,
   1300         DWORD flagsAndAttributes) = 0;
   1301 
   1302     virtual HRESULT STDMETHODCALLTYPE SavePackageToStream(
   1303         IStream *stream) = 0;
   1304 
   1305 };
   1306 #ifdef __CRT_UUID_DECL
   1307 __CRT_UUID_DECL(IXpsSignatureManager, 0xd3e8d338, 0xfdc4, 0x4afc, 0x80,0xb5, 0xd5,0x32,0xa1,0x78,0x2e,0xe1)
   1308 #endif
   1309 #else
   1310 typedef struct IXpsSignatureManagerVtbl {
   1311     BEGIN_INTERFACE
   1312 
   1313     /*** IUnknown methods ***/
   1314     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1315         IXpsSignatureManager* This,
   1316         REFIID riid,
   1317         void **ppvObject);
   1318 
   1319     ULONG (STDMETHODCALLTYPE *AddRef)(
   1320         IXpsSignatureManager* This);
   1321 
   1322     ULONG (STDMETHODCALLTYPE *Release)(
   1323         IXpsSignatureManager* This);
   1324 
   1325     /*** IXpsSignatureManager methods ***/
   1326     HRESULT (STDMETHODCALLTYPE *LoadPackageFile)(
   1327         IXpsSignatureManager* This,
   1328         LPCWSTR fileName);
   1329 
   1330     HRESULT (STDMETHODCALLTYPE *LoadPackageStream)(
   1331         IXpsSignatureManager* This,
   1332         IStream *stream);
   1333 
   1334     HRESULT (STDMETHODCALLTYPE *Sign)(
   1335         IXpsSignatureManager* This,
   1336         IXpsSigningOptions *signOptions,
   1337         const CERT_CONTEXT *x509Certificate,
   1338         IXpsSignature **signature);
   1339 
   1340     HRESULT (STDMETHODCALLTYPE *GetSignatureOriginPartName)(
   1341         IXpsSignatureManager* This,
   1342         IOpcPartUri **signatureOriginPartName);
   1343 
   1344     HRESULT (STDMETHODCALLTYPE *SetSignatureOriginPartName)(
   1345         IXpsSignatureManager* This,
   1346         IOpcPartUri *signatureOriginPartName);
   1347 
   1348     HRESULT (STDMETHODCALLTYPE *GetSignatures)(
   1349         IXpsSignatureManager* This,
   1350         IXpsSignatureCollection **signatures);
   1351 
   1352     HRESULT (STDMETHODCALLTYPE *AddSignatureBlock)(
   1353         IXpsSignatureManager* This,
   1354         IOpcPartUri *partName,
   1355         UINT32 fixedDocumentIndex,
   1356         IXpsSignatureBlock **signatureBlock);
   1357 
   1358     HRESULT (STDMETHODCALLTYPE *GetSignatureBlocks)(
   1359         IXpsSignatureManager* This,
   1360         IXpsSignatureBlockCollection **signatureBlocks);
   1361 
   1362     HRESULT (STDMETHODCALLTYPE *CreateSigningOptions)(
   1363         IXpsSignatureManager* This,
   1364         IXpsSigningOptions **signingOptions);
   1365 
   1366     HRESULT (STDMETHODCALLTYPE *SavePackageToFile)(
   1367         IXpsSignatureManager* This,
   1368         LPCWSTR fileName,
   1369         LPSECURITY_ATTRIBUTES securityAttributes,
   1370         DWORD flagsAndAttributes);
   1371 
   1372     HRESULT (STDMETHODCALLTYPE *SavePackageToStream)(
   1373         IXpsSignatureManager* This,
   1374         IStream *stream);
   1375 
   1376     END_INTERFACE
   1377 } IXpsSignatureManagerVtbl;
   1378 interface IXpsSignatureManager {
   1379     CONST_VTBL IXpsSignatureManagerVtbl* lpVtbl;
   1380 };
   1381 
   1382 #ifdef COBJMACROS
   1383 #ifndef WIDL_C_INLINE_WRAPPERS
   1384 /*** IUnknown methods ***/
   1385 #define IXpsSignatureManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1386 #define IXpsSignatureManager_AddRef(This) (This)->lpVtbl->AddRef(This)
   1387 #define IXpsSignatureManager_Release(This) (This)->lpVtbl->Release(This)
   1388 /*** IXpsSignatureManager methods ***/
   1389 #define IXpsSignatureManager_LoadPackageFile(This,fileName) (This)->lpVtbl->LoadPackageFile(This,fileName)
   1390 #define IXpsSignatureManager_LoadPackageStream(This,stream) (This)->lpVtbl->LoadPackageStream(This,stream)
   1391 #define IXpsSignatureManager_Sign(This,signOptions,x509Certificate,signature) (This)->lpVtbl->Sign(This,signOptions,x509Certificate,signature)
   1392 #define IXpsSignatureManager_GetSignatureOriginPartName(This,signatureOriginPartName) (This)->lpVtbl->GetSignatureOriginPartName(This,signatureOriginPartName)
   1393 #define IXpsSignatureManager_SetSignatureOriginPartName(This,signatureOriginPartName) (This)->lpVtbl->SetSignatureOriginPartName(This,signatureOriginPartName)
   1394 #define IXpsSignatureManager_GetSignatures(This,signatures) (This)->lpVtbl->GetSignatures(This,signatures)
   1395 #define IXpsSignatureManager_AddSignatureBlock(This,partName,fixedDocumentIndex,signatureBlock) (This)->lpVtbl->AddSignatureBlock(This,partName,fixedDocumentIndex,signatureBlock)
   1396 #define IXpsSignatureManager_GetSignatureBlocks(This,signatureBlocks) (This)->lpVtbl->GetSignatureBlocks(This,signatureBlocks)
   1397 #define IXpsSignatureManager_CreateSigningOptions(This,signingOptions) (This)->lpVtbl->CreateSigningOptions(This,signingOptions)
   1398 #define IXpsSignatureManager_SavePackageToFile(This,fileName,securityAttributes,flagsAndAttributes) (This)->lpVtbl->SavePackageToFile(This,fileName,securityAttributes,flagsAndAttributes)
   1399 #define IXpsSignatureManager_SavePackageToStream(This,stream) (This)->lpVtbl->SavePackageToStream(This,stream)
   1400 #else
   1401 /*** IUnknown methods ***/
   1402 static FORCEINLINE HRESULT IXpsSignatureManager_QueryInterface(IXpsSignatureManager* This,REFIID riid,void **ppvObject) {
   1403     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1404 }
   1405 static FORCEINLINE ULONG IXpsSignatureManager_AddRef(IXpsSignatureManager* This) {
   1406     return This->lpVtbl->AddRef(This);
   1407 }
   1408 static FORCEINLINE ULONG IXpsSignatureManager_Release(IXpsSignatureManager* This) {
   1409     return This->lpVtbl->Release(This);
   1410 }
   1411 /*** IXpsSignatureManager methods ***/
   1412 static FORCEINLINE HRESULT IXpsSignatureManager_LoadPackageFile(IXpsSignatureManager* This,LPCWSTR fileName) {
   1413     return This->lpVtbl->LoadPackageFile(This,fileName);
   1414 }
   1415 static FORCEINLINE HRESULT IXpsSignatureManager_LoadPackageStream(IXpsSignatureManager* This,IStream *stream) {
   1416     return This->lpVtbl->LoadPackageStream(This,stream);
   1417 }
   1418 static FORCEINLINE HRESULT IXpsSignatureManager_Sign(IXpsSignatureManager* This,IXpsSigningOptions *signOptions,const CERT_CONTEXT *x509Certificate,IXpsSignature **signature) {
   1419     return This->lpVtbl->Sign(This,signOptions,x509Certificate,signature);
   1420 }
   1421 static FORCEINLINE HRESULT IXpsSignatureManager_GetSignatureOriginPartName(IXpsSignatureManager* This,IOpcPartUri **signatureOriginPartName) {
   1422     return This->lpVtbl->GetSignatureOriginPartName(This,signatureOriginPartName);
   1423 }
   1424 static FORCEINLINE HRESULT IXpsSignatureManager_SetSignatureOriginPartName(IXpsSignatureManager* This,IOpcPartUri *signatureOriginPartName) {
   1425     return This->lpVtbl->SetSignatureOriginPartName(This,signatureOriginPartName);
   1426 }
   1427 static FORCEINLINE HRESULT IXpsSignatureManager_GetSignatures(IXpsSignatureManager* This,IXpsSignatureCollection **signatures) {
   1428     return This->lpVtbl->GetSignatures(This,signatures);
   1429 }
   1430 static FORCEINLINE HRESULT IXpsSignatureManager_AddSignatureBlock(IXpsSignatureManager* This,IOpcPartUri *partName,UINT32 fixedDocumentIndex,IXpsSignatureBlock **signatureBlock) {
   1431     return This->lpVtbl->AddSignatureBlock(This,partName,fixedDocumentIndex,signatureBlock);
   1432 }
   1433 static FORCEINLINE HRESULT IXpsSignatureManager_GetSignatureBlocks(IXpsSignatureManager* This,IXpsSignatureBlockCollection **signatureBlocks) {
   1434     return This->lpVtbl->GetSignatureBlocks(This,signatureBlocks);
   1435 }
   1436 static FORCEINLINE HRESULT IXpsSignatureManager_CreateSigningOptions(IXpsSignatureManager* This,IXpsSigningOptions **signingOptions) {
   1437     return This->lpVtbl->CreateSigningOptions(This,signingOptions);
   1438 }
   1439 static FORCEINLINE HRESULT IXpsSignatureManager_SavePackageToFile(IXpsSignatureManager* This,LPCWSTR fileName,LPSECURITY_ATTRIBUTES securityAttributes,DWORD flagsAndAttributes) {
   1440     return This->lpVtbl->SavePackageToFile(This,fileName,securityAttributes,flagsAndAttributes);
   1441 }
   1442 static FORCEINLINE HRESULT IXpsSignatureManager_SavePackageToStream(IXpsSignatureManager* This,IStream *stream) {
   1443     return This->lpVtbl->SavePackageToStream(This,stream);
   1444 }
   1445 #endif
   1446 #endif
   1447 
   1448 #endif
   1449 
   1450 HRESULT STDMETHODCALLTYPE IXpsSignatureManager_LoadPackageFile_Proxy(
   1451     IXpsSignatureManager* This,
   1452     LPCWSTR fileName);
   1453 void __RPC_STUB IXpsSignatureManager_LoadPackageFile_Stub(
   1454     IRpcStubBuffer* This,
   1455     IRpcChannelBuffer* pRpcChannelBuffer,
   1456     PRPC_MESSAGE pRpcMessage,
   1457     DWORD* pdwStubPhase);
   1458 HRESULT STDMETHODCALLTYPE IXpsSignatureManager_LoadPackageStream_Proxy(
   1459     IXpsSignatureManager* This,
   1460     IStream *stream);
   1461 void __RPC_STUB IXpsSignatureManager_LoadPackageStream_Stub(
   1462     IRpcStubBuffer* This,
   1463     IRpcChannelBuffer* pRpcChannelBuffer,
   1464     PRPC_MESSAGE pRpcMessage,
   1465     DWORD* pdwStubPhase);
   1466 HRESULT STDMETHODCALLTYPE IXpsSignatureManager_Sign_Proxy(
   1467     IXpsSignatureManager* This,
   1468     IXpsSigningOptions *signOptions,
   1469     const CERT_CONTEXT *x509Certificate,
   1470     IXpsSignature **signature);
   1471 void __RPC_STUB IXpsSignatureManager_Sign_Stub(
   1472     IRpcStubBuffer* This,
   1473     IRpcChannelBuffer* pRpcChannelBuffer,
   1474     PRPC_MESSAGE pRpcMessage,
   1475     DWORD* pdwStubPhase);
   1476 HRESULT STDMETHODCALLTYPE IXpsSignatureManager_GetSignatureOriginPartName_Proxy(
   1477     IXpsSignatureManager* This,
   1478     IOpcPartUri **signatureOriginPartName);
   1479 void __RPC_STUB IXpsSignatureManager_GetSignatureOriginPartName_Stub(
   1480     IRpcStubBuffer* This,
   1481     IRpcChannelBuffer* pRpcChannelBuffer,
   1482     PRPC_MESSAGE pRpcMessage,
   1483     DWORD* pdwStubPhase);
   1484 HRESULT STDMETHODCALLTYPE IXpsSignatureManager_SetSignatureOriginPartName_Proxy(
   1485     IXpsSignatureManager* This,
   1486     IOpcPartUri *signatureOriginPartName);
   1487 void __RPC_STUB IXpsSignatureManager_SetSignatureOriginPartName_Stub(
   1488     IRpcStubBuffer* This,
   1489     IRpcChannelBuffer* pRpcChannelBuffer,
   1490     PRPC_MESSAGE pRpcMessage,
   1491     DWORD* pdwStubPhase);
   1492 HRESULT STDMETHODCALLTYPE IXpsSignatureManager_GetSignatures_Proxy(
   1493     IXpsSignatureManager* This,
   1494     IXpsSignatureCollection **signatures);
   1495 void __RPC_STUB IXpsSignatureManager_GetSignatures_Stub(
   1496     IRpcStubBuffer* This,
   1497     IRpcChannelBuffer* pRpcChannelBuffer,
   1498     PRPC_MESSAGE pRpcMessage,
   1499     DWORD* pdwStubPhase);
   1500 HRESULT STDMETHODCALLTYPE IXpsSignatureManager_AddSignatureBlock_Proxy(
   1501     IXpsSignatureManager* This,
   1502     IOpcPartUri *partName,
   1503     UINT32 fixedDocumentIndex,
   1504     IXpsSignatureBlock **signatureBlock);
   1505 void __RPC_STUB IXpsSignatureManager_AddSignatureBlock_Stub(
   1506     IRpcStubBuffer* This,
   1507     IRpcChannelBuffer* pRpcChannelBuffer,
   1508     PRPC_MESSAGE pRpcMessage,
   1509     DWORD* pdwStubPhase);
   1510 HRESULT STDMETHODCALLTYPE IXpsSignatureManager_GetSignatureBlocks_Proxy(
   1511     IXpsSignatureManager* This,
   1512     IXpsSignatureBlockCollection **signatureBlocks);
   1513 void __RPC_STUB IXpsSignatureManager_GetSignatureBlocks_Stub(
   1514     IRpcStubBuffer* This,
   1515     IRpcChannelBuffer* pRpcChannelBuffer,
   1516     PRPC_MESSAGE pRpcMessage,
   1517     DWORD* pdwStubPhase);
   1518 HRESULT STDMETHODCALLTYPE IXpsSignatureManager_CreateSigningOptions_Proxy(
   1519     IXpsSignatureManager* This,
   1520     IXpsSigningOptions **signingOptions);
   1521 void __RPC_STUB IXpsSignatureManager_CreateSigningOptions_Stub(
   1522     IRpcStubBuffer* This,
   1523     IRpcChannelBuffer* pRpcChannelBuffer,
   1524     PRPC_MESSAGE pRpcMessage,
   1525     DWORD* pdwStubPhase);
   1526 HRESULT STDMETHODCALLTYPE IXpsSignatureManager_SavePackageToFile_Proxy(
   1527     IXpsSignatureManager* This,
   1528     LPCWSTR fileName,
   1529     LPSECURITY_ATTRIBUTES securityAttributes,
   1530     DWORD flagsAndAttributes);
   1531 void __RPC_STUB IXpsSignatureManager_SavePackageToFile_Stub(
   1532     IRpcStubBuffer* This,
   1533     IRpcChannelBuffer* pRpcChannelBuffer,
   1534     PRPC_MESSAGE pRpcMessage,
   1535     DWORD* pdwStubPhase);
   1536 HRESULT STDMETHODCALLTYPE IXpsSignatureManager_SavePackageToStream_Proxy(
   1537     IXpsSignatureManager* This,
   1538     IStream *stream);
   1539 void __RPC_STUB IXpsSignatureManager_SavePackageToStream_Stub(
   1540     IRpcStubBuffer* This,
   1541     IRpcChannelBuffer* pRpcChannelBuffer,
   1542     PRPC_MESSAGE pRpcMessage,
   1543     DWORD* pdwStubPhase);
   1544 
   1545 #endif  /* __IXpsSignatureManager_INTERFACE_DEFINED__ */
   1546 
   1547 /*****************************************************************************
   1548  * IXpsSignatureRequest interface
   1549  */
   1550 #ifndef __IXpsSignatureRequest_INTERFACE_DEFINED__
   1551 #define __IXpsSignatureRequest_INTERFACE_DEFINED__
   1552 
   1553 DEFINE_GUID(IID_IXpsSignatureRequest, 0xac58950b, 0x7208, 0x4b2d, 0xb2,0xc4, 0x95,0x10,0x83,0xd3,0xb8,0xeb);
   1554 #if defined(__cplusplus) && !defined(CINTERFACE)
   1555 MIDL_INTERFACE("ac58950b-7208-4b2d-b2c4-951083d3b8eb")
   1556 IXpsSignatureRequest : public IUnknown
   1557 {
   1558     virtual HRESULT STDMETHODCALLTYPE GetIntent(
   1559         LPWSTR *intent) = 0;
   1560 
   1561     virtual HRESULT STDMETHODCALLTYPE SetIntent(
   1562         LPCWSTR intent) = 0;
   1563 
   1564     virtual HRESULT STDMETHODCALLTYPE GetRequestedSigner(
   1565         LPWSTR *signerName) = 0;
   1566 
   1567     virtual HRESULT STDMETHODCALLTYPE SetRequestedSigner(
   1568         LPCWSTR signerName) = 0;
   1569 
   1570     virtual HRESULT STDMETHODCALLTYPE GetRequestSignByDate(
   1571         LPWSTR *dateString) = 0;
   1572 
   1573     virtual HRESULT STDMETHODCALLTYPE SetRequestSignByDate(
   1574         LPCWSTR dateString) = 0;
   1575 
   1576     virtual HRESULT STDMETHODCALLTYPE GetSigningLocale(
   1577         LPWSTR *place) = 0;
   1578 
   1579     virtual HRESULT STDMETHODCALLTYPE SetSigningLocale(
   1580         LPCWSTR place) = 0;
   1581 
   1582     virtual HRESULT STDMETHODCALLTYPE GetSpotLocation(
   1583         INT32 *pageIndex,
   1584         IOpcPartUri **pagePartName,
   1585         float *x,
   1586         float *y) = 0;
   1587 
   1588     virtual HRESULT STDMETHODCALLTYPE SetSpotLocation(
   1589         INT32 pageIndex,
   1590         float x,
   1591         float y) = 0;
   1592 
   1593     virtual HRESULT STDMETHODCALLTYPE GetRequestId(
   1594         LPWSTR *requestId) = 0;
   1595 
   1596     virtual HRESULT STDMETHODCALLTYPE GetSignature(
   1597         IXpsSignature **signature) = 0;
   1598 
   1599 };
   1600 #ifdef __CRT_UUID_DECL
   1601 __CRT_UUID_DECL(IXpsSignatureRequest, 0xac58950b, 0x7208, 0x4b2d, 0xb2,0xc4, 0x95,0x10,0x83,0xd3,0xb8,0xeb)
   1602 #endif
   1603 #else
   1604 typedef struct IXpsSignatureRequestVtbl {
   1605     BEGIN_INTERFACE
   1606 
   1607     /*** IUnknown methods ***/
   1608     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1609         IXpsSignatureRequest* This,
   1610         REFIID riid,
   1611         void **ppvObject);
   1612 
   1613     ULONG (STDMETHODCALLTYPE *AddRef)(
   1614         IXpsSignatureRequest* This);
   1615 
   1616     ULONG (STDMETHODCALLTYPE *Release)(
   1617         IXpsSignatureRequest* This);
   1618 
   1619     /*** IXpsSignatureRequest methods ***/
   1620     HRESULT (STDMETHODCALLTYPE *GetIntent)(
   1621         IXpsSignatureRequest* This,
   1622         LPWSTR *intent);
   1623 
   1624     HRESULT (STDMETHODCALLTYPE *SetIntent)(
   1625         IXpsSignatureRequest* This,
   1626         LPCWSTR intent);
   1627 
   1628     HRESULT (STDMETHODCALLTYPE *GetRequestedSigner)(
   1629         IXpsSignatureRequest* This,
   1630         LPWSTR *signerName);
   1631 
   1632     HRESULT (STDMETHODCALLTYPE *SetRequestedSigner)(
   1633         IXpsSignatureRequest* This,
   1634         LPCWSTR signerName);
   1635 
   1636     HRESULT (STDMETHODCALLTYPE *GetRequestSignByDate)(
   1637         IXpsSignatureRequest* This,
   1638         LPWSTR *dateString);
   1639 
   1640     HRESULT (STDMETHODCALLTYPE *SetRequestSignByDate)(
   1641         IXpsSignatureRequest* This,
   1642         LPCWSTR dateString);
   1643 
   1644     HRESULT (STDMETHODCALLTYPE *GetSigningLocale)(
   1645         IXpsSignatureRequest* This,
   1646         LPWSTR *place);
   1647 
   1648     HRESULT (STDMETHODCALLTYPE *SetSigningLocale)(
   1649         IXpsSignatureRequest* This,
   1650         LPCWSTR place);
   1651 
   1652     HRESULT (STDMETHODCALLTYPE *GetSpotLocation)(
   1653         IXpsSignatureRequest* This,
   1654         INT32 *pageIndex,
   1655         IOpcPartUri **pagePartName,
   1656         float *x,
   1657         float *y);
   1658 
   1659     HRESULT (STDMETHODCALLTYPE *SetSpotLocation)(
   1660         IXpsSignatureRequest* This,
   1661         INT32 pageIndex,
   1662         float x,
   1663         float y);
   1664 
   1665     HRESULT (STDMETHODCALLTYPE *GetRequestId)(
   1666         IXpsSignatureRequest* This,
   1667         LPWSTR *requestId);
   1668 
   1669     HRESULT (STDMETHODCALLTYPE *GetSignature)(
   1670         IXpsSignatureRequest* This,
   1671         IXpsSignature **signature);
   1672 
   1673     END_INTERFACE
   1674 } IXpsSignatureRequestVtbl;
   1675 interface IXpsSignatureRequest {
   1676     CONST_VTBL IXpsSignatureRequestVtbl* lpVtbl;
   1677 };
   1678 
   1679 #ifdef COBJMACROS
   1680 #ifndef WIDL_C_INLINE_WRAPPERS
   1681 /*** IUnknown methods ***/
   1682 #define IXpsSignatureRequest_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1683 #define IXpsSignatureRequest_AddRef(This) (This)->lpVtbl->AddRef(This)
   1684 #define IXpsSignatureRequest_Release(This) (This)->lpVtbl->Release(This)
   1685 /*** IXpsSignatureRequest methods ***/
   1686 #define IXpsSignatureRequest_GetIntent(This,intent) (This)->lpVtbl->GetIntent(This,intent)
   1687 #define IXpsSignatureRequest_SetIntent(This,intent) (This)->lpVtbl->SetIntent(This,intent)
   1688 #define IXpsSignatureRequest_GetRequestedSigner(This,signerName) (This)->lpVtbl->GetRequestedSigner(This,signerName)
   1689 #define IXpsSignatureRequest_SetRequestedSigner(This,signerName) (This)->lpVtbl->SetRequestedSigner(This,signerName)
   1690 #define IXpsSignatureRequest_GetRequestSignByDate(This,dateString) (This)->lpVtbl->GetRequestSignByDate(This,dateString)
   1691 #define IXpsSignatureRequest_SetRequestSignByDate(This,dateString) (This)->lpVtbl->SetRequestSignByDate(This,dateString)
   1692 #define IXpsSignatureRequest_GetSigningLocale(This,place) (This)->lpVtbl->GetSigningLocale(This,place)
   1693 #define IXpsSignatureRequest_SetSigningLocale(This,place) (This)->lpVtbl->SetSigningLocale(This,place)
   1694 #define IXpsSignatureRequest_GetSpotLocation(This,pageIndex,pagePartName,x,y) (This)->lpVtbl->GetSpotLocation(This,pageIndex,pagePartName,x,y)
   1695 #define IXpsSignatureRequest_SetSpotLocation(This,pageIndex,x,y) (This)->lpVtbl->SetSpotLocation(This,pageIndex,x,y)
   1696 #define IXpsSignatureRequest_GetRequestId(This,requestId) (This)->lpVtbl->GetRequestId(This,requestId)
   1697 #define IXpsSignatureRequest_GetSignature(This,signature) (This)->lpVtbl->GetSignature(This,signature)
   1698 #else
   1699 /*** IUnknown methods ***/
   1700 static FORCEINLINE HRESULT IXpsSignatureRequest_QueryInterface(IXpsSignatureRequest* This,REFIID riid,void **ppvObject) {
   1701     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1702 }
   1703 static FORCEINLINE ULONG IXpsSignatureRequest_AddRef(IXpsSignatureRequest* This) {
   1704     return This->lpVtbl->AddRef(This);
   1705 }
   1706 static FORCEINLINE ULONG IXpsSignatureRequest_Release(IXpsSignatureRequest* This) {
   1707     return This->lpVtbl->Release(This);
   1708 }
   1709 /*** IXpsSignatureRequest methods ***/
   1710 static FORCEINLINE HRESULT IXpsSignatureRequest_GetIntent(IXpsSignatureRequest* This,LPWSTR *intent) {
   1711     return This->lpVtbl->GetIntent(This,intent);
   1712 }
   1713 static FORCEINLINE HRESULT IXpsSignatureRequest_SetIntent(IXpsSignatureRequest* This,LPCWSTR intent) {
   1714     return This->lpVtbl->SetIntent(This,intent);
   1715 }
   1716 static FORCEINLINE HRESULT IXpsSignatureRequest_GetRequestedSigner(IXpsSignatureRequest* This,LPWSTR *signerName) {
   1717     return This->lpVtbl->GetRequestedSigner(This,signerName);
   1718 }
   1719 static FORCEINLINE HRESULT IXpsSignatureRequest_SetRequestedSigner(IXpsSignatureRequest* This,LPCWSTR signerName) {
   1720     return This->lpVtbl->SetRequestedSigner(This,signerName);
   1721 }
   1722 static FORCEINLINE HRESULT IXpsSignatureRequest_GetRequestSignByDate(IXpsSignatureRequest* This,LPWSTR *dateString) {
   1723     return This->lpVtbl->GetRequestSignByDate(This,dateString);
   1724 }
   1725 static FORCEINLINE HRESULT IXpsSignatureRequest_SetRequestSignByDate(IXpsSignatureRequest* This,LPCWSTR dateString) {
   1726     return This->lpVtbl->SetRequestSignByDate(This,dateString);
   1727 }
   1728 static FORCEINLINE HRESULT IXpsSignatureRequest_GetSigningLocale(IXpsSignatureRequest* This,LPWSTR *place) {
   1729     return This->lpVtbl->GetSigningLocale(This,place);
   1730 }
   1731 static FORCEINLINE HRESULT IXpsSignatureRequest_SetSigningLocale(IXpsSignatureRequest* This,LPCWSTR place) {
   1732     return This->lpVtbl->SetSigningLocale(This,place);
   1733 }
   1734 static FORCEINLINE HRESULT IXpsSignatureRequest_GetSpotLocation(IXpsSignatureRequest* This,INT32 *pageIndex,IOpcPartUri **pagePartName,float *x,float *y) {
   1735     return This->lpVtbl->GetSpotLocation(This,pageIndex,pagePartName,x,y);
   1736 }
   1737 static FORCEINLINE HRESULT IXpsSignatureRequest_SetSpotLocation(IXpsSignatureRequest* This,INT32 pageIndex,float x,float y) {
   1738     return This->lpVtbl->SetSpotLocation(This,pageIndex,x,y);
   1739 }
   1740 static FORCEINLINE HRESULT IXpsSignatureRequest_GetRequestId(IXpsSignatureRequest* This,LPWSTR *requestId) {
   1741     return This->lpVtbl->GetRequestId(This,requestId);
   1742 }
   1743 static FORCEINLINE HRESULT IXpsSignatureRequest_GetSignature(IXpsSignatureRequest* This,IXpsSignature **signature) {
   1744     return This->lpVtbl->GetSignature(This,signature);
   1745 }
   1746 #endif
   1747 #endif
   1748 
   1749 #endif
   1750 
   1751 HRESULT STDMETHODCALLTYPE IXpsSignatureRequest_GetIntent_Proxy(
   1752     IXpsSignatureRequest* This,
   1753     LPWSTR *intent);
   1754 void __RPC_STUB IXpsSignatureRequest_GetIntent_Stub(
   1755     IRpcStubBuffer* This,
   1756     IRpcChannelBuffer* pRpcChannelBuffer,
   1757     PRPC_MESSAGE pRpcMessage,
   1758     DWORD* pdwStubPhase);
   1759 HRESULT STDMETHODCALLTYPE IXpsSignatureRequest_SetIntent_Proxy(
   1760     IXpsSignatureRequest* This,
   1761     LPCWSTR intent);
   1762 void __RPC_STUB IXpsSignatureRequest_SetIntent_Stub(
   1763     IRpcStubBuffer* This,
   1764     IRpcChannelBuffer* pRpcChannelBuffer,
   1765     PRPC_MESSAGE pRpcMessage,
   1766     DWORD* pdwStubPhase);
   1767 HRESULT STDMETHODCALLTYPE IXpsSignatureRequest_GetRequestedSigner_Proxy(
   1768     IXpsSignatureRequest* This,
   1769     LPWSTR *signerName);
   1770 void __RPC_STUB IXpsSignatureRequest_GetRequestedSigner_Stub(
   1771     IRpcStubBuffer* This,
   1772     IRpcChannelBuffer* pRpcChannelBuffer,
   1773     PRPC_MESSAGE pRpcMessage,
   1774     DWORD* pdwStubPhase);
   1775 HRESULT STDMETHODCALLTYPE IXpsSignatureRequest_SetRequestedSigner_Proxy(
   1776     IXpsSignatureRequest* This,
   1777     LPCWSTR signerName);
   1778 void __RPC_STUB IXpsSignatureRequest_SetRequestedSigner_Stub(
   1779     IRpcStubBuffer* This,
   1780     IRpcChannelBuffer* pRpcChannelBuffer,
   1781     PRPC_MESSAGE pRpcMessage,
   1782     DWORD* pdwStubPhase);
   1783 HRESULT STDMETHODCALLTYPE IXpsSignatureRequest_GetRequestSignByDate_Proxy(
   1784     IXpsSignatureRequest* This,
   1785     LPWSTR *dateString);
   1786 void __RPC_STUB IXpsSignatureRequest_GetRequestSignByDate_Stub(
   1787     IRpcStubBuffer* This,
   1788     IRpcChannelBuffer* pRpcChannelBuffer,
   1789     PRPC_MESSAGE pRpcMessage,
   1790     DWORD* pdwStubPhase);
   1791 HRESULT STDMETHODCALLTYPE IXpsSignatureRequest_SetRequestSignByDate_Proxy(
   1792     IXpsSignatureRequest* This,
   1793     LPCWSTR dateString);
   1794 void __RPC_STUB IXpsSignatureRequest_SetRequestSignByDate_Stub(
   1795     IRpcStubBuffer* This,
   1796     IRpcChannelBuffer* pRpcChannelBuffer,
   1797     PRPC_MESSAGE pRpcMessage,
   1798     DWORD* pdwStubPhase);
   1799 HRESULT STDMETHODCALLTYPE IXpsSignatureRequest_GetSigningLocale_Proxy(
   1800     IXpsSignatureRequest* This,
   1801     LPWSTR *place);
   1802 void __RPC_STUB IXpsSignatureRequest_GetSigningLocale_Stub(
   1803     IRpcStubBuffer* This,
   1804     IRpcChannelBuffer* pRpcChannelBuffer,
   1805     PRPC_MESSAGE pRpcMessage,
   1806     DWORD* pdwStubPhase);
   1807 HRESULT STDMETHODCALLTYPE IXpsSignatureRequest_SetSigningLocale_Proxy(
   1808     IXpsSignatureRequest* This,
   1809     LPCWSTR place);
   1810 void __RPC_STUB IXpsSignatureRequest_SetSigningLocale_Stub(
   1811     IRpcStubBuffer* This,
   1812     IRpcChannelBuffer* pRpcChannelBuffer,
   1813     PRPC_MESSAGE pRpcMessage,
   1814     DWORD* pdwStubPhase);
   1815 HRESULT STDMETHODCALLTYPE IXpsSignatureRequest_GetSpotLocation_Proxy(
   1816     IXpsSignatureRequest* This,
   1817     INT32 *pageIndex,
   1818     IOpcPartUri **pagePartName,
   1819     float *x,
   1820     float *y);
   1821 void __RPC_STUB IXpsSignatureRequest_GetSpotLocation_Stub(
   1822     IRpcStubBuffer* This,
   1823     IRpcChannelBuffer* pRpcChannelBuffer,
   1824     PRPC_MESSAGE pRpcMessage,
   1825     DWORD* pdwStubPhase);
   1826 HRESULT STDMETHODCALLTYPE IXpsSignatureRequest_SetSpotLocation_Proxy(
   1827     IXpsSignatureRequest* This,
   1828     INT32 pageIndex,
   1829     float x,
   1830     float y);
   1831 void __RPC_STUB IXpsSignatureRequest_SetSpotLocation_Stub(
   1832     IRpcStubBuffer* This,
   1833     IRpcChannelBuffer* pRpcChannelBuffer,
   1834     PRPC_MESSAGE pRpcMessage,
   1835     DWORD* pdwStubPhase);
   1836 HRESULT STDMETHODCALLTYPE IXpsSignatureRequest_GetRequestId_Proxy(
   1837     IXpsSignatureRequest* This,
   1838     LPWSTR *requestId);
   1839 void __RPC_STUB IXpsSignatureRequest_GetRequestId_Stub(
   1840     IRpcStubBuffer* This,
   1841     IRpcChannelBuffer* pRpcChannelBuffer,
   1842     PRPC_MESSAGE pRpcMessage,
   1843     DWORD* pdwStubPhase);
   1844 HRESULT STDMETHODCALLTYPE IXpsSignatureRequest_GetSignature_Proxy(
   1845     IXpsSignatureRequest* This,
   1846     IXpsSignature **signature);
   1847 void __RPC_STUB IXpsSignatureRequest_GetSignature_Stub(
   1848     IRpcStubBuffer* This,
   1849     IRpcChannelBuffer* pRpcChannelBuffer,
   1850     PRPC_MESSAGE pRpcMessage,
   1851     DWORD* pdwStubPhase);
   1852 
   1853 #endif  /* __IXpsSignatureRequest_INTERFACE_DEFINED__ */
   1854 
   1855 /*****************************************************************************
   1856  * IXpsSignatureRequestCollection interface
   1857  */
   1858 #ifndef __IXpsSignatureRequestCollection_INTERFACE_DEFINED__
   1859 #define __IXpsSignatureRequestCollection_INTERFACE_DEFINED__
   1860 
   1861 DEFINE_GUID(IID_IXpsSignatureRequestCollection, 0xf0253e68, 0x9f19, 0x412e, 0x9b,0x4f, 0x54,0xd3,0xb0,0xac,0x6c,0xd9);
   1862 #if defined(__cplusplus) && !defined(CINTERFACE)
   1863 MIDL_INTERFACE("f0253e68-9f19-412e-9b4f-54d3b0ac6cd9")
   1864 IXpsSignatureRequestCollection : public IUnknown
   1865 {
   1866     virtual HRESULT STDMETHODCALLTYPE GetCount(
   1867         UINT32 *count) = 0;
   1868 
   1869     virtual HRESULT STDMETHODCALLTYPE GetAt(
   1870         UINT32 index,
   1871         IXpsSignatureRequest **signatureRequest) = 0;
   1872 
   1873     virtual HRESULT STDMETHODCALLTYPE RemoveAt(
   1874         UINT32 index) = 0;
   1875 
   1876 };
   1877 #ifdef __CRT_UUID_DECL
   1878 __CRT_UUID_DECL(IXpsSignatureRequestCollection, 0xf0253e68, 0x9f19, 0x412e, 0x9b,0x4f, 0x54,0xd3,0xb0,0xac,0x6c,0xd9)
   1879 #endif
   1880 #else
   1881 typedef struct IXpsSignatureRequestCollectionVtbl {
   1882     BEGIN_INTERFACE
   1883 
   1884     /*** IUnknown methods ***/
   1885     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1886         IXpsSignatureRequestCollection* This,
   1887         REFIID riid,
   1888         void **ppvObject);
   1889 
   1890     ULONG (STDMETHODCALLTYPE *AddRef)(
   1891         IXpsSignatureRequestCollection* This);
   1892 
   1893     ULONG (STDMETHODCALLTYPE *Release)(
   1894         IXpsSignatureRequestCollection* This);
   1895 
   1896     /*** IXpsSignatureRequestCollection methods ***/
   1897     HRESULT (STDMETHODCALLTYPE *GetCount)(
   1898         IXpsSignatureRequestCollection* This,
   1899         UINT32 *count);
   1900 
   1901     HRESULT (STDMETHODCALLTYPE *GetAt)(
   1902         IXpsSignatureRequestCollection* This,
   1903         UINT32 index,
   1904         IXpsSignatureRequest **signatureRequest);
   1905 
   1906     HRESULT (STDMETHODCALLTYPE *RemoveAt)(
   1907         IXpsSignatureRequestCollection* This,
   1908         UINT32 index);
   1909 
   1910     END_INTERFACE
   1911 } IXpsSignatureRequestCollectionVtbl;
   1912 interface IXpsSignatureRequestCollection {
   1913     CONST_VTBL IXpsSignatureRequestCollectionVtbl* lpVtbl;
   1914 };
   1915 
   1916 #ifdef COBJMACROS
   1917 #ifndef WIDL_C_INLINE_WRAPPERS
   1918 /*** IUnknown methods ***/
   1919 #define IXpsSignatureRequestCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1920 #define IXpsSignatureRequestCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
   1921 #define IXpsSignatureRequestCollection_Release(This) (This)->lpVtbl->Release(This)
   1922 /*** IXpsSignatureRequestCollection methods ***/
   1923 #define IXpsSignatureRequestCollection_GetCount(This,count) (This)->lpVtbl->GetCount(This,count)
   1924 #define IXpsSignatureRequestCollection_GetAt(This,index,signatureRequest) (This)->lpVtbl->GetAt(This,index,signatureRequest)
   1925 #define IXpsSignatureRequestCollection_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index)
   1926 #else
   1927 /*** IUnknown methods ***/
   1928 static FORCEINLINE HRESULT IXpsSignatureRequestCollection_QueryInterface(IXpsSignatureRequestCollection* This,REFIID riid,void **ppvObject) {
   1929     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1930 }
   1931 static FORCEINLINE ULONG IXpsSignatureRequestCollection_AddRef(IXpsSignatureRequestCollection* This) {
   1932     return This->lpVtbl->AddRef(This);
   1933 }
   1934 static FORCEINLINE ULONG IXpsSignatureRequestCollection_Release(IXpsSignatureRequestCollection* This) {
   1935     return This->lpVtbl->Release(This);
   1936 }
   1937 /*** IXpsSignatureRequestCollection methods ***/
   1938 static FORCEINLINE HRESULT IXpsSignatureRequestCollection_GetCount(IXpsSignatureRequestCollection* This,UINT32 *count) {
   1939     return This->lpVtbl->GetCount(This,count);
   1940 }
   1941 static FORCEINLINE HRESULT IXpsSignatureRequestCollection_GetAt(IXpsSignatureRequestCollection* This,UINT32 index,IXpsSignatureRequest **signatureRequest) {
   1942     return This->lpVtbl->GetAt(This,index,signatureRequest);
   1943 }
   1944 static FORCEINLINE HRESULT IXpsSignatureRequestCollection_RemoveAt(IXpsSignatureRequestCollection* This,UINT32 index) {
   1945     return This->lpVtbl->RemoveAt(This,index);
   1946 }
   1947 #endif
   1948 #endif
   1949 
   1950 #endif
   1951 
   1952 HRESULT STDMETHODCALLTYPE IXpsSignatureRequestCollection_GetCount_Proxy(
   1953     IXpsSignatureRequestCollection* This,
   1954     UINT32 *count);
   1955 void __RPC_STUB IXpsSignatureRequestCollection_GetCount_Stub(
   1956     IRpcStubBuffer* This,
   1957     IRpcChannelBuffer* pRpcChannelBuffer,
   1958     PRPC_MESSAGE pRpcMessage,
   1959     DWORD* pdwStubPhase);
   1960 HRESULT STDMETHODCALLTYPE IXpsSignatureRequestCollection_GetAt_Proxy(
   1961     IXpsSignatureRequestCollection* This,
   1962     UINT32 index,
   1963     IXpsSignatureRequest **signatureRequest);
   1964 void __RPC_STUB IXpsSignatureRequestCollection_GetAt_Stub(
   1965     IRpcStubBuffer* This,
   1966     IRpcChannelBuffer* pRpcChannelBuffer,
   1967     PRPC_MESSAGE pRpcMessage,
   1968     DWORD* pdwStubPhase);
   1969 HRESULT STDMETHODCALLTYPE IXpsSignatureRequestCollection_RemoveAt_Proxy(
   1970     IXpsSignatureRequestCollection* This,
   1971     UINT32 index);
   1972 void __RPC_STUB IXpsSignatureRequestCollection_RemoveAt_Stub(
   1973     IRpcStubBuffer* This,
   1974     IRpcChannelBuffer* pRpcChannelBuffer,
   1975     PRPC_MESSAGE pRpcMessage,
   1976     DWORD* pdwStubPhase);
   1977 
   1978 #endif  /* __IXpsSignatureRequestCollection_INTERFACE_DEFINED__ */
   1979 
   1980 /*****************************************************************************
   1981  * XpsSignatureManager coclass
   1982  */
   1983 
   1984 DEFINE_GUID(CLSID_XpsSignatureManager, 0xb0c43320, 0x2315, 0x44a2, 0xb7,0x0a, 0x09,0x43,0xa1,0x40,0xa8,0xee);
   1985 
   1986 #ifdef __cplusplus
   1987 class DECLSPEC_UUID("b0c43320-2315-44a2-b70a-0943a140a8ee") XpsSignatureManager;
   1988 #ifdef __CRT_UUID_DECL
   1989 __CRT_UUID_DECL(XpsSignatureManager, 0xb0c43320, 0x2315, 0x44a2, 0xb7,0x0a, 0x09,0x43,0xa1,0x40,0xa8,0xee)
   1990 #endif
   1991 #endif
   1992 
   1993 #endif
   1994 #endif
   1995 /* Begin additional prototypes for all interfaces */
   1996 
   1997 
   1998 /* End additional prototypes */
   1999 
   2000 #ifdef __cplusplus
   2001 }
   2002 #endif
   2003 
   2004 #endif /* __xpsdigitalsignature_h__ */
   2005