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