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__
22typedef interface IXpsSigningOptions IXpsSigningOptions;
23#endif
24
25#ifndef __IXpsSignature_FWD_DEFINED__
26#define __IXpsSignature_FWD_DEFINED__
27typedef interface IXpsSignature IXpsSignature;
28#endif
29
30#ifndef __IXpsSignatureBlock_FWD_DEFINED__
31#define __IXpsSignatureBlock_FWD_DEFINED__
32typedef interface IXpsSignatureBlock IXpsSignatureBlock;
33#endif
34
35#ifndef __IXpsSignatureBlockCollection_FWD_DEFINED__
36#define __IXpsSignatureBlockCollection_FWD_DEFINED__
37typedef interface IXpsSignatureBlockCollection IXpsSignatureBlockCollection;
38#endif
39
40#ifndef __IXpsSignatureCollection_FWD_DEFINED__
41#define __IXpsSignatureCollection_FWD_DEFINED__
42typedef interface IXpsSignatureCollection IXpsSignatureCollection;
43#endif
44
45#ifndef __IXpsSignatureManager_FWD_DEFINED__
46#define __IXpsSignatureManager_FWD_DEFINED__
47typedef interface IXpsSignatureManager IXpsSignatureManager;
48#endif
49
50#ifndef __IXpsSignatureRequest_FWD_DEFINED__
51#define __IXpsSignatureRequest_FWD_DEFINED__
52typedef interface IXpsSignatureRequest IXpsSignatureRequest;
53#endif
54
55#ifndef __IXpsSignatureRequestCollection_FWD_DEFINED__
56#define __IXpsSignatureRequestCollection_FWD_DEFINED__
57typedef interface IXpsSignatureRequestCollection IXpsSignatureRequestCollection;
58#endif
59
60#ifndef __XpsSignatureManager_FWD_DEFINED__
61#define __XpsSignatureManager_FWD_DEFINED__
62#ifdef __cplusplus
63typedef class XpsSignatureManager XpsSignatureManager;
64#else
65typedef 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
76extern "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
91DEFINE_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__
95typedef interface IXpsSigningOptions IXpsSigningOptions;
96#endif
97
98#ifndef __IXpsSignatureCollection_FWD_DEFINED__
99#define __IXpsSignatureCollection_FWD_DEFINED__
100typedef interface IXpsSignatureCollection IXpsSignatureCollection;
101#endif
102
103#ifndef __IXpsSignature_FWD_DEFINED__
104#define __IXpsSignature_FWD_DEFINED__
105typedef interface IXpsSignature IXpsSignature;
106#endif
107
108#ifndef __IXpsSignatureBlockCollection_FWD_DEFINED__
109#define __IXpsSignatureBlockCollection_FWD_DEFINED__
110typedef interface IXpsSignatureBlockCollection IXpsSignatureBlockCollection;
111#endif
112
113#ifndef __IXpsSignatureBlock_FWD_DEFINED__
114#define __IXpsSignatureBlock_FWD_DEFINED__
115typedef interface IXpsSignatureBlock IXpsSignatureBlock;
116#endif
117
118#ifndef __IXpsSignatureRequestCollection_FWD_DEFINED__
119#define __IXpsSignatureRequestCollection_FWD_DEFINED__
120typedef interface IXpsSignatureRequestCollection IXpsSignatureRequestCollection;
121#endif
122
123#ifndef __IXpsSignatureRequest_FWD_DEFINED__
124#define __IXpsSignatureRequest_FWD_DEFINED__
125typedef interface IXpsSignatureRequest IXpsSignatureRequest;
126#endif
127
128typedef enum __WIDL_xpsdigitalsignature_generated_name_00000020 {
129    XPS_SIGN_FLAGS_NONE = 0x0,
130    XPS_SIGN_FLAGS_IGNORE_MARKUP_COMPATIBILITY = 0x1
131} XPS_SIGN_FLAGS;
132typedef 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;
140typedef 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;
147DEFINE_ENUM_FLAG_OPERATORS(XPS_SIGN_FLAGS)
148DEFINE_ENUM_FLAG_OPERATORS(XPS_SIGN_POLICY)
149/*****************************************************************************
150 * IXpsSigningOptions interface
151 */
152#ifndef __IXpsSigningOptions_INTERFACE_DEFINED__
153#define __IXpsSigningOptions_INTERFACE_DEFINED__
154
155DEFINE_GUID(IID_IXpsSigningOptions, 0x7718eae4, 0x3215, 0x49be, 0xaf,0x5b, 0x59,0x4f,0xef,0x7f,0xcf,0xa6);
156#if defined(__cplusplus) && !defined(CINTERFACE)
157MIDL_INTERFACE("7718eae4-3215-49be-af5b-594fef7fcfa6")
158IXpsSigningOptions : 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
216typedef 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;
302interface 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 ***/
332static FORCEINLINE HRESULT IXpsSigningOptions_QueryInterface(IXpsSigningOptions* This,REFIID riid,void **ppvObject) {
333    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
334}
335static FORCEINLINE ULONG IXpsSigningOptions_AddRef(IXpsSigningOptions* This) {
336    return This->lpVtbl->AddRef(This);
337}
338static FORCEINLINE ULONG IXpsSigningOptions_Release(IXpsSigningOptions* This) {
339    return This->lpVtbl->Release(This);
340}
341/*** IXpsSigningOptions methods ***/
342static FORCEINLINE HRESULT IXpsSigningOptions_GetSignatureId(IXpsSigningOptions* This,LPWSTR *signatureId) {
343    return This->lpVtbl->GetSignatureId(This,signatureId);
344}
345static FORCEINLINE HRESULT IXpsSigningOptions_SetSignatureId(IXpsSigningOptions* This,LPCWSTR signatureId) {
346    return This->lpVtbl->SetSignatureId(This,signatureId);
347}
348static FORCEINLINE HRESULT IXpsSigningOptions_GetSignatureMethod(IXpsSigningOptions* This,LPWSTR *signatureMethod) {
349    return This->lpVtbl->GetSignatureMethod(This,signatureMethod);
350}
351static FORCEINLINE HRESULT IXpsSigningOptions_SetSignatureMethod(IXpsSigningOptions* This,LPCWSTR signatureMethod) {
352    return This->lpVtbl->SetSignatureMethod(This,signatureMethod);
353}
354static FORCEINLINE HRESULT IXpsSigningOptions_GetDigestMethod(IXpsSigningOptions* This,LPWSTR *digestMethod) {
355    return This->lpVtbl->GetDigestMethod(This,digestMethod);
356}
357static FORCEINLINE HRESULT IXpsSigningOptions_SetDigestMethod(IXpsSigningOptions* This,LPCWSTR digestMethod) {
358    return This->lpVtbl->SetDigestMethod(This,digestMethod);
359}
360static FORCEINLINE HRESULT IXpsSigningOptions_GetSignaturePartName(IXpsSigningOptions* This,IOpcPartUri **signaturePartName) {
361    return This->lpVtbl->GetSignaturePartName(This,signaturePartName);
362}
363static FORCEINLINE HRESULT IXpsSigningOptions_SetSignaturePartName(IXpsSigningOptions* This,IOpcPartUri *signaturePartName) {
364    return This->lpVtbl->SetSignaturePartName(This,signaturePartName);
365}
366static FORCEINLINE HRESULT IXpsSigningOptions_GetPolicy(IXpsSigningOptions* This,XPS_SIGN_POLICY *policy) {
367    return This->lpVtbl->GetPolicy(This,policy);
368}
369static FORCEINLINE HRESULT IXpsSigningOptions_SetPolicy(IXpsSigningOptions* This,XPS_SIGN_POLICY policy) {
370    return This->lpVtbl->SetPolicy(This,policy);
371}
372static FORCEINLINE HRESULT IXpsSigningOptions_GetSigningTimeFormat(IXpsSigningOptions* This,OPC_SIGNATURE_TIME_FORMAT *timeFormat) {
373    return This->lpVtbl->GetSigningTimeFormat(This,timeFormat);
374}
375static FORCEINLINE HRESULT IXpsSigningOptions_SetSigningTimeFormat(IXpsSigningOptions* This,OPC_SIGNATURE_TIME_FORMAT timeFormat) {
376    return This->lpVtbl->SetSigningTimeFormat(This,timeFormat);
377}
378static FORCEINLINE HRESULT IXpsSigningOptions_GetCustomObjects(IXpsSigningOptions* This,IOpcSignatureCustomObjectSet **customObjectSet) {
379    return This->lpVtbl->GetCustomObjects(This,customObjectSet);
380}
381static FORCEINLINE HRESULT IXpsSigningOptions_GetCustomReferences(IXpsSigningOptions* This,IOpcSignatureReferenceSet **customReferenceSet) {
382    return This->lpVtbl->GetCustomReferences(This,customReferenceSet);
383}
384static FORCEINLINE HRESULT IXpsSigningOptions_GetCertificateSet(IXpsSigningOptions* This,IOpcCertificateSet **certificateSet) {
385    return This->lpVtbl->GetCertificateSet(This,certificateSet);
386}
387static FORCEINLINE HRESULT IXpsSigningOptions_GetFlags(IXpsSigningOptions* This,XPS_SIGN_FLAGS *flags) {
388    return This->lpVtbl->GetFlags(This,flags);
389}
390static 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
398HRESULT STDMETHODCALLTYPE IXpsSigningOptions_GetSignatureId_Proxy(
399    IXpsSigningOptions* This,
400    LPWSTR *signatureId);
401void __RPC_STUB IXpsSigningOptions_GetSignatureId_Stub(
402    IRpcStubBuffer* This,
403    IRpcChannelBuffer* pRpcChannelBuffer,
404    PRPC_MESSAGE pRpcMessage,
405    DWORD* pdwStubPhase);
406HRESULT STDMETHODCALLTYPE IXpsSigningOptions_SetSignatureId_Proxy(
407    IXpsSigningOptions* This,
408    LPCWSTR signatureId);
409void __RPC_STUB IXpsSigningOptions_SetSignatureId_Stub(
410    IRpcStubBuffer* This,
411    IRpcChannelBuffer* pRpcChannelBuffer,
412    PRPC_MESSAGE pRpcMessage,
413    DWORD* pdwStubPhase);
414HRESULT STDMETHODCALLTYPE IXpsSigningOptions_GetSignatureMethod_Proxy(
415    IXpsSigningOptions* This,
416    LPWSTR *signatureMethod);
417void __RPC_STUB IXpsSigningOptions_GetSignatureMethod_Stub(
418    IRpcStubBuffer* This,
419    IRpcChannelBuffer* pRpcChannelBuffer,
420    PRPC_MESSAGE pRpcMessage,
421    DWORD* pdwStubPhase);
422HRESULT STDMETHODCALLTYPE IXpsSigningOptions_SetSignatureMethod_Proxy(
423    IXpsSigningOptions* This,
424    LPCWSTR signatureMethod);
425void __RPC_STUB IXpsSigningOptions_SetSignatureMethod_Stub(
426    IRpcStubBuffer* This,
427    IRpcChannelBuffer* pRpcChannelBuffer,
428    PRPC_MESSAGE pRpcMessage,
429    DWORD* pdwStubPhase);
430HRESULT STDMETHODCALLTYPE IXpsSigningOptions_GetDigestMethod_Proxy(
431    IXpsSigningOptions* This,
432    LPWSTR *digestMethod);
433void __RPC_STUB IXpsSigningOptions_GetDigestMethod_Stub(
434    IRpcStubBuffer* This,
435    IRpcChannelBuffer* pRpcChannelBuffer,
436    PRPC_MESSAGE pRpcMessage,
437    DWORD* pdwStubPhase);
438HRESULT STDMETHODCALLTYPE IXpsSigningOptions_SetDigestMethod_Proxy(
439    IXpsSigningOptions* This,
440    LPCWSTR digestMethod);
441void __RPC_STUB IXpsSigningOptions_SetDigestMethod_Stub(
442    IRpcStubBuffer* This,
443    IRpcChannelBuffer* pRpcChannelBuffer,
444    PRPC_MESSAGE pRpcMessage,
445    DWORD* pdwStubPhase);
446HRESULT STDMETHODCALLTYPE IXpsSigningOptions_GetSignaturePartName_Proxy(
447    IXpsSigningOptions* This,
448    IOpcPartUri **signaturePartName);
449void __RPC_STUB IXpsSigningOptions_GetSignaturePartName_Stub(
450    IRpcStubBuffer* This,
451    IRpcChannelBuffer* pRpcChannelBuffer,
452    PRPC_MESSAGE pRpcMessage,
453    DWORD* pdwStubPhase);
454HRESULT STDMETHODCALLTYPE IXpsSigningOptions_SetSignaturePartName_Proxy(
455    IXpsSigningOptions* This,
456    IOpcPartUri *signaturePartName);
457void __RPC_STUB IXpsSigningOptions_SetSignaturePartName_Stub(
458    IRpcStubBuffer* This,
459    IRpcChannelBuffer* pRpcChannelBuffer,
460    PRPC_MESSAGE pRpcMessage,
461    DWORD* pdwStubPhase);
462HRESULT STDMETHODCALLTYPE IXpsSigningOptions_GetPolicy_Proxy(
463    IXpsSigningOptions* This,
464    XPS_SIGN_POLICY *policy);
465void __RPC_STUB IXpsSigningOptions_GetPolicy_Stub(
466    IRpcStubBuffer* This,
467    IRpcChannelBuffer* pRpcChannelBuffer,
468    PRPC_MESSAGE pRpcMessage,
469    DWORD* pdwStubPhase);
470HRESULT STDMETHODCALLTYPE IXpsSigningOptions_SetPolicy_Proxy(
471    IXpsSigningOptions* This,
472    XPS_SIGN_POLICY policy);
473void __RPC_STUB IXpsSigningOptions_SetPolicy_Stub(
474    IRpcStubBuffer* This,
475    IRpcChannelBuffer* pRpcChannelBuffer,
476    PRPC_MESSAGE pRpcMessage,
477    DWORD* pdwStubPhase);
478HRESULT STDMETHODCALLTYPE IXpsSigningOptions_GetSigningTimeFormat_Proxy(
479    IXpsSigningOptions* This,
480    OPC_SIGNATURE_TIME_FORMAT *timeFormat);
481void __RPC_STUB IXpsSigningOptions_GetSigningTimeFormat_Stub(
482    IRpcStubBuffer* This,
483    IRpcChannelBuffer* pRpcChannelBuffer,
484    PRPC_MESSAGE pRpcMessage,
485    DWORD* pdwStubPhase);
486HRESULT STDMETHODCALLTYPE IXpsSigningOptions_SetSigningTimeFormat_Proxy(
487    IXpsSigningOptions* This,
488    OPC_SIGNATURE_TIME_FORMAT timeFormat);
489void __RPC_STUB IXpsSigningOptions_SetSigningTimeFormat_Stub(
490    IRpcStubBuffer* This,
491    IRpcChannelBuffer* pRpcChannelBuffer,
492    PRPC_MESSAGE pRpcMessage,
493    DWORD* pdwStubPhase);
494HRESULT STDMETHODCALLTYPE IXpsSigningOptions_GetCustomObjects_Proxy(
495    IXpsSigningOptions* This,
496    IOpcSignatureCustomObjectSet **customObjectSet);
497void __RPC_STUB IXpsSigningOptions_GetCustomObjects_Stub(
498    IRpcStubBuffer* This,
499    IRpcChannelBuffer* pRpcChannelBuffer,
500    PRPC_MESSAGE pRpcMessage,
501    DWORD* pdwStubPhase);
502HRESULT STDMETHODCALLTYPE IXpsSigningOptions_GetCustomReferences_Proxy(
503    IXpsSigningOptions* This,
504    IOpcSignatureReferenceSet **customReferenceSet);
505void __RPC_STUB IXpsSigningOptions_GetCustomReferences_Stub(
506    IRpcStubBuffer* This,
507    IRpcChannelBuffer* pRpcChannelBuffer,
508    PRPC_MESSAGE pRpcMessage,
509    DWORD* pdwStubPhase);
510HRESULT STDMETHODCALLTYPE IXpsSigningOptions_GetCertificateSet_Proxy(
511    IXpsSigningOptions* This,
512    IOpcCertificateSet **certificateSet);
513void __RPC_STUB IXpsSigningOptions_GetCertificateSet_Stub(
514    IRpcStubBuffer* This,
515    IRpcChannelBuffer* pRpcChannelBuffer,
516    PRPC_MESSAGE pRpcMessage,
517    DWORD* pdwStubPhase);
518HRESULT STDMETHODCALLTYPE IXpsSigningOptions_GetFlags_Proxy(
519    IXpsSigningOptions* This,
520    XPS_SIGN_FLAGS *flags);
521void __RPC_STUB IXpsSigningOptions_GetFlags_Stub(
522    IRpcStubBuffer* This,
523    IRpcChannelBuffer* pRpcChannelBuffer,
524    PRPC_MESSAGE pRpcMessage,
525    DWORD* pdwStubPhase);
526HRESULT STDMETHODCALLTYPE IXpsSigningOptions_SetFlags_Proxy(
527    IXpsSigningOptions* This,
528    XPS_SIGN_FLAGS flags);
529void __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
543DEFINE_GUID(IID_IXpsSignature, 0x6ae4c93e, 0x1ade, 0x42fb, 0x89,0x8b, 0x3a,0x56,0x58,0x28,0x48,0x57);
544#if defined(__cplusplus) && !defined(CINTERFACE)
545MIDL_INTERFACE("6ae4c93e-1ade-42fb-898b-3a5658284857")
546IXpsSignature : 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
593typedef 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;
663interface 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 ***/
688static FORCEINLINE HRESULT IXpsSignature_QueryInterface(IXpsSignature* This,REFIID riid,void **ppvObject) {
689    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
690}
691static FORCEINLINE ULONG IXpsSignature_AddRef(IXpsSignature* This) {
692    return This->lpVtbl->AddRef(This);
693}
694static FORCEINLINE ULONG IXpsSignature_Release(IXpsSignature* This) {
695    return This->lpVtbl->Release(This);
696}
697/*** IXpsSignature methods ***/
698static FORCEINLINE HRESULT IXpsSignature_GetSignatureId(IXpsSignature* This,LPWSTR *sigId) {
699    return This->lpVtbl->GetSignatureId(This,sigId);
700}
701static FORCEINLINE HRESULT IXpsSignature_GetSignatureValue(IXpsSignature* This,UINT8 **signatureHashValue,UINT32 *count) {
702    return This->lpVtbl->GetSignatureValue(This,signatureHashValue,count);
703}
704static FORCEINLINE HRESULT IXpsSignature_GetCertificateEnumerator(IXpsSignature* This,IOpcCertificateEnumerator **certificateEnumerator) {
705    return This->lpVtbl->GetCertificateEnumerator(This,certificateEnumerator);
706}
707static FORCEINLINE HRESULT IXpsSignature_GetSigningTime(IXpsSignature* This,LPWSTR *sigDateTimeString) {
708    return This->lpVtbl->GetSigningTime(This,sigDateTimeString);
709}
710static FORCEINLINE HRESULT IXpsSignature_GetSigningTimeFormat(IXpsSignature* This,OPC_SIGNATURE_TIME_FORMAT *timeFormat) {
711    return This->lpVtbl->GetSigningTimeFormat(This,timeFormat);
712}
713static FORCEINLINE HRESULT IXpsSignature_GetSignaturePartName(IXpsSignature* This,IOpcPartUri **signaturePartName) {
714    return This->lpVtbl->GetSignaturePartName(This,signaturePartName);
715}
716static FORCEINLINE HRESULT IXpsSignature_Verify(IXpsSignature* This,const CERT_CONTEXT *x509Certificate,XPS_SIGNATURE_STATUS *sigStatus) {
717    return This->lpVtbl->Verify(This,x509Certificate,sigStatus);
718}
719static FORCEINLINE HRESULT IXpsSignature_GetPolicy(IXpsSignature* This,XPS_SIGN_POLICY *policy) {
720    return This->lpVtbl->GetPolicy(This,policy);
721}
722static FORCEINLINE HRESULT IXpsSignature_GetCustomObjectEnumerator(IXpsSignature* This,IOpcSignatureCustomObjectEnumerator **customObjectEnumerator) {
723    return This->lpVtbl->GetCustomObjectEnumerator(This,customObjectEnumerator);
724}
725static FORCEINLINE HRESULT IXpsSignature_GetCustomReferenceEnumerator(IXpsSignature* This,IOpcSignatureReferenceEnumerator **customReferenceEnumerator) {
726    return This->lpVtbl->GetCustomReferenceEnumerator(This,customReferenceEnumerator);
727}
728static FORCEINLINE HRESULT IXpsSignature_GetSignatureXml(IXpsSignature* This,UINT8 **signatureXml,UINT32 *count) {
729    return This->lpVtbl->GetSignatureXml(This,signatureXml,count);
730}
731static 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
739HRESULT STDMETHODCALLTYPE IXpsSignature_GetSignatureId_Proxy(
740    IXpsSignature* This,
741    LPWSTR *sigId);
742void __RPC_STUB IXpsSignature_GetSignatureId_Stub(
743    IRpcStubBuffer* This,
744    IRpcChannelBuffer* pRpcChannelBuffer,
745    PRPC_MESSAGE pRpcMessage,
746    DWORD* pdwStubPhase);
747HRESULT STDMETHODCALLTYPE IXpsSignature_GetSignatureValue_Proxy(
748    IXpsSignature* This,
749    UINT8 **signatureHashValue,
750    UINT32 *count);
751void __RPC_STUB IXpsSignature_GetSignatureValue_Stub(
752    IRpcStubBuffer* This,
753    IRpcChannelBuffer* pRpcChannelBuffer,
754    PRPC_MESSAGE pRpcMessage,
755    DWORD* pdwStubPhase);
756HRESULT STDMETHODCALLTYPE IXpsSignature_GetCertificateEnumerator_Proxy(
757    IXpsSignature* This,
758    IOpcCertificateEnumerator **certificateEnumerator);
759void __RPC_STUB IXpsSignature_GetCertificateEnumerator_Stub(
760    IRpcStubBuffer* This,
761    IRpcChannelBuffer* pRpcChannelBuffer,
762    PRPC_MESSAGE pRpcMessage,
763    DWORD* pdwStubPhase);
764HRESULT STDMETHODCALLTYPE IXpsSignature_GetSigningTime_Proxy(
765    IXpsSignature* This,
766    LPWSTR *sigDateTimeString);
767void __RPC_STUB IXpsSignature_GetSigningTime_Stub(
768    IRpcStubBuffer* This,
769    IRpcChannelBuffer* pRpcChannelBuffer,
770    PRPC_MESSAGE pRpcMessage,
771    DWORD* pdwStubPhase);
772HRESULT STDMETHODCALLTYPE IXpsSignature_GetSigningTimeFormat_Proxy(
773    IXpsSignature* This,
774    OPC_SIGNATURE_TIME_FORMAT *timeFormat);
775void __RPC_STUB IXpsSignature_GetSigningTimeFormat_Stub(
776    IRpcStubBuffer* This,
777    IRpcChannelBuffer* pRpcChannelBuffer,
778    PRPC_MESSAGE pRpcMessage,
779    DWORD* pdwStubPhase);
780HRESULT STDMETHODCALLTYPE IXpsSignature_GetSignaturePartName_Proxy(
781    IXpsSignature* This,
782    IOpcPartUri **signaturePartName);
783void __RPC_STUB IXpsSignature_GetSignaturePartName_Stub(
784    IRpcStubBuffer* This,
785    IRpcChannelBuffer* pRpcChannelBuffer,
786    PRPC_MESSAGE pRpcMessage,
787    DWORD* pdwStubPhase);
788HRESULT STDMETHODCALLTYPE IXpsSignature_Verify_Proxy(
789    IXpsSignature* This,
790    const CERT_CONTEXT *x509Certificate,
791    XPS_SIGNATURE_STATUS *sigStatus);
792void __RPC_STUB IXpsSignature_Verify_Stub(
793    IRpcStubBuffer* This,
794    IRpcChannelBuffer* pRpcChannelBuffer,
795    PRPC_MESSAGE pRpcMessage,
796    DWORD* pdwStubPhase);
797HRESULT STDMETHODCALLTYPE IXpsSignature_GetPolicy_Proxy(
798    IXpsSignature* This,
799    XPS_SIGN_POLICY *policy);
800void __RPC_STUB IXpsSignature_GetPolicy_Stub(
801    IRpcStubBuffer* This,
802    IRpcChannelBuffer* pRpcChannelBuffer,
803    PRPC_MESSAGE pRpcMessage,
804    DWORD* pdwStubPhase);
805HRESULT STDMETHODCALLTYPE IXpsSignature_GetCustomObjectEnumerator_Proxy(
806    IXpsSignature* This,
807    IOpcSignatureCustomObjectEnumerator **customObjectEnumerator);
808void __RPC_STUB IXpsSignature_GetCustomObjectEnumerator_Stub(
809    IRpcStubBuffer* This,
810    IRpcChannelBuffer* pRpcChannelBuffer,
811    PRPC_MESSAGE pRpcMessage,
812    DWORD* pdwStubPhase);
813HRESULT STDMETHODCALLTYPE IXpsSignature_GetCustomReferenceEnumerator_Proxy(
814    IXpsSignature* This,
815    IOpcSignatureReferenceEnumerator **customReferenceEnumerator);
816void __RPC_STUB IXpsSignature_GetCustomReferenceEnumerator_Stub(
817    IRpcStubBuffer* This,
818    IRpcChannelBuffer* pRpcChannelBuffer,
819    PRPC_MESSAGE pRpcMessage,
820    DWORD* pdwStubPhase);
821HRESULT STDMETHODCALLTYPE IXpsSignature_GetSignatureXml_Proxy(
822    IXpsSignature* This,
823    UINT8 **signatureXml,
824    UINT32 *count);
825void __RPC_STUB IXpsSignature_GetSignatureXml_Stub(
826    IRpcStubBuffer* This,
827    IRpcChannelBuffer* pRpcChannelBuffer,
828    PRPC_MESSAGE pRpcMessage,
829    DWORD* pdwStubPhase);
830HRESULT STDMETHODCALLTYPE IXpsSignature_SetSignatureXml_Proxy(
831    IXpsSignature* This,
832    const UINT8 *signatureXml,
833    UINT32 count);
834void __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
848DEFINE_GUID(IID_IXpsSignatureBlock, 0x151fac09, 0x0b97, 0x4ac6, 0xa3,0x23, 0x5e,0x42,0x97,0xd4,0x32,0x2b);
849#if defined(__cplusplus) && !defined(CINTERFACE)
850MIDL_INTERFACE("151fac09-0b97-4ac6-a323-5e4297d4322b")
851IXpsSignatureBlock : 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
874typedef 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;
913interface 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 ***/
931static FORCEINLINE HRESULT IXpsSignatureBlock_QueryInterface(IXpsSignatureBlock* This,REFIID riid,void **ppvObject) {
932    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
933}
934static FORCEINLINE ULONG IXpsSignatureBlock_AddRef(IXpsSignatureBlock* This) {
935    return This->lpVtbl->AddRef(This);
936}
937static FORCEINLINE ULONG IXpsSignatureBlock_Release(IXpsSignatureBlock* This) {
938    return This->lpVtbl->Release(This);
939}
940/*** IXpsSignatureBlock methods ***/
941static FORCEINLINE HRESULT IXpsSignatureBlock_GetRequests(IXpsSignatureBlock* This,IXpsSignatureRequestCollection **requests) {
942    return This->lpVtbl->GetRequests(This,requests);
943}
944static FORCEINLINE HRESULT IXpsSignatureBlock_GetPartName(IXpsSignatureBlock* This,IOpcPartUri **partName) {
945    return This->lpVtbl->GetPartName(This,partName);
946}
947static FORCEINLINE HRESULT IXpsSignatureBlock_GetDocumentIndex(IXpsSignatureBlock* This,UINT32 *fixedDocumentIndex) {
948    return This->lpVtbl->GetDocumentIndex(This,fixedDocumentIndex);
949}
950static FORCEINLINE HRESULT IXpsSignatureBlock_GetDocumentName(IXpsSignatureBlock* This,IOpcPartUri **fixedDocumentName) {
951    return This->lpVtbl->GetDocumentName(This,fixedDocumentName);
952}
953static 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
961HRESULT STDMETHODCALLTYPE IXpsSignatureBlock_GetRequests_Proxy(
962    IXpsSignatureBlock* This,
963    IXpsSignatureRequestCollection **requests);
964void __RPC_STUB IXpsSignatureBlock_GetRequests_Stub(
965    IRpcStubBuffer* This,
966    IRpcChannelBuffer* pRpcChannelBuffer,
967    PRPC_MESSAGE pRpcMessage,
968    DWORD* pdwStubPhase);
969HRESULT STDMETHODCALLTYPE IXpsSignatureBlock_GetPartName_Proxy(
970    IXpsSignatureBlock* This,
971    IOpcPartUri **partName);
972void __RPC_STUB IXpsSignatureBlock_GetPartName_Stub(
973    IRpcStubBuffer* This,
974    IRpcChannelBuffer* pRpcChannelBuffer,
975    PRPC_MESSAGE pRpcMessage,
976    DWORD* pdwStubPhase);
977HRESULT STDMETHODCALLTYPE IXpsSignatureBlock_GetDocumentIndex_Proxy(
978    IXpsSignatureBlock* This,
979    UINT32 *fixedDocumentIndex);
980void __RPC_STUB IXpsSignatureBlock_GetDocumentIndex_Stub(
981    IRpcStubBuffer* This,
982    IRpcChannelBuffer* pRpcChannelBuffer,
983    PRPC_MESSAGE pRpcMessage,
984    DWORD* pdwStubPhase);
985HRESULT STDMETHODCALLTYPE IXpsSignatureBlock_GetDocumentName_Proxy(
986    IXpsSignatureBlock* This,
987    IOpcPartUri **fixedDocumentName);
988void __RPC_STUB IXpsSignatureBlock_GetDocumentName_Stub(
989    IRpcStubBuffer* This,
990    IRpcChannelBuffer* pRpcChannelBuffer,
991    PRPC_MESSAGE pRpcMessage,
992    DWORD* pdwStubPhase);
993HRESULT STDMETHODCALLTYPE IXpsSignatureBlock_CreateRequest_Proxy(
994    IXpsSignatureBlock* This,
995    LPCWSTR requestId,
996    IXpsSignatureRequest **signatureRequest);
997void __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
1011DEFINE_GUID(IID_IXpsSignatureBlockCollection, 0x23397050, 0xfe99, 0x467a, 0x8d,0xce, 0x92,0x37,0xf0,0x74,0xff,0xe4);
1012#if defined(__cplusplus) && !defined(CINTERFACE)
1013MIDL_INTERFACE("23397050-fe99-467a-8dce-9237f074ffe4")
1014IXpsSignatureBlockCollection : 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
1031typedef 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;
1062interface 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 ***/
1078static FORCEINLINE HRESULT IXpsSignatureBlockCollection_QueryInterface(IXpsSignatureBlockCollection* This,REFIID riid,void **ppvObject) {
1079    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1080}
1081static FORCEINLINE ULONG IXpsSignatureBlockCollection_AddRef(IXpsSignatureBlockCollection* This) {
1082    return This->lpVtbl->AddRef(This);
1083}
1084static FORCEINLINE ULONG IXpsSignatureBlockCollection_Release(IXpsSignatureBlockCollection* This) {
1085    return This->lpVtbl->Release(This);
1086}
1087/*** IXpsSignatureBlockCollection methods ***/
1088static FORCEINLINE HRESULT IXpsSignatureBlockCollection_GetCount(IXpsSignatureBlockCollection* This,UINT32 *count) {
1089    return This->lpVtbl->GetCount(This,count);
1090}
1091static FORCEINLINE HRESULT IXpsSignatureBlockCollection_GetAt(IXpsSignatureBlockCollection* This,UINT32 index,IXpsSignatureBlock **signatureBlock) {
1092    return This->lpVtbl->GetAt(This,index,signatureBlock);
1093}
1094static FORCEINLINE HRESULT IXpsSignatureBlockCollection_RemoveAt(IXpsSignatureBlockCollection* This,UINT32 index) {
1095    return This->lpVtbl->RemoveAt(This,index);
1096}
1097#endif
1098#endif
1099
1100#endif
1101
1102HRESULT STDMETHODCALLTYPE IXpsSignatureBlockCollection_GetCount_Proxy(
1103    IXpsSignatureBlockCollection* This,
1104    UINT32 *count);
1105void __RPC_STUB IXpsSignatureBlockCollection_GetCount_Stub(
1106    IRpcStubBuffer* This,
1107    IRpcChannelBuffer* pRpcChannelBuffer,
1108    PRPC_MESSAGE pRpcMessage,
1109    DWORD* pdwStubPhase);
1110HRESULT STDMETHODCALLTYPE IXpsSignatureBlockCollection_GetAt_Proxy(
1111    IXpsSignatureBlockCollection* This,
1112    UINT32 index,
1113    IXpsSignatureBlock **signatureBlock);
1114void __RPC_STUB IXpsSignatureBlockCollection_GetAt_Stub(
1115    IRpcStubBuffer* This,
1116    IRpcChannelBuffer* pRpcChannelBuffer,
1117    PRPC_MESSAGE pRpcMessage,
1118    DWORD* pdwStubPhase);
1119HRESULT STDMETHODCALLTYPE IXpsSignatureBlockCollection_RemoveAt_Proxy(
1120    IXpsSignatureBlockCollection* This,
1121    UINT32 index);
1122void __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
1136DEFINE_GUID(IID_IXpsSignatureCollection, 0xa2d1d95d, 0xadd2, 0x4dff, 0xab,0x27, 0x6b,0x9c,0x64,0x5f,0xf3,0x22);
1137#if defined(__cplusplus) && !defined(CINTERFACE)
1138MIDL_INTERFACE("a2d1d95d-add2-4dff-ab27-6b9c645ff322")
1139IXpsSignatureCollection : 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
1156typedef 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;
1187interface 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 ***/
1203static FORCEINLINE HRESULT IXpsSignatureCollection_QueryInterface(IXpsSignatureCollection* This,REFIID riid,void **ppvObject) {
1204    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1205}
1206static FORCEINLINE ULONG IXpsSignatureCollection_AddRef(IXpsSignatureCollection* This) {
1207    return This->lpVtbl->AddRef(This);
1208}
1209static FORCEINLINE ULONG IXpsSignatureCollection_Release(IXpsSignatureCollection* This) {
1210    return This->lpVtbl->Release(This);
1211}
1212/*** IXpsSignatureCollection methods ***/
1213static FORCEINLINE HRESULT IXpsSignatureCollection_GetCount(IXpsSignatureCollection* This,UINT32 *count) {
1214    return This->lpVtbl->GetCount(This,count);
1215}
1216static FORCEINLINE HRESULT IXpsSignatureCollection_GetAt(IXpsSignatureCollection* This,UINT32 index,IXpsSignature **signature) {
1217    return This->lpVtbl->GetAt(This,index,signature);
1218}
1219static FORCEINLINE HRESULT IXpsSignatureCollection_RemoveAt(IXpsSignatureCollection* This,UINT32 index) {
1220    return This->lpVtbl->RemoveAt(This,index);
1221}
1222#endif
1223#endif
1224
1225#endif
1226
1227HRESULT STDMETHODCALLTYPE IXpsSignatureCollection_GetCount_Proxy(
1228    IXpsSignatureCollection* This,
1229    UINT32 *count);
1230void __RPC_STUB IXpsSignatureCollection_GetCount_Stub(
1231    IRpcStubBuffer* This,
1232    IRpcChannelBuffer* pRpcChannelBuffer,
1233    PRPC_MESSAGE pRpcMessage,
1234    DWORD* pdwStubPhase);
1235HRESULT STDMETHODCALLTYPE IXpsSignatureCollection_GetAt_Proxy(
1236    IXpsSignatureCollection* This,
1237    UINT32 index,
1238    IXpsSignature **signature);
1239void __RPC_STUB IXpsSignatureCollection_GetAt_Stub(
1240    IRpcStubBuffer* This,
1241    IRpcChannelBuffer* pRpcChannelBuffer,
1242    PRPC_MESSAGE pRpcMessage,
1243    DWORD* pdwStubPhase);
1244HRESULT STDMETHODCALLTYPE IXpsSignatureCollection_RemoveAt_Proxy(
1245    IXpsSignatureCollection* This,
1246    UINT32 index);
1247void __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
1261DEFINE_GUID(IID_IXpsSignatureManager, 0xd3e8d338, 0xfdc4, 0x4afc, 0x80,0xb5, 0xd5,0x32,0xa1,0x78,0x2e,0xe1);
1262#if defined(__cplusplus) && !defined(CINTERFACE)
1263MIDL_INTERFACE("d3e8d338-fdc4-4afc-80b5-d532a1782ee1")
1264IXpsSignatureManager : 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
1310typedef 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;
1378interface 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 ***/
1402static FORCEINLINE HRESULT IXpsSignatureManager_QueryInterface(IXpsSignatureManager* This,REFIID riid,void **ppvObject) {
1403    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1404}
1405static FORCEINLINE ULONG IXpsSignatureManager_AddRef(IXpsSignatureManager* This) {
1406    return This->lpVtbl->AddRef(This);
1407}
1408static FORCEINLINE ULONG IXpsSignatureManager_Release(IXpsSignatureManager* This) {
1409    return This->lpVtbl->Release(This);
1410}
1411/*** IXpsSignatureManager methods ***/
1412static FORCEINLINE HRESULT IXpsSignatureManager_LoadPackageFile(IXpsSignatureManager* This,LPCWSTR fileName) {
1413    return This->lpVtbl->LoadPackageFile(This,fileName);
1414}
1415static FORCEINLINE HRESULT IXpsSignatureManager_LoadPackageStream(IXpsSignatureManager* This,IStream *stream) {
1416    return This->lpVtbl->LoadPackageStream(This,stream);
1417}
1418static FORCEINLINE HRESULT IXpsSignatureManager_Sign(IXpsSignatureManager* This,IXpsSigningOptions *signOptions,const CERT_CONTEXT *x509Certificate,IXpsSignature **signature) {
1419    return This->lpVtbl->Sign(This,signOptions,x509Certificate,signature);
1420}
1421static FORCEINLINE HRESULT IXpsSignatureManager_GetSignatureOriginPartName(IXpsSignatureManager* This,IOpcPartUri **signatureOriginPartName) {
1422    return This->lpVtbl->GetSignatureOriginPartName(This,signatureOriginPartName);
1423}
1424static FORCEINLINE HRESULT IXpsSignatureManager_SetSignatureOriginPartName(IXpsSignatureManager* This,IOpcPartUri *signatureOriginPartName) {
1425    return This->lpVtbl->SetSignatureOriginPartName(This,signatureOriginPartName);
1426}
1427static FORCEINLINE HRESULT IXpsSignatureManager_GetSignatures(IXpsSignatureManager* This,IXpsSignatureCollection **signatures) {
1428    return This->lpVtbl->GetSignatures(This,signatures);
1429}
1430static FORCEINLINE HRESULT IXpsSignatureManager_AddSignatureBlock(IXpsSignatureManager* This,IOpcPartUri *partName,UINT32 fixedDocumentIndex,IXpsSignatureBlock **signatureBlock) {
1431    return This->lpVtbl->AddSignatureBlock(This,partName,fixedDocumentIndex,signatureBlock);
1432}
1433static FORCEINLINE HRESULT IXpsSignatureManager_GetSignatureBlocks(IXpsSignatureManager* This,IXpsSignatureBlockCollection **signatureBlocks) {
1434    return This->lpVtbl->GetSignatureBlocks(This,signatureBlocks);
1435}
1436static FORCEINLINE HRESULT IXpsSignatureManager_CreateSigningOptions(IXpsSignatureManager* This,IXpsSigningOptions **signingOptions) {
1437    return This->lpVtbl->CreateSigningOptions(This,signingOptions);
1438}
1439static FORCEINLINE HRESULT IXpsSignatureManager_SavePackageToFile(IXpsSignatureManager* This,LPCWSTR fileName,LPSECURITY_ATTRIBUTES securityAttributes,DWORD flagsAndAttributes) {
1440    return This->lpVtbl->SavePackageToFile(This,fileName,securityAttributes,flagsAndAttributes);
1441}
1442static FORCEINLINE HRESULT IXpsSignatureManager_SavePackageToStream(IXpsSignatureManager* This,IStream *stream) {
1443    return This->lpVtbl->SavePackageToStream(This,stream);
1444}
1445#endif
1446#endif
1447
1448#endif
1449
1450HRESULT STDMETHODCALLTYPE IXpsSignatureManager_LoadPackageFile_Proxy(
1451    IXpsSignatureManager* This,
1452    LPCWSTR fileName);
1453void __RPC_STUB IXpsSignatureManager_LoadPackageFile_Stub(
1454    IRpcStubBuffer* This,
1455    IRpcChannelBuffer* pRpcChannelBuffer,
1456    PRPC_MESSAGE pRpcMessage,
1457    DWORD* pdwStubPhase);
1458HRESULT STDMETHODCALLTYPE IXpsSignatureManager_LoadPackageStream_Proxy(
1459    IXpsSignatureManager* This,
1460    IStream *stream);
1461void __RPC_STUB IXpsSignatureManager_LoadPackageStream_Stub(
1462    IRpcStubBuffer* This,
1463    IRpcChannelBuffer* pRpcChannelBuffer,
1464    PRPC_MESSAGE pRpcMessage,
1465    DWORD* pdwStubPhase);
1466HRESULT STDMETHODCALLTYPE IXpsSignatureManager_Sign_Proxy(
1467    IXpsSignatureManager* This,
1468    IXpsSigningOptions *signOptions,
1469    const CERT_CONTEXT *x509Certificate,
1470    IXpsSignature **signature);
1471void __RPC_STUB IXpsSignatureManager_Sign_Stub(
1472    IRpcStubBuffer* This,
1473    IRpcChannelBuffer* pRpcChannelBuffer,
1474    PRPC_MESSAGE pRpcMessage,
1475    DWORD* pdwStubPhase);
1476HRESULT STDMETHODCALLTYPE IXpsSignatureManager_GetSignatureOriginPartName_Proxy(
1477    IXpsSignatureManager* This,
1478    IOpcPartUri **signatureOriginPartName);
1479void __RPC_STUB IXpsSignatureManager_GetSignatureOriginPartName_Stub(
1480    IRpcStubBuffer* This,
1481    IRpcChannelBuffer* pRpcChannelBuffer,
1482    PRPC_MESSAGE pRpcMessage,
1483    DWORD* pdwStubPhase);
1484HRESULT STDMETHODCALLTYPE IXpsSignatureManager_SetSignatureOriginPartName_Proxy(
1485    IXpsSignatureManager* This,
1486    IOpcPartUri *signatureOriginPartName);
1487void __RPC_STUB IXpsSignatureManager_SetSignatureOriginPartName_Stub(
1488    IRpcStubBuffer* This,
1489    IRpcChannelBuffer* pRpcChannelBuffer,
1490    PRPC_MESSAGE pRpcMessage,
1491    DWORD* pdwStubPhase);
1492HRESULT STDMETHODCALLTYPE IXpsSignatureManager_GetSignatures_Proxy(
1493    IXpsSignatureManager* This,
1494    IXpsSignatureCollection **signatures);
1495void __RPC_STUB IXpsSignatureManager_GetSignatures_Stub(
1496    IRpcStubBuffer* This,
1497    IRpcChannelBuffer* pRpcChannelBuffer,
1498    PRPC_MESSAGE pRpcMessage,
1499    DWORD* pdwStubPhase);
1500HRESULT STDMETHODCALLTYPE IXpsSignatureManager_AddSignatureBlock_Proxy(
1501    IXpsSignatureManager* This,
1502    IOpcPartUri *partName,
1503    UINT32 fixedDocumentIndex,
1504    IXpsSignatureBlock **signatureBlock);
1505void __RPC_STUB IXpsSignatureManager_AddSignatureBlock_Stub(
1506    IRpcStubBuffer* This,
1507    IRpcChannelBuffer* pRpcChannelBuffer,
1508    PRPC_MESSAGE pRpcMessage,
1509    DWORD* pdwStubPhase);
1510HRESULT STDMETHODCALLTYPE IXpsSignatureManager_GetSignatureBlocks_Proxy(
1511    IXpsSignatureManager* This,
1512    IXpsSignatureBlockCollection **signatureBlocks);
1513void __RPC_STUB IXpsSignatureManager_GetSignatureBlocks_Stub(
1514    IRpcStubBuffer* This,
1515    IRpcChannelBuffer* pRpcChannelBuffer,
1516    PRPC_MESSAGE pRpcMessage,
1517    DWORD* pdwStubPhase);
1518HRESULT STDMETHODCALLTYPE IXpsSignatureManager_CreateSigningOptions_Proxy(
1519    IXpsSignatureManager* This,
1520    IXpsSigningOptions **signingOptions);
1521void __RPC_STUB IXpsSignatureManager_CreateSigningOptions_Stub(
1522    IRpcStubBuffer* This,
1523    IRpcChannelBuffer* pRpcChannelBuffer,
1524    PRPC_MESSAGE pRpcMessage,
1525    DWORD* pdwStubPhase);
1526HRESULT STDMETHODCALLTYPE IXpsSignatureManager_SavePackageToFile_Proxy(
1527    IXpsSignatureManager* This,
1528    LPCWSTR fileName,
1529    LPSECURITY_ATTRIBUTES securityAttributes,
1530    DWORD flagsAndAttributes);
1531void __RPC_STUB IXpsSignatureManager_SavePackageToFile_Stub(
1532    IRpcStubBuffer* This,
1533    IRpcChannelBuffer* pRpcChannelBuffer,
1534    PRPC_MESSAGE pRpcMessage,
1535    DWORD* pdwStubPhase);
1536HRESULT STDMETHODCALLTYPE IXpsSignatureManager_SavePackageToStream_Proxy(
1537    IXpsSignatureManager* This,
1538    IStream *stream);
1539void __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
1553DEFINE_GUID(IID_IXpsSignatureRequest, 0xac58950b, 0x7208, 0x4b2d, 0xb2,0xc4, 0x95,0x10,0x83,0xd3,0xb8,0xeb);
1554#if defined(__cplusplus) && !defined(CINTERFACE)
1555MIDL_INTERFACE("ac58950b-7208-4b2d-b2c4-951083d3b8eb")
1556IXpsSignatureRequest : 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
1604typedef 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;
1675interface 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 ***/
1700static FORCEINLINE HRESULT IXpsSignatureRequest_QueryInterface(IXpsSignatureRequest* This,REFIID riid,void **ppvObject) {
1701    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1702}
1703static FORCEINLINE ULONG IXpsSignatureRequest_AddRef(IXpsSignatureRequest* This) {
1704    return This->lpVtbl->AddRef(This);
1705}
1706static FORCEINLINE ULONG IXpsSignatureRequest_Release(IXpsSignatureRequest* This) {
1707    return This->lpVtbl->Release(This);
1708}
1709/*** IXpsSignatureRequest methods ***/
1710static FORCEINLINE HRESULT IXpsSignatureRequest_GetIntent(IXpsSignatureRequest* This,LPWSTR *intent) {
1711    return This->lpVtbl->GetIntent(This,intent);
1712}
1713static FORCEINLINE HRESULT IXpsSignatureRequest_SetIntent(IXpsSignatureRequest* This,LPCWSTR intent) {
1714    return This->lpVtbl->SetIntent(This,intent);
1715}
1716static FORCEINLINE HRESULT IXpsSignatureRequest_GetRequestedSigner(IXpsSignatureRequest* This,LPWSTR *signerName) {
1717    return This->lpVtbl->GetRequestedSigner(This,signerName);
1718}
1719static FORCEINLINE HRESULT IXpsSignatureRequest_SetRequestedSigner(IXpsSignatureRequest* This,LPCWSTR signerName) {
1720    return This->lpVtbl->SetRequestedSigner(This,signerName);
1721}
1722static FORCEINLINE HRESULT IXpsSignatureRequest_GetRequestSignByDate(IXpsSignatureRequest* This,LPWSTR *dateString) {
1723    return This->lpVtbl->GetRequestSignByDate(This,dateString);
1724}
1725static FORCEINLINE HRESULT IXpsSignatureRequest_SetRequestSignByDate(IXpsSignatureRequest* This,LPCWSTR dateString) {
1726    return This->lpVtbl->SetRequestSignByDate(This,dateString);
1727}
1728static FORCEINLINE HRESULT IXpsSignatureRequest_GetSigningLocale(IXpsSignatureRequest* This,LPWSTR *place) {
1729    return This->lpVtbl->GetSigningLocale(This,place);
1730}
1731static FORCEINLINE HRESULT IXpsSignatureRequest_SetSigningLocale(IXpsSignatureRequest* This,LPCWSTR place) {
1732    return This->lpVtbl->SetSigningLocale(This,place);
1733}
1734static 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}
1737static FORCEINLINE HRESULT IXpsSignatureRequest_SetSpotLocation(IXpsSignatureRequest* This,INT32 pageIndex,float x,float y) {
1738    return This->lpVtbl->SetSpotLocation(This,pageIndex,x,y);
1739}
1740static FORCEINLINE HRESULT IXpsSignatureRequest_GetRequestId(IXpsSignatureRequest* This,LPWSTR *requestId) {
1741    return This->lpVtbl->GetRequestId(This,requestId);
1742}
1743static FORCEINLINE HRESULT IXpsSignatureRequest_GetSignature(IXpsSignatureRequest* This,IXpsSignature **signature) {
1744    return This->lpVtbl->GetSignature(This,signature);
1745}
1746#endif
1747#endif
1748
1749#endif
1750
1751HRESULT STDMETHODCALLTYPE IXpsSignatureRequest_GetIntent_Proxy(
1752    IXpsSignatureRequest* This,
1753    LPWSTR *intent);
1754void __RPC_STUB IXpsSignatureRequest_GetIntent_Stub(
1755    IRpcStubBuffer* This,
1756    IRpcChannelBuffer* pRpcChannelBuffer,
1757    PRPC_MESSAGE pRpcMessage,
1758    DWORD* pdwStubPhase);
1759HRESULT STDMETHODCALLTYPE IXpsSignatureRequest_SetIntent_Proxy(
1760    IXpsSignatureRequest* This,
1761    LPCWSTR intent);
1762void __RPC_STUB IXpsSignatureRequest_SetIntent_Stub(
1763    IRpcStubBuffer* This,
1764    IRpcChannelBuffer* pRpcChannelBuffer,
1765    PRPC_MESSAGE pRpcMessage,
1766    DWORD* pdwStubPhase);
1767HRESULT STDMETHODCALLTYPE IXpsSignatureRequest_GetRequestedSigner_Proxy(
1768    IXpsSignatureRequest* This,
1769    LPWSTR *signerName);
1770void __RPC_STUB IXpsSignatureRequest_GetRequestedSigner_Stub(
1771    IRpcStubBuffer* This,
1772    IRpcChannelBuffer* pRpcChannelBuffer,
1773    PRPC_MESSAGE pRpcMessage,
1774    DWORD* pdwStubPhase);
1775HRESULT STDMETHODCALLTYPE IXpsSignatureRequest_SetRequestedSigner_Proxy(
1776    IXpsSignatureRequest* This,
1777    LPCWSTR signerName);
1778void __RPC_STUB IXpsSignatureRequest_SetRequestedSigner_Stub(
1779    IRpcStubBuffer* This,
1780    IRpcChannelBuffer* pRpcChannelBuffer,
1781    PRPC_MESSAGE pRpcMessage,
1782    DWORD* pdwStubPhase);
1783HRESULT STDMETHODCALLTYPE IXpsSignatureRequest_GetRequestSignByDate_Proxy(
1784    IXpsSignatureRequest* This,
1785    LPWSTR *dateString);
1786void __RPC_STUB IXpsSignatureRequest_GetRequestSignByDate_Stub(
1787    IRpcStubBuffer* This,
1788    IRpcChannelBuffer* pRpcChannelBuffer,
1789    PRPC_MESSAGE pRpcMessage,
1790    DWORD* pdwStubPhase);
1791HRESULT STDMETHODCALLTYPE IXpsSignatureRequest_SetRequestSignByDate_Proxy(
1792    IXpsSignatureRequest* This,
1793    LPCWSTR dateString);
1794void __RPC_STUB IXpsSignatureRequest_SetRequestSignByDate_Stub(
1795    IRpcStubBuffer* This,
1796    IRpcChannelBuffer* pRpcChannelBuffer,
1797    PRPC_MESSAGE pRpcMessage,
1798    DWORD* pdwStubPhase);
1799HRESULT STDMETHODCALLTYPE IXpsSignatureRequest_GetSigningLocale_Proxy(
1800    IXpsSignatureRequest* This,
1801    LPWSTR *place);
1802void __RPC_STUB IXpsSignatureRequest_GetSigningLocale_Stub(
1803    IRpcStubBuffer* This,
1804    IRpcChannelBuffer* pRpcChannelBuffer,
1805    PRPC_MESSAGE pRpcMessage,
1806    DWORD* pdwStubPhase);
1807HRESULT STDMETHODCALLTYPE IXpsSignatureRequest_SetSigningLocale_Proxy(
1808    IXpsSignatureRequest* This,
1809    LPCWSTR place);
1810void __RPC_STUB IXpsSignatureRequest_SetSigningLocale_Stub(
1811    IRpcStubBuffer* This,
1812    IRpcChannelBuffer* pRpcChannelBuffer,
1813    PRPC_MESSAGE pRpcMessage,
1814    DWORD* pdwStubPhase);
1815HRESULT STDMETHODCALLTYPE IXpsSignatureRequest_GetSpotLocation_Proxy(
1816    IXpsSignatureRequest* This,
1817    INT32 *pageIndex,
1818    IOpcPartUri **pagePartName,
1819    float *x,
1820    float *y);
1821void __RPC_STUB IXpsSignatureRequest_GetSpotLocation_Stub(
1822    IRpcStubBuffer* This,
1823    IRpcChannelBuffer* pRpcChannelBuffer,
1824    PRPC_MESSAGE pRpcMessage,
1825    DWORD* pdwStubPhase);
1826HRESULT STDMETHODCALLTYPE IXpsSignatureRequest_SetSpotLocation_Proxy(
1827    IXpsSignatureRequest* This,
1828    INT32 pageIndex,
1829    float x,
1830    float y);
1831void __RPC_STUB IXpsSignatureRequest_SetSpotLocation_Stub(
1832    IRpcStubBuffer* This,
1833    IRpcChannelBuffer* pRpcChannelBuffer,
1834    PRPC_MESSAGE pRpcMessage,
1835    DWORD* pdwStubPhase);
1836HRESULT STDMETHODCALLTYPE IXpsSignatureRequest_GetRequestId_Proxy(
1837    IXpsSignatureRequest* This,
1838    LPWSTR *requestId);
1839void __RPC_STUB IXpsSignatureRequest_GetRequestId_Stub(
1840    IRpcStubBuffer* This,
1841    IRpcChannelBuffer* pRpcChannelBuffer,
1842    PRPC_MESSAGE pRpcMessage,
1843    DWORD* pdwStubPhase);
1844HRESULT STDMETHODCALLTYPE IXpsSignatureRequest_GetSignature_Proxy(
1845    IXpsSignatureRequest* This,
1846    IXpsSignature **signature);
1847void __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
1861DEFINE_GUID(IID_IXpsSignatureRequestCollection, 0xf0253e68, 0x9f19, 0x412e, 0x9b,0x4f, 0x54,0xd3,0xb0,0xac,0x6c,0xd9);
1862#if defined(__cplusplus) && !defined(CINTERFACE)
1863MIDL_INTERFACE("f0253e68-9f19-412e-9b4f-54d3b0ac6cd9")
1864IXpsSignatureRequestCollection : 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
1881typedef 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;
1912interface 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 ***/
1928static FORCEINLINE HRESULT IXpsSignatureRequestCollection_QueryInterface(IXpsSignatureRequestCollection* This,REFIID riid,void **ppvObject) {
1929    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1930}
1931static FORCEINLINE ULONG IXpsSignatureRequestCollection_AddRef(IXpsSignatureRequestCollection* This) {
1932    return This->lpVtbl->AddRef(This);
1933}
1934static FORCEINLINE ULONG IXpsSignatureRequestCollection_Release(IXpsSignatureRequestCollection* This) {
1935    return This->lpVtbl->Release(This);
1936}
1937/*** IXpsSignatureRequestCollection methods ***/
1938static FORCEINLINE HRESULT IXpsSignatureRequestCollection_GetCount(IXpsSignatureRequestCollection* This,UINT32 *count) {
1939    return This->lpVtbl->GetCount(This,count);
1940}
1941static FORCEINLINE HRESULT IXpsSignatureRequestCollection_GetAt(IXpsSignatureRequestCollection* This,UINT32 index,IXpsSignatureRequest **signatureRequest) {
1942    return This->lpVtbl->GetAt(This,index,signatureRequest);
1943}
1944static FORCEINLINE HRESULT IXpsSignatureRequestCollection_RemoveAt(IXpsSignatureRequestCollection* This,UINT32 index) {
1945    return This->lpVtbl->RemoveAt(This,index);
1946}
1947#endif
1948#endif
1949
1950#endif
1951
1952HRESULT STDMETHODCALLTYPE IXpsSignatureRequestCollection_GetCount_Proxy(
1953    IXpsSignatureRequestCollection* This,
1954    UINT32 *count);
1955void __RPC_STUB IXpsSignatureRequestCollection_GetCount_Stub(
1956    IRpcStubBuffer* This,
1957    IRpcChannelBuffer* pRpcChannelBuffer,
1958    PRPC_MESSAGE pRpcMessage,
1959    DWORD* pdwStubPhase);
1960HRESULT STDMETHODCALLTYPE IXpsSignatureRequestCollection_GetAt_Proxy(
1961    IXpsSignatureRequestCollection* This,
1962    UINT32 index,
1963    IXpsSignatureRequest **signatureRequest);
1964void __RPC_STUB IXpsSignatureRequestCollection_GetAt_Stub(
1965    IRpcStubBuffer* This,
1966    IRpcChannelBuffer* pRpcChannelBuffer,
1967    PRPC_MESSAGE pRpcMessage,
1968    DWORD* pdwStubPhase);
1969HRESULT STDMETHODCALLTYPE IXpsSignatureRequestCollection_RemoveAt_Proxy(
1970    IXpsSignatureRequestCollection* This,
1971    UINT32 index);
1972void __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
1984DEFINE_GUID(CLSID_XpsSignatureManager, 0xb0c43320, 0x2315, 0x44a2, 0xb7,0x0a, 0x09,0x43,0xa1,0x40,0xa8,0xee);
1985
1986#ifdef __cplusplus
1987class 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