xpsdigitalsignature.h 59 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514
  1. /*** Autogenerated by WIDL 7.7 from include/xpsdigitalsignature.idl - Do not edit ***/
  2. #ifdef _WIN32
  3. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  4. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  5. #endif
  6. #include <rpc.h>
  7. #include <rpcndr.h>
  8. #endif
  9. #ifndef COM_NO_WINDOWS_H
  10. #include <windows.h>
  11. #include <ole2.h>
  12. #endif
  13. #ifndef __xpsdigitalsignature_h__
  14. #define __xpsdigitalsignature_h__
  15. /* Forward declarations */
  16. #ifndef __IXpsSigningOptions_FWD_DEFINED__
  17. #define __IXpsSigningOptions_FWD_DEFINED__
  18. typedef interface IXpsSigningOptions IXpsSigningOptions;
  19. #ifdef __cplusplus
  20. interface IXpsSigningOptions;
  21. #endif /* __cplusplus */
  22. #endif
  23. #ifndef __IXpsSignature_FWD_DEFINED__
  24. #define __IXpsSignature_FWD_DEFINED__
  25. typedef interface IXpsSignature IXpsSignature;
  26. #ifdef __cplusplus
  27. interface IXpsSignature;
  28. #endif /* __cplusplus */
  29. #endif
  30. #ifndef __IXpsSignatureBlock_FWD_DEFINED__
  31. #define __IXpsSignatureBlock_FWD_DEFINED__
  32. typedef interface IXpsSignatureBlock IXpsSignatureBlock;
  33. #ifdef __cplusplus
  34. interface IXpsSignatureBlock;
  35. #endif /* __cplusplus */
  36. #endif
  37. #ifndef __IXpsSignatureBlockCollection_FWD_DEFINED__
  38. #define __IXpsSignatureBlockCollection_FWD_DEFINED__
  39. typedef interface IXpsSignatureBlockCollection IXpsSignatureBlockCollection;
  40. #ifdef __cplusplus
  41. interface IXpsSignatureBlockCollection;
  42. #endif /* __cplusplus */
  43. #endif
  44. #ifndef __IXpsSignatureCollection_FWD_DEFINED__
  45. #define __IXpsSignatureCollection_FWD_DEFINED__
  46. typedef interface IXpsSignatureCollection IXpsSignatureCollection;
  47. #ifdef __cplusplus
  48. interface IXpsSignatureCollection;
  49. #endif /* __cplusplus */
  50. #endif
  51. #ifndef __IXpsSignatureManager_FWD_DEFINED__
  52. #define __IXpsSignatureManager_FWD_DEFINED__
  53. typedef interface IXpsSignatureManager IXpsSignatureManager;
  54. #ifdef __cplusplus
  55. interface IXpsSignatureManager;
  56. #endif /* __cplusplus */
  57. #endif
  58. #ifndef __IXpsSignatureRequest_FWD_DEFINED__
  59. #define __IXpsSignatureRequest_FWD_DEFINED__
  60. typedef interface IXpsSignatureRequest IXpsSignatureRequest;
  61. #ifdef __cplusplus
  62. interface IXpsSignatureRequest;
  63. #endif /* __cplusplus */
  64. #endif
  65. #ifndef __IXpsSignatureRequestCollection_FWD_DEFINED__
  66. #define __IXpsSignatureRequestCollection_FWD_DEFINED__
  67. typedef interface IXpsSignatureRequestCollection IXpsSignatureRequestCollection;
  68. #ifdef __cplusplus
  69. interface IXpsSignatureRequestCollection;
  70. #endif /* __cplusplus */
  71. #endif
  72. #ifndef __XpsSignatureManager_FWD_DEFINED__
  73. #define __XpsSignatureManager_FWD_DEFINED__
  74. #ifdef __cplusplus
  75. typedef class XpsSignatureManager XpsSignatureManager;
  76. #else
  77. typedef struct XpsSignatureManager XpsSignatureManager;
  78. #endif /* defined __cplusplus */
  79. #endif /* defined __XpsSignatureManager_FWD_DEFINED__ */
  80. /* Headers for imported files */
  81. #include <oaidl.h>
  82. #include <wincrypt.h>
  83. #include <msopc.h>
  84. #ifdef __cplusplus
  85. extern "C" {
  86. #endif
  87. #include <winapifamily.h>
  88. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  89. #if NTDDI_VERSION >= 0x06010000
  90. #define XPS_E_SIGREQUESTID_DUP MAKE_HRESULT(1, FACILITY_XPS, 901)
  91. #define XPS_E_PACKAGE_NOT_OPENED MAKE_HRESULT(1, FACILITY_XPS, 902)
  92. #define XPS_E_PACKAGE_ALREADY_OPENED MAKE_HRESULT(1, FACILITY_XPS, 903)
  93. #define XPS_E_SIGNATUREID_DUP MAKE_HRESULT(1, FACILITY_XPS, 904)
  94. #define XPS_E_MARKUP_COMPATIBILITY_ELEMENTS MAKE_HRESULT(1, FACILITY_XPS, 905)
  95. #define XPS_E_OBJECT_DETACHED MAKE_HRESULT(1, FACILITY_XPS, 906)
  96. #define XPS_E_INVALID_SIGNATUREBLOCK_MARKUP MAKE_HRESULT(1, FACILITY_XPS, 907)
  97. #ifndef __MSXPSSIG_LIBRARY_DEFINED__
  98. #define __MSXPSSIG_LIBRARY_DEFINED__
  99. DEFINE_GUID(LIBID_MSXPSSIG, 0x8223a7eb, 0xc4d5, 0x474d, 0x9b,0xcc, 0xff,0x67,0x18,0x5e,0x64,0xa0);
  100. #ifndef __IXpsSigningOptions_FWD_DEFINED__
  101. #define __IXpsSigningOptions_FWD_DEFINED__
  102. typedef interface IXpsSigningOptions IXpsSigningOptions;
  103. #ifdef __cplusplus
  104. interface IXpsSigningOptions;
  105. #endif /* __cplusplus */
  106. #endif
  107. #ifndef __IXpsSignatureCollection_FWD_DEFINED__
  108. #define __IXpsSignatureCollection_FWD_DEFINED__
  109. typedef interface IXpsSignatureCollection IXpsSignatureCollection;
  110. #ifdef __cplusplus
  111. interface IXpsSignatureCollection;
  112. #endif /* __cplusplus */
  113. #endif
  114. #ifndef __IXpsSignature_FWD_DEFINED__
  115. #define __IXpsSignature_FWD_DEFINED__
  116. typedef interface IXpsSignature IXpsSignature;
  117. #ifdef __cplusplus
  118. interface IXpsSignature;
  119. #endif /* __cplusplus */
  120. #endif
  121. #ifndef __IXpsSignatureBlockCollection_FWD_DEFINED__
  122. #define __IXpsSignatureBlockCollection_FWD_DEFINED__
  123. typedef interface IXpsSignatureBlockCollection IXpsSignatureBlockCollection;
  124. #ifdef __cplusplus
  125. interface IXpsSignatureBlockCollection;
  126. #endif /* __cplusplus */
  127. #endif
  128. #ifndef __IXpsSignatureBlock_FWD_DEFINED__
  129. #define __IXpsSignatureBlock_FWD_DEFINED__
  130. typedef interface IXpsSignatureBlock IXpsSignatureBlock;
  131. #ifdef __cplusplus
  132. interface IXpsSignatureBlock;
  133. #endif /* __cplusplus */
  134. #endif
  135. #ifndef __IXpsSignatureRequestCollection_FWD_DEFINED__
  136. #define __IXpsSignatureRequestCollection_FWD_DEFINED__
  137. typedef interface IXpsSignatureRequestCollection IXpsSignatureRequestCollection;
  138. #ifdef __cplusplus
  139. interface IXpsSignatureRequestCollection;
  140. #endif /* __cplusplus */
  141. #endif
  142. #ifndef __IXpsSignatureRequest_FWD_DEFINED__
  143. #define __IXpsSignatureRequest_FWD_DEFINED__
  144. typedef interface IXpsSignatureRequest IXpsSignatureRequest;
  145. #ifdef __cplusplus
  146. interface IXpsSignatureRequest;
  147. #endif /* __cplusplus */
  148. #endif
  149. typedef enum __WIDL_xpsdigitalsignature_generated_name_0000002F {
  150. XPS_SIGN_FLAGS_NONE = 0x0,
  151. XPS_SIGN_FLAGS_IGNORE_MARKUP_COMPATIBILITY = 0x1
  152. } XPS_SIGN_FLAGS;
  153. typedef enum __WIDL_xpsdigitalsignature_generated_name_00000030 {
  154. XPS_SIGN_POLICY_NONE = 0x0,
  155. XPS_SIGN_POLICY_CORE_PROPERTIES = 0x1,
  156. XPS_SIGN_POLICY_SIGNATURE_RELATIONSHIPS = 0x2,
  157. XPS_SIGN_POLICY_PRINT_TICKET = 0x4,
  158. XPS_SIGN_POLICY_DISCARD_CONTROL = 0x8,
  159. XPS_SIGN_POLICY_ALL = 0xf
  160. } XPS_SIGN_POLICY;
  161. typedef enum __WIDL_xpsdigitalsignature_generated_name_00000031 {
  162. XPS_SIGNATURE_STATUS_INCOMPLIANT = 1,
  163. XPS_SIGNATURE_STATUS_INCOMPLETE = 2,
  164. XPS_SIGNATURE_STATUS_BROKEN = 3,
  165. XPS_SIGNATURE_STATUS_QUESTIONABLE = 4,
  166. XPS_SIGNATURE_STATUS_VALID = 5
  167. } XPS_SIGNATURE_STATUS;
  168. DEFINE_ENUM_FLAG_OPERATORS(XPS_SIGN_FLAGS)
  169. DEFINE_ENUM_FLAG_OPERATORS(XPS_SIGN_POLICY)
  170. /*****************************************************************************
  171. * IXpsSigningOptions interface
  172. */
  173. #ifndef __IXpsSigningOptions_INTERFACE_DEFINED__
  174. #define __IXpsSigningOptions_INTERFACE_DEFINED__
  175. DEFINE_GUID(IID_IXpsSigningOptions, 0x7718eae4, 0x3215, 0x49be, 0xaf,0x5b, 0x59,0x4f,0xef,0x7f,0xcf,0xa6);
  176. #if defined(__cplusplus) && !defined(CINTERFACE)
  177. MIDL_INTERFACE("7718eae4-3215-49be-af5b-594fef7fcfa6")
  178. IXpsSigningOptions : public IUnknown
  179. {
  180. virtual HRESULT STDMETHODCALLTYPE GetSignatureId(
  181. LPWSTR *signatureId) = 0;
  182. virtual HRESULT STDMETHODCALLTYPE SetSignatureId(
  183. LPCWSTR signatureId) = 0;
  184. virtual HRESULT STDMETHODCALLTYPE GetSignatureMethod(
  185. LPWSTR *signatureMethod) = 0;
  186. virtual HRESULT STDMETHODCALLTYPE SetSignatureMethod(
  187. LPCWSTR signatureMethod) = 0;
  188. virtual HRESULT STDMETHODCALLTYPE GetDigestMethod(
  189. LPWSTR *digestMethod) = 0;
  190. virtual HRESULT STDMETHODCALLTYPE SetDigestMethod(
  191. LPCWSTR digestMethod) = 0;
  192. virtual HRESULT STDMETHODCALLTYPE GetSignaturePartName(
  193. IOpcPartUri **signaturePartName) = 0;
  194. virtual HRESULT STDMETHODCALLTYPE SetSignaturePartName(
  195. IOpcPartUri *signaturePartName) = 0;
  196. virtual HRESULT STDMETHODCALLTYPE GetPolicy(
  197. XPS_SIGN_POLICY *policy) = 0;
  198. virtual HRESULT STDMETHODCALLTYPE SetPolicy(
  199. XPS_SIGN_POLICY policy) = 0;
  200. virtual HRESULT STDMETHODCALLTYPE GetSigningTimeFormat(
  201. OPC_SIGNATURE_TIME_FORMAT *timeFormat) = 0;
  202. virtual HRESULT STDMETHODCALLTYPE SetSigningTimeFormat(
  203. OPC_SIGNATURE_TIME_FORMAT timeFormat) = 0;
  204. virtual HRESULT STDMETHODCALLTYPE GetCustomObjects(
  205. IOpcSignatureCustomObjectSet **customObjectSet) = 0;
  206. virtual HRESULT STDMETHODCALLTYPE GetCustomReferences(
  207. IOpcSignatureReferenceSet **customReferenceSet) = 0;
  208. virtual HRESULT STDMETHODCALLTYPE GetCertificateSet(
  209. IOpcCertificateSet **certificateSet) = 0;
  210. virtual HRESULT STDMETHODCALLTYPE GetFlags(
  211. XPS_SIGN_FLAGS *flags) = 0;
  212. virtual HRESULT STDMETHODCALLTYPE SetFlags(
  213. XPS_SIGN_FLAGS flags) = 0;
  214. };
  215. #ifdef __CRT_UUID_DECL
  216. __CRT_UUID_DECL(IXpsSigningOptions, 0x7718eae4, 0x3215, 0x49be, 0xaf,0x5b, 0x59,0x4f,0xef,0x7f,0xcf,0xa6)
  217. #endif
  218. #else
  219. typedef struct IXpsSigningOptionsVtbl {
  220. BEGIN_INTERFACE
  221. /*** IUnknown methods ***/
  222. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  223. IXpsSigningOptions *This,
  224. REFIID riid,
  225. void **ppvObject);
  226. ULONG (STDMETHODCALLTYPE *AddRef)(
  227. IXpsSigningOptions *This);
  228. ULONG (STDMETHODCALLTYPE *Release)(
  229. IXpsSigningOptions *This);
  230. /*** IXpsSigningOptions methods ***/
  231. HRESULT (STDMETHODCALLTYPE *GetSignatureId)(
  232. IXpsSigningOptions *This,
  233. LPWSTR *signatureId);
  234. HRESULT (STDMETHODCALLTYPE *SetSignatureId)(
  235. IXpsSigningOptions *This,
  236. LPCWSTR signatureId);
  237. HRESULT (STDMETHODCALLTYPE *GetSignatureMethod)(
  238. IXpsSigningOptions *This,
  239. LPWSTR *signatureMethod);
  240. HRESULT (STDMETHODCALLTYPE *SetSignatureMethod)(
  241. IXpsSigningOptions *This,
  242. LPCWSTR signatureMethod);
  243. HRESULT (STDMETHODCALLTYPE *GetDigestMethod)(
  244. IXpsSigningOptions *This,
  245. LPWSTR *digestMethod);
  246. HRESULT (STDMETHODCALLTYPE *SetDigestMethod)(
  247. IXpsSigningOptions *This,
  248. LPCWSTR digestMethod);
  249. HRESULT (STDMETHODCALLTYPE *GetSignaturePartName)(
  250. IXpsSigningOptions *This,
  251. IOpcPartUri **signaturePartName);
  252. HRESULT (STDMETHODCALLTYPE *SetSignaturePartName)(
  253. IXpsSigningOptions *This,
  254. IOpcPartUri *signaturePartName);
  255. HRESULT (STDMETHODCALLTYPE *GetPolicy)(
  256. IXpsSigningOptions *This,
  257. XPS_SIGN_POLICY *policy);
  258. HRESULT (STDMETHODCALLTYPE *SetPolicy)(
  259. IXpsSigningOptions *This,
  260. XPS_SIGN_POLICY policy);
  261. HRESULT (STDMETHODCALLTYPE *GetSigningTimeFormat)(
  262. IXpsSigningOptions *This,
  263. OPC_SIGNATURE_TIME_FORMAT *timeFormat);
  264. HRESULT (STDMETHODCALLTYPE *SetSigningTimeFormat)(
  265. IXpsSigningOptions *This,
  266. OPC_SIGNATURE_TIME_FORMAT timeFormat);
  267. HRESULT (STDMETHODCALLTYPE *GetCustomObjects)(
  268. IXpsSigningOptions *This,
  269. IOpcSignatureCustomObjectSet **customObjectSet);
  270. HRESULT (STDMETHODCALLTYPE *GetCustomReferences)(
  271. IXpsSigningOptions *This,
  272. IOpcSignatureReferenceSet **customReferenceSet);
  273. HRESULT (STDMETHODCALLTYPE *GetCertificateSet)(
  274. IXpsSigningOptions *This,
  275. IOpcCertificateSet **certificateSet);
  276. HRESULT (STDMETHODCALLTYPE *GetFlags)(
  277. IXpsSigningOptions *This,
  278. XPS_SIGN_FLAGS *flags);
  279. HRESULT (STDMETHODCALLTYPE *SetFlags)(
  280. IXpsSigningOptions *This,
  281. XPS_SIGN_FLAGS flags);
  282. END_INTERFACE
  283. } IXpsSigningOptionsVtbl;
  284. interface IXpsSigningOptions {
  285. CONST_VTBL IXpsSigningOptionsVtbl* lpVtbl;
  286. };
  287. #ifdef COBJMACROS
  288. #ifndef WIDL_C_INLINE_WRAPPERS
  289. /*** IUnknown methods ***/
  290. #define IXpsSigningOptions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  291. #define IXpsSigningOptions_AddRef(This) (This)->lpVtbl->AddRef(This)
  292. #define IXpsSigningOptions_Release(This) (This)->lpVtbl->Release(This)
  293. /*** IXpsSigningOptions methods ***/
  294. #define IXpsSigningOptions_GetSignatureId(This,signatureId) (This)->lpVtbl->GetSignatureId(This,signatureId)
  295. #define IXpsSigningOptions_SetSignatureId(This,signatureId) (This)->lpVtbl->SetSignatureId(This,signatureId)
  296. #define IXpsSigningOptions_GetSignatureMethod(This,signatureMethod) (This)->lpVtbl->GetSignatureMethod(This,signatureMethod)
  297. #define IXpsSigningOptions_SetSignatureMethod(This,signatureMethod) (This)->lpVtbl->SetSignatureMethod(This,signatureMethod)
  298. #define IXpsSigningOptions_GetDigestMethod(This,digestMethod) (This)->lpVtbl->GetDigestMethod(This,digestMethod)
  299. #define IXpsSigningOptions_SetDigestMethod(This,digestMethod) (This)->lpVtbl->SetDigestMethod(This,digestMethod)
  300. #define IXpsSigningOptions_GetSignaturePartName(This,signaturePartName) (This)->lpVtbl->GetSignaturePartName(This,signaturePartName)
  301. #define IXpsSigningOptions_SetSignaturePartName(This,signaturePartName) (This)->lpVtbl->SetSignaturePartName(This,signaturePartName)
  302. #define IXpsSigningOptions_GetPolicy(This,policy) (This)->lpVtbl->GetPolicy(This,policy)
  303. #define IXpsSigningOptions_SetPolicy(This,policy) (This)->lpVtbl->SetPolicy(This,policy)
  304. #define IXpsSigningOptions_GetSigningTimeFormat(This,timeFormat) (This)->lpVtbl->GetSigningTimeFormat(This,timeFormat)
  305. #define IXpsSigningOptions_SetSigningTimeFormat(This,timeFormat) (This)->lpVtbl->SetSigningTimeFormat(This,timeFormat)
  306. #define IXpsSigningOptions_GetCustomObjects(This,customObjectSet) (This)->lpVtbl->GetCustomObjects(This,customObjectSet)
  307. #define IXpsSigningOptions_GetCustomReferences(This,customReferenceSet) (This)->lpVtbl->GetCustomReferences(This,customReferenceSet)
  308. #define IXpsSigningOptions_GetCertificateSet(This,certificateSet) (This)->lpVtbl->GetCertificateSet(This,certificateSet)
  309. #define IXpsSigningOptions_GetFlags(This,flags) (This)->lpVtbl->GetFlags(This,flags)
  310. #define IXpsSigningOptions_SetFlags(This,flags) (This)->lpVtbl->SetFlags(This,flags)
  311. #else
  312. /*** IUnknown methods ***/
  313. static FORCEINLINE HRESULT IXpsSigningOptions_QueryInterface(IXpsSigningOptions* This,REFIID riid,void **ppvObject) {
  314. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  315. }
  316. static FORCEINLINE ULONG IXpsSigningOptions_AddRef(IXpsSigningOptions* This) {
  317. return This->lpVtbl->AddRef(This);
  318. }
  319. static FORCEINLINE ULONG IXpsSigningOptions_Release(IXpsSigningOptions* This) {
  320. return This->lpVtbl->Release(This);
  321. }
  322. /*** IXpsSigningOptions methods ***/
  323. static FORCEINLINE HRESULT IXpsSigningOptions_GetSignatureId(IXpsSigningOptions* This,LPWSTR *signatureId) {
  324. return This->lpVtbl->GetSignatureId(This,signatureId);
  325. }
  326. static FORCEINLINE HRESULT IXpsSigningOptions_SetSignatureId(IXpsSigningOptions* This,LPCWSTR signatureId) {
  327. return This->lpVtbl->SetSignatureId(This,signatureId);
  328. }
  329. static FORCEINLINE HRESULT IXpsSigningOptions_GetSignatureMethod(IXpsSigningOptions* This,LPWSTR *signatureMethod) {
  330. return This->lpVtbl->GetSignatureMethod(This,signatureMethod);
  331. }
  332. static FORCEINLINE HRESULT IXpsSigningOptions_SetSignatureMethod(IXpsSigningOptions* This,LPCWSTR signatureMethod) {
  333. return This->lpVtbl->SetSignatureMethod(This,signatureMethod);
  334. }
  335. static FORCEINLINE HRESULT IXpsSigningOptions_GetDigestMethod(IXpsSigningOptions* This,LPWSTR *digestMethod) {
  336. return This->lpVtbl->GetDigestMethod(This,digestMethod);
  337. }
  338. static FORCEINLINE HRESULT IXpsSigningOptions_SetDigestMethod(IXpsSigningOptions* This,LPCWSTR digestMethod) {
  339. return This->lpVtbl->SetDigestMethod(This,digestMethod);
  340. }
  341. static FORCEINLINE HRESULT IXpsSigningOptions_GetSignaturePartName(IXpsSigningOptions* This,IOpcPartUri **signaturePartName) {
  342. return This->lpVtbl->GetSignaturePartName(This,signaturePartName);
  343. }
  344. static FORCEINLINE HRESULT IXpsSigningOptions_SetSignaturePartName(IXpsSigningOptions* This,IOpcPartUri *signaturePartName) {
  345. return This->lpVtbl->SetSignaturePartName(This,signaturePartName);
  346. }
  347. static FORCEINLINE HRESULT IXpsSigningOptions_GetPolicy(IXpsSigningOptions* This,XPS_SIGN_POLICY *policy) {
  348. return This->lpVtbl->GetPolicy(This,policy);
  349. }
  350. static FORCEINLINE HRESULT IXpsSigningOptions_SetPolicy(IXpsSigningOptions* This,XPS_SIGN_POLICY policy) {
  351. return This->lpVtbl->SetPolicy(This,policy);
  352. }
  353. static FORCEINLINE HRESULT IXpsSigningOptions_GetSigningTimeFormat(IXpsSigningOptions* This,OPC_SIGNATURE_TIME_FORMAT *timeFormat) {
  354. return This->lpVtbl->GetSigningTimeFormat(This,timeFormat);
  355. }
  356. static FORCEINLINE HRESULT IXpsSigningOptions_SetSigningTimeFormat(IXpsSigningOptions* This,OPC_SIGNATURE_TIME_FORMAT timeFormat) {
  357. return This->lpVtbl->SetSigningTimeFormat(This,timeFormat);
  358. }
  359. static FORCEINLINE HRESULT IXpsSigningOptions_GetCustomObjects(IXpsSigningOptions* This,IOpcSignatureCustomObjectSet **customObjectSet) {
  360. return This->lpVtbl->GetCustomObjects(This,customObjectSet);
  361. }
  362. static FORCEINLINE HRESULT IXpsSigningOptions_GetCustomReferences(IXpsSigningOptions* This,IOpcSignatureReferenceSet **customReferenceSet) {
  363. return This->lpVtbl->GetCustomReferences(This,customReferenceSet);
  364. }
  365. static FORCEINLINE HRESULT IXpsSigningOptions_GetCertificateSet(IXpsSigningOptions* This,IOpcCertificateSet **certificateSet) {
  366. return This->lpVtbl->GetCertificateSet(This,certificateSet);
  367. }
  368. static FORCEINLINE HRESULT IXpsSigningOptions_GetFlags(IXpsSigningOptions* This,XPS_SIGN_FLAGS *flags) {
  369. return This->lpVtbl->GetFlags(This,flags);
  370. }
  371. static FORCEINLINE HRESULT IXpsSigningOptions_SetFlags(IXpsSigningOptions* This,XPS_SIGN_FLAGS flags) {
  372. return This->lpVtbl->SetFlags(This,flags);
  373. }
  374. #endif
  375. #endif
  376. #endif
  377. #endif /* __IXpsSigningOptions_INTERFACE_DEFINED__ */
  378. /*****************************************************************************
  379. * IXpsSignature interface
  380. */
  381. #ifndef __IXpsSignature_INTERFACE_DEFINED__
  382. #define __IXpsSignature_INTERFACE_DEFINED__
  383. DEFINE_GUID(IID_IXpsSignature, 0x6ae4c93e, 0x1ade, 0x42fb, 0x89,0x8b, 0x3a,0x56,0x58,0x28,0x48,0x57);
  384. #if defined(__cplusplus) && !defined(CINTERFACE)
  385. MIDL_INTERFACE("6ae4c93e-1ade-42fb-898b-3a5658284857")
  386. IXpsSignature : public IUnknown
  387. {
  388. virtual HRESULT STDMETHODCALLTYPE GetSignatureId(
  389. LPWSTR *sigId) = 0;
  390. virtual HRESULT STDMETHODCALLTYPE GetSignatureValue(
  391. UINT8 **signatureHashValue,
  392. UINT32 *count) = 0;
  393. virtual HRESULT STDMETHODCALLTYPE GetCertificateEnumerator(
  394. IOpcCertificateEnumerator **certificateEnumerator) = 0;
  395. virtual HRESULT STDMETHODCALLTYPE GetSigningTime(
  396. LPWSTR *sigDateTimeString) = 0;
  397. virtual HRESULT STDMETHODCALLTYPE GetSigningTimeFormat(
  398. OPC_SIGNATURE_TIME_FORMAT *timeFormat) = 0;
  399. virtual HRESULT STDMETHODCALLTYPE GetSignaturePartName(
  400. IOpcPartUri **signaturePartName) = 0;
  401. virtual HRESULT STDMETHODCALLTYPE Verify(
  402. const CERT_CONTEXT *x509Certificate,
  403. XPS_SIGNATURE_STATUS *sigStatus) = 0;
  404. virtual HRESULT STDMETHODCALLTYPE GetPolicy(
  405. XPS_SIGN_POLICY *policy) = 0;
  406. virtual HRESULT STDMETHODCALLTYPE GetCustomObjectEnumerator(
  407. IOpcSignatureCustomObjectEnumerator **customObjectEnumerator) = 0;
  408. virtual HRESULT STDMETHODCALLTYPE GetCustomReferenceEnumerator(
  409. IOpcSignatureReferenceEnumerator **customReferenceEnumerator) = 0;
  410. virtual HRESULT STDMETHODCALLTYPE GetSignatureXml(
  411. UINT8 **signatureXml,
  412. UINT32 *count) = 0;
  413. virtual HRESULT STDMETHODCALLTYPE SetSignatureXml(
  414. const UINT8 *signatureXml,
  415. UINT32 count) = 0;
  416. };
  417. #ifdef __CRT_UUID_DECL
  418. __CRT_UUID_DECL(IXpsSignature, 0x6ae4c93e, 0x1ade, 0x42fb, 0x89,0x8b, 0x3a,0x56,0x58,0x28,0x48,0x57)
  419. #endif
  420. #else
  421. typedef struct IXpsSignatureVtbl {
  422. BEGIN_INTERFACE
  423. /*** IUnknown methods ***/
  424. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  425. IXpsSignature *This,
  426. REFIID riid,
  427. void **ppvObject);
  428. ULONG (STDMETHODCALLTYPE *AddRef)(
  429. IXpsSignature *This);
  430. ULONG (STDMETHODCALLTYPE *Release)(
  431. IXpsSignature *This);
  432. /*** IXpsSignature methods ***/
  433. HRESULT (STDMETHODCALLTYPE *GetSignatureId)(
  434. IXpsSignature *This,
  435. LPWSTR *sigId);
  436. HRESULT (STDMETHODCALLTYPE *GetSignatureValue)(
  437. IXpsSignature *This,
  438. UINT8 **signatureHashValue,
  439. UINT32 *count);
  440. HRESULT (STDMETHODCALLTYPE *GetCertificateEnumerator)(
  441. IXpsSignature *This,
  442. IOpcCertificateEnumerator **certificateEnumerator);
  443. HRESULT (STDMETHODCALLTYPE *GetSigningTime)(
  444. IXpsSignature *This,
  445. LPWSTR *sigDateTimeString);
  446. HRESULT (STDMETHODCALLTYPE *GetSigningTimeFormat)(
  447. IXpsSignature *This,
  448. OPC_SIGNATURE_TIME_FORMAT *timeFormat);
  449. HRESULT (STDMETHODCALLTYPE *GetSignaturePartName)(
  450. IXpsSignature *This,
  451. IOpcPartUri **signaturePartName);
  452. HRESULT (STDMETHODCALLTYPE *Verify)(
  453. IXpsSignature *This,
  454. const CERT_CONTEXT *x509Certificate,
  455. XPS_SIGNATURE_STATUS *sigStatus);
  456. HRESULT (STDMETHODCALLTYPE *GetPolicy)(
  457. IXpsSignature *This,
  458. XPS_SIGN_POLICY *policy);
  459. HRESULT (STDMETHODCALLTYPE *GetCustomObjectEnumerator)(
  460. IXpsSignature *This,
  461. IOpcSignatureCustomObjectEnumerator **customObjectEnumerator);
  462. HRESULT (STDMETHODCALLTYPE *GetCustomReferenceEnumerator)(
  463. IXpsSignature *This,
  464. IOpcSignatureReferenceEnumerator **customReferenceEnumerator);
  465. HRESULT (STDMETHODCALLTYPE *GetSignatureXml)(
  466. IXpsSignature *This,
  467. UINT8 **signatureXml,
  468. UINT32 *count);
  469. HRESULT (STDMETHODCALLTYPE *SetSignatureXml)(
  470. IXpsSignature *This,
  471. const UINT8 *signatureXml,
  472. UINT32 count);
  473. END_INTERFACE
  474. } IXpsSignatureVtbl;
  475. interface IXpsSignature {
  476. CONST_VTBL IXpsSignatureVtbl* lpVtbl;
  477. };
  478. #ifdef COBJMACROS
  479. #ifndef WIDL_C_INLINE_WRAPPERS
  480. /*** IUnknown methods ***/
  481. #define IXpsSignature_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  482. #define IXpsSignature_AddRef(This) (This)->lpVtbl->AddRef(This)
  483. #define IXpsSignature_Release(This) (This)->lpVtbl->Release(This)
  484. /*** IXpsSignature methods ***/
  485. #define IXpsSignature_GetSignatureId(This,sigId) (This)->lpVtbl->GetSignatureId(This,sigId)
  486. #define IXpsSignature_GetSignatureValue(This,signatureHashValue,count) (This)->lpVtbl->GetSignatureValue(This,signatureHashValue,count)
  487. #define IXpsSignature_GetCertificateEnumerator(This,certificateEnumerator) (This)->lpVtbl->GetCertificateEnumerator(This,certificateEnumerator)
  488. #define IXpsSignature_GetSigningTime(This,sigDateTimeString) (This)->lpVtbl->GetSigningTime(This,sigDateTimeString)
  489. #define IXpsSignature_GetSigningTimeFormat(This,timeFormat) (This)->lpVtbl->GetSigningTimeFormat(This,timeFormat)
  490. #define IXpsSignature_GetSignaturePartName(This,signaturePartName) (This)->lpVtbl->GetSignaturePartName(This,signaturePartName)
  491. #define IXpsSignature_Verify(This,x509Certificate,sigStatus) (This)->lpVtbl->Verify(This,x509Certificate,sigStatus)
  492. #define IXpsSignature_GetPolicy(This,policy) (This)->lpVtbl->GetPolicy(This,policy)
  493. #define IXpsSignature_GetCustomObjectEnumerator(This,customObjectEnumerator) (This)->lpVtbl->GetCustomObjectEnumerator(This,customObjectEnumerator)
  494. #define IXpsSignature_GetCustomReferenceEnumerator(This,customReferenceEnumerator) (This)->lpVtbl->GetCustomReferenceEnumerator(This,customReferenceEnumerator)
  495. #define IXpsSignature_GetSignatureXml(This,signatureXml,count) (This)->lpVtbl->GetSignatureXml(This,signatureXml,count)
  496. #define IXpsSignature_SetSignatureXml(This,signatureXml,count) (This)->lpVtbl->SetSignatureXml(This,signatureXml,count)
  497. #else
  498. /*** IUnknown methods ***/
  499. static FORCEINLINE HRESULT IXpsSignature_QueryInterface(IXpsSignature* This,REFIID riid,void **ppvObject) {
  500. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  501. }
  502. static FORCEINLINE ULONG IXpsSignature_AddRef(IXpsSignature* This) {
  503. return This->lpVtbl->AddRef(This);
  504. }
  505. static FORCEINLINE ULONG IXpsSignature_Release(IXpsSignature* This) {
  506. return This->lpVtbl->Release(This);
  507. }
  508. /*** IXpsSignature methods ***/
  509. static FORCEINLINE HRESULT IXpsSignature_GetSignatureId(IXpsSignature* This,LPWSTR *sigId) {
  510. return This->lpVtbl->GetSignatureId(This,sigId);
  511. }
  512. static FORCEINLINE HRESULT IXpsSignature_GetSignatureValue(IXpsSignature* This,UINT8 **signatureHashValue,UINT32 *count) {
  513. return This->lpVtbl->GetSignatureValue(This,signatureHashValue,count);
  514. }
  515. static FORCEINLINE HRESULT IXpsSignature_GetCertificateEnumerator(IXpsSignature* This,IOpcCertificateEnumerator **certificateEnumerator) {
  516. return This->lpVtbl->GetCertificateEnumerator(This,certificateEnumerator);
  517. }
  518. static FORCEINLINE HRESULT IXpsSignature_GetSigningTime(IXpsSignature* This,LPWSTR *sigDateTimeString) {
  519. return This->lpVtbl->GetSigningTime(This,sigDateTimeString);
  520. }
  521. static FORCEINLINE HRESULT IXpsSignature_GetSigningTimeFormat(IXpsSignature* This,OPC_SIGNATURE_TIME_FORMAT *timeFormat) {
  522. return This->lpVtbl->GetSigningTimeFormat(This,timeFormat);
  523. }
  524. static FORCEINLINE HRESULT IXpsSignature_GetSignaturePartName(IXpsSignature* This,IOpcPartUri **signaturePartName) {
  525. return This->lpVtbl->GetSignaturePartName(This,signaturePartName);
  526. }
  527. static FORCEINLINE HRESULT IXpsSignature_Verify(IXpsSignature* This,const CERT_CONTEXT *x509Certificate,XPS_SIGNATURE_STATUS *sigStatus) {
  528. return This->lpVtbl->Verify(This,x509Certificate,sigStatus);
  529. }
  530. static FORCEINLINE HRESULT IXpsSignature_GetPolicy(IXpsSignature* This,XPS_SIGN_POLICY *policy) {
  531. return This->lpVtbl->GetPolicy(This,policy);
  532. }
  533. static FORCEINLINE HRESULT IXpsSignature_GetCustomObjectEnumerator(IXpsSignature* This,IOpcSignatureCustomObjectEnumerator **customObjectEnumerator) {
  534. return This->lpVtbl->GetCustomObjectEnumerator(This,customObjectEnumerator);
  535. }
  536. static FORCEINLINE HRESULT IXpsSignature_GetCustomReferenceEnumerator(IXpsSignature* This,IOpcSignatureReferenceEnumerator **customReferenceEnumerator) {
  537. return This->lpVtbl->GetCustomReferenceEnumerator(This,customReferenceEnumerator);
  538. }
  539. static FORCEINLINE HRESULT IXpsSignature_GetSignatureXml(IXpsSignature* This,UINT8 **signatureXml,UINT32 *count) {
  540. return This->lpVtbl->GetSignatureXml(This,signatureXml,count);
  541. }
  542. static FORCEINLINE HRESULT IXpsSignature_SetSignatureXml(IXpsSignature* This,const UINT8 *signatureXml,UINT32 count) {
  543. return This->lpVtbl->SetSignatureXml(This,signatureXml,count);
  544. }
  545. #endif
  546. #endif
  547. #endif
  548. #endif /* __IXpsSignature_INTERFACE_DEFINED__ */
  549. /*****************************************************************************
  550. * IXpsSignatureBlock interface
  551. */
  552. #ifndef __IXpsSignatureBlock_INTERFACE_DEFINED__
  553. #define __IXpsSignatureBlock_INTERFACE_DEFINED__
  554. DEFINE_GUID(IID_IXpsSignatureBlock, 0x151fac09, 0x0b97, 0x4ac6, 0xa3,0x23, 0x5e,0x42,0x97,0xd4,0x32,0x2b);
  555. #if defined(__cplusplus) && !defined(CINTERFACE)
  556. MIDL_INTERFACE("151fac09-0b97-4ac6-a323-5e4297d4322b")
  557. IXpsSignatureBlock : public IUnknown
  558. {
  559. virtual HRESULT STDMETHODCALLTYPE GetRequests(
  560. IXpsSignatureRequestCollection **requests) = 0;
  561. virtual HRESULT STDMETHODCALLTYPE GetPartName(
  562. IOpcPartUri **partName) = 0;
  563. virtual HRESULT STDMETHODCALLTYPE GetDocumentIndex(
  564. UINT32 *fixedDocumentIndex) = 0;
  565. virtual HRESULT STDMETHODCALLTYPE GetDocumentName(
  566. IOpcPartUri **fixedDocumentName) = 0;
  567. virtual HRESULT STDMETHODCALLTYPE CreateRequest(
  568. LPCWSTR requestId,
  569. IXpsSignatureRequest **signatureRequest) = 0;
  570. };
  571. #ifdef __CRT_UUID_DECL
  572. __CRT_UUID_DECL(IXpsSignatureBlock, 0x151fac09, 0x0b97, 0x4ac6, 0xa3,0x23, 0x5e,0x42,0x97,0xd4,0x32,0x2b)
  573. #endif
  574. #else
  575. typedef struct IXpsSignatureBlockVtbl {
  576. BEGIN_INTERFACE
  577. /*** IUnknown methods ***/
  578. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  579. IXpsSignatureBlock *This,
  580. REFIID riid,
  581. void **ppvObject);
  582. ULONG (STDMETHODCALLTYPE *AddRef)(
  583. IXpsSignatureBlock *This);
  584. ULONG (STDMETHODCALLTYPE *Release)(
  585. IXpsSignatureBlock *This);
  586. /*** IXpsSignatureBlock methods ***/
  587. HRESULT (STDMETHODCALLTYPE *GetRequests)(
  588. IXpsSignatureBlock *This,
  589. IXpsSignatureRequestCollection **requests);
  590. HRESULT (STDMETHODCALLTYPE *GetPartName)(
  591. IXpsSignatureBlock *This,
  592. IOpcPartUri **partName);
  593. HRESULT (STDMETHODCALLTYPE *GetDocumentIndex)(
  594. IXpsSignatureBlock *This,
  595. UINT32 *fixedDocumentIndex);
  596. HRESULT (STDMETHODCALLTYPE *GetDocumentName)(
  597. IXpsSignatureBlock *This,
  598. IOpcPartUri **fixedDocumentName);
  599. HRESULT (STDMETHODCALLTYPE *CreateRequest)(
  600. IXpsSignatureBlock *This,
  601. LPCWSTR requestId,
  602. IXpsSignatureRequest **signatureRequest);
  603. END_INTERFACE
  604. } IXpsSignatureBlockVtbl;
  605. interface IXpsSignatureBlock {
  606. CONST_VTBL IXpsSignatureBlockVtbl* lpVtbl;
  607. };
  608. #ifdef COBJMACROS
  609. #ifndef WIDL_C_INLINE_WRAPPERS
  610. /*** IUnknown methods ***/
  611. #define IXpsSignatureBlock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  612. #define IXpsSignatureBlock_AddRef(This) (This)->lpVtbl->AddRef(This)
  613. #define IXpsSignatureBlock_Release(This) (This)->lpVtbl->Release(This)
  614. /*** IXpsSignatureBlock methods ***/
  615. #define IXpsSignatureBlock_GetRequests(This,requests) (This)->lpVtbl->GetRequests(This,requests)
  616. #define IXpsSignatureBlock_GetPartName(This,partName) (This)->lpVtbl->GetPartName(This,partName)
  617. #define IXpsSignatureBlock_GetDocumentIndex(This,fixedDocumentIndex) (This)->lpVtbl->GetDocumentIndex(This,fixedDocumentIndex)
  618. #define IXpsSignatureBlock_GetDocumentName(This,fixedDocumentName) (This)->lpVtbl->GetDocumentName(This,fixedDocumentName)
  619. #define IXpsSignatureBlock_CreateRequest(This,requestId,signatureRequest) (This)->lpVtbl->CreateRequest(This,requestId,signatureRequest)
  620. #else
  621. /*** IUnknown methods ***/
  622. static FORCEINLINE HRESULT IXpsSignatureBlock_QueryInterface(IXpsSignatureBlock* This,REFIID riid,void **ppvObject) {
  623. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  624. }
  625. static FORCEINLINE ULONG IXpsSignatureBlock_AddRef(IXpsSignatureBlock* This) {
  626. return This->lpVtbl->AddRef(This);
  627. }
  628. static FORCEINLINE ULONG IXpsSignatureBlock_Release(IXpsSignatureBlock* This) {
  629. return This->lpVtbl->Release(This);
  630. }
  631. /*** IXpsSignatureBlock methods ***/
  632. static FORCEINLINE HRESULT IXpsSignatureBlock_GetRequests(IXpsSignatureBlock* This,IXpsSignatureRequestCollection **requests) {
  633. return This->lpVtbl->GetRequests(This,requests);
  634. }
  635. static FORCEINLINE HRESULT IXpsSignatureBlock_GetPartName(IXpsSignatureBlock* This,IOpcPartUri **partName) {
  636. return This->lpVtbl->GetPartName(This,partName);
  637. }
  638. static FORCEINLINE HRESULT IXpsSignatureBlock_GetDocumentIndex(IXpsSignatureBlock* This,UINT32 *fixedDocumentIndex) {
  639. return This->lpVtbl->GetDocumentIndex(This,fixedDocumentIndex);
  640. }
  641. static FORCEINLINE HRESULT IXpsSignatureBlock_GetDocumentName(IXpsSignatureBlock* This,IOpcPartUri **fixedDocumentName) {
  642. return This->lpVtbl->GetDocumentName(This,fixedDocumentName);
  643. }
  644. static FORCEINLINE HRESULT IXpsSignatureBlock_CreateRequest(IXpsSignatureBlock* This,LPCWSTR requestId,IXpsSignatureRequest **signatureRequest) {
  645. return This->lpVtbl->CreateRequest(This,requestId,signatureRequest);
  646. }
  647. #endif
  648. #endif
  649. #endif
  650. #endif /* __IXpsSignatureBlock_INTERFACE_DEFINED__ */
  651. /*****************************************************************************
  652. * IXpsSignatureBlockCollection interface
  653. */
  654. #ifndef __IXpsSignatureBlockCollection_INTERFACE_DEFINED__
  655. #define __IXpsSignatureBlockCollection_INTERFACE_DEFINED__
  656. DEFINE_GUID(IID_IXpsSignatureBlockCollection, 0x23397050, 0xfe99, 0x467a, 0x8d,0xce, 0x92,0x37,0xf0,0x74,0xff,0xe4);
  657. #if defined(__cplusplus) && !defined(CINTERFACE)
  658. MIDL_INTERFACE("23397050-fe99-467a-8dce-9237f074ffe4")
  659. IXpsSignatureBlockCollection : public IUnknown
  660. {
  661. virtual HRESULT STDMETHODCALLTYPE GetCount(
  662. UINT32 *count) = 0;
  663. virtual HRESULT STDMETHODCALLTYPE GetAt(
  664. UINT32 index,
  665. IXpsSignatureBlock **signatureBlock) = 0;
  666. virtual HRESULT STDMETHODCALLTYPE RemoveAt(
  667. UINT32 index) = 0;
  668. };
  669. #ifdef __CRT_UUID_DECL
  670. __CRT_UUID_DECL(IXpsSignatureBlockCollection, 0x23397050, 0xfe99, 0x467a, 0x8d,0xce, 0x92,0x37,0xf0,0x74,0xff,0xe4)
  671. #endif
  672. #else
  673. typedef struct IXpsSignatureBlockCollectionVtbl {
  674. BEGIN_INTERFACE
  675. /*** IUnknown methods ***/
  676. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  677. IXpsSignatureBlockCollection *This,
  678. REFIID riid,
  679. void **ppvObject);
  680. ULONG (STDMETHODCALLTYPE *AddRef)(
  681. IXpsSignatureBlockCollection *This);
  682. ULONG (STDMETHODCALLTYPE *Release)(
  683. IXpsSignatureBlockCollection *This);
  684. /*** IXpsSignatureBlockCollection methods ***/
  685. HRESULT (STDMETHODCALLTYPE *GetCount)(
  686. IXpsSignatureBlockCollection *This,
  687. UINT32 *count);
  688. HRESULT (STDMETHODCALLTYPE *GetAt)(
  689. IXpsSignatureBlockCollection *This,
  690. UINT32 index,
  691. IXpsSignatureBlock **signatureBlock);
  692. HRESULT (STDMETHODCALLTYPE *RemoveAt)(
  693. IXpsSignatureBlockCollection *This,
  694. UINT32 index);
  695. END_INTERFACE
  696. } IXpsSignatureBlockCollectionVtbl;
  697. interface IXpsSignatureBlockCollection {
  698. CONST_VTBL IXpsSignatureBlockCollectionVtbl* lpVtbl;
  699. };
  700. #ifdef COBJMACROS
  701. #ifndef WIDL_C_INLINE_WRAPPERS
  702. /*** IUnknown methods ***/
  703. #define IXpsSignatureBlockCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  704. #define IXpsSignatureBlockCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
  705. #define IXpsSignatureBlockCollection_Release(This) (This)->lpVtbl->Release(This)
  706. /*** IXpsSignatureBlockCollection methods ***/
  707. #define IXpsSignatureBlockCollection_GetCount(This,count) (This)->lpVtbl->GetCount(This,count)
  708. #define IXpsSignatureBlockCollection_GetAt(This,index,signatureBlock) (This)->lpVtbl->GetAt(This,index,signatureBlock)
  709. #define IXpsSignatureBlockCollection_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index)
  710. #else
  711. /*** IUnknown methods ***/
  712. static FORCEINLINE HRESULT IXpsSignatureBlockCollection_QueryInterface(IXpsSignatureBlockCollection* This,REFIID riid,void **ppvObject) {
  713. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  714. }
  715. static FORCEINLINE ULONG IXpsSignatureBlockCollection_AddRef(IXpsSignatureBlockCollection* This) {
  716. return This->lpVtbl->AddRef(This);
  717. }
  718. static FORCEINLINE ULONG IXpsSignatureBlockCollection_Release(IXpsSignatureBlockCollection* This) {
  719. return This->lpVtbl->Release(This);
  720. }
  721. /*** IXpsSignatureBlockCollection methods ***/
  722. static FORCEINLINE HRESULT IXpsSignatureBlockCollection_GetCount(IXpsSignatureBlockCollection* This,UINT32 *count) {
  723. return This->lpVtbl->GetCount(This,count);
  724. }
  725. static FORCEINLINE HRESULT IXpsSignatureBlockCollection_GetAt(IXpsSignatureBlockCollection* This,UINT32 index,IXpsSignatureBlock **signatureBlock) {
  726. return This->lpVtbl->GetAt(This,index,signatureBlock);
  727. }
  728. static FORCEINLINE HRESULT IXpsSignatureBlockCollection_RemoveAt(IXpsSignatureBlockCollection* This,UINT32 index) {
  729. return This->lpVtbl->RemoveAt(This,index);
  730. }
  731. #endif
  732. #endif
  733. #endif
  734. #endif /* __IXpsSignatureBlockCollection_INTERFACE_DEFINED__ */
  735. /*****************************************************************************
  736. * IXpsSignatureCollection interface
  737. */
  738. #ifndef __IXpsSignatureCollection_INTERFACE_DEFINED__
  739. #define __IXpsSignatureCollection_INTERFACE_DEFINED__
  740. DEFINE_GUID(IID_IXpsSignatureCollection, 0xa2d1d95d, 0xadd2, 0x4dff, 0xab,0x27, 0x6b,0x9c,0x64,0x5f,0xf3,0x22);
  741. #if defined(__cplusplus) && !defined(CINTERFACE)
  742. MIDL_INTERFACE("a2d1d95d-add2-4dff-ab27-6b9c645ff322")
  743. IXpsSignatureCollection : public IUnknown
  744. {
  745. virtual HRESULT STDMETHODCALLTYPE GetCount(
  746. UINT32 *count) = 0;
  747. virtual HRESULT STDMETHODCALLTYPE GetAt(
  748. UINT32 index,
  749. IXpsSignature **signature) = 0;
  750. virtual HRESULT STDMETHODCALLTYPE RemoveAt(
  751. UINT32 index) = 0;
  752. };
  753. #ifdef __CRT_UUID_DECL
  754. __CRT_UUID_DECL(IXpsSignatureCollection, 0xa2d1d95d, 0xadd2, 0x4dff, 0xab,0x27, 0x6b,0x9c,0x64,0x5f,0xf3,0x22)
  755. #endif
  756. #else
  757. typedef struct IXpsSignatureCollectionVtbl {
  758. BEGIN_INTERFACE
  759. /*** IUnknown methods ***/
  760. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  761. IXpsSignatureCollection *This,
  762. REFIID riid,
  763. void **ppvObject);
  764. ULONG (STDMETHODCALLTYPE *AddRef)(
  765. IXpsSignatureCollection *This);
  766. ULONG (STDMETHODCALLTYPE *Release)(
  767. IXpsSignatureCollection *This);
  768. /*** IXpsSignatureCollection methods ***/
  769. HRESULT (STDMETHODCALLTYPE *GetCount)(
  770. IXpsSignatureCollection *This,
  771. UINT32 *count);
  772. HRESULT (STDMETHODCALLTYPE *GetAt)(
  773. IXpsSignatureCollection *This,
  774. UINT32 index,
  775. IXpsSignature **signature);
  776. HRESULT (STDMETHODCALLTYPE *RemoveAt)(
  777. IXpsSignatureCollection *This,
  778. UINT32 index);
  779. END_INTERFACE
  780. } IXpsSignatureCollectionVtbl;
  781. interface IXpsSignatureCollection {
  782. CONST_VTBL IXpsSignatureCollectionVtbl* lpVtbl;
  783. };
  784. #ifdef COBJMACROS
  785. #ifndef WIDL_C_INLINE_WRAPPERS
  786. /*** IUnknown methods ***/
  787. #define IXpsSignatureCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  788. #define IXpsSignatureCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
  789. #define IXpsSignatureCollection_Release(This) (This)->lpVtbl->Release(This)
  790. /*** IXpsSignatureCollection methods ***/
  791. #define IXpsSignatureCollection_GetCount(This,count) (This)->lpVtbl->GetCount(This,count)
  792. #define IXpsSignatureCollection_GetAt(This,index,signature) (This)->lpVtbl->GetAt(This,index,signature)
  793. #define IXpsSignatureCollection_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index)
  794. #else
  795. /*** IUnknown methods ***/
  796. static FORCEINLINE HRESULT IXpsSignatureCollection_QueryInterface(IXpsSignatureCollection* This,REFIID riid,void **ppvObject) {
  797. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  798. }
  799. static FORCEINLINE ULONG IXpsSignatureCollection_AddRef(IXpsSignatureCollection* This) {
  800. return This->lpVtbl->AddRef(This);
  801. }
  802. static FORCEINLINE ULONG IXpsSignatureCollection_Release(IXpsSignatureCollection* This) {
  803. return This->lpVtbl->Release(This);
  804. }
  805. /*** IXpsSignatureCollection methods ***/
  806. static FORCEINLINE HRESULT IXpsSignatureCollection_GetCount(IXpsSignatureCollection* This,UINT32 *count) {
  807. return This->lpVtbl->GetCount(This,count);
  808. }
  809. static FORCEINLINE HRESULT IXpsSignatureCollection_GetAt(IXpsSignatureCollection* This,UINT32 index,IXpsSignature **signature) {
  810. return This->lpVtbl->GetAt(This,index,signature);
  811. }
  812. static FORCEINLINE HRESULT IXpsSignatureCollection_RemoveAt(IXpsSignatureCollection* This,UINT32 index) {
  813. return This->lpVtbl->RemoveAt(This,index);
  814. }
  815. #endif
  816. #endif
  817. #endif
  818. #endif /* __IXpsSignatureCollection_INTERFACE_DEFINED__ */
  819. /*****************************************************************************
  820. * IXpsSignatureManager interface
  821. */
  822. #ifndef __IXpsSignatureManager_INTERFACE_DEFINED__
  823. #define __IXpsSignatureManager_INTERFACE_DEFINED__
  824. DEFINE_GUID(IID_IXpsSignatureManager, 0xd3e8d338, 0xfdc4, 0x4afc, 0x80,0xb5, 0xd5,0x32,0xa1,0x78,0x2e,0xe1);
  825. #if defined(__cplusplus) && !defined(CINTERFACE)
  826. MIDL_INTERFACE("d3e8d338-fdc4-4afc-80b5-d532a1782ee1")
  827. IXpsSignatureManager : public IUnknown
  828. {
  829. virtual HRESULT STDMETHODCALLTYPE LoadPackageFile(
  830. LPCWSTR fileName) = 0;
  831. virtual HRESULT STDMETHODCALLTYPE LoadPackageStream(
  832. IStream *stream) = 0;
  833. virtual HRESULT STDMETHODCALLTYPE Sign(
  834. IXpsSigningOptions *signOptions,
  835. const CERT_CONTEXT *x509Certificate,
  836. IXpsSignature **signature) = 0;
  837. virtual HRESULT STDMETHODCALLTYPE GetSignatureOriginPartName(
  838. IOpcPartUri **signatureOriginPartName) = 0;
  839. virtual HRESULT STDMETHODCALLTYPE SetSignatureOriginPartName(
  840. IOpcPartUri *signatureOriginPartName) = 0;
  841. virtual HRESULT STDMETHODCALLTYPE GetSignatures(
  842. IXpsSignatureCollection **signatures) = 0;
  843. virtual HRESULT STDMETHODCALLTYPE AddSignatureBlock(
  844. IOpcPartUri *partName,
  845. UINT32 fixedDocumentIndex,
  846. IXpsSignatureBlock **signatureBlock) = 0;
  847. virtual HRESULT STDMETHODCALLTYPE GetSignatureBlocks(
  848. IXpsSignatureBlockCollection **signatureBlocks) = 0;
  849. virtual HRESULT STDMETHODCALLTYPE CreateSigningOptions(
  850. IXpsSigningOptions **signingOptions) = 0;
  851. virtual HRESULT STDMETHODCALLTYPE SavePackageToFile(
  852. LPCWSTR fileName,
  853. LPSECURITY_ATTRIBUTES securityAttributes,
  854. DWORD flagsAndAttributes) = 0;
  855. virtual HRESULT STDMETHODCALLTYPE SavePackageToStream(
  856. IStream *stream) = 0;
  857. };
  858. #ifdef __CRT_UUID_DECL
  859. __CRT_UUID_DECL(IXpsSignatureManager, 0xd3e8d338, 0xfdc4, 0x4afc, 0x80,0xb5, 0xd5,0x32,0xa1,0x78,0x2e,0xe1)
  860. #endif
  861. #else
  862. typedef struct IXpsSignatureManagerVtbl {
  863. BEGIN_INTERFACE
  864. /*** IUnknown methods ***/
  865. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  866. IXpsSignatureManager *This,
  867. REFIID riid,
  868. void **ppvObject);
  869. ULONG (STDMETHODCALLTYPE *AddRef)(
  870. IXpsSignatureManager *This);
  871. ULONG (STDMETHODCALLTYPE *Release)(
  872. IXpsSignatureManager *This);
  873. /*** IXpsSignatureManager methods ***/
  874. HRESULT (STDMETHODCALLTYPE *LoadPackageFile)(
  875. IXpsSignatureManager *This,
  876. LPCWSTR fileName);
  877. HRESULT (STDMETHODCALLTYPE *LoadPackageStream)(
  878. IXpsSignatureManager *This,
  879. IStream *stream);
  880. HRESULT (STDMETHODCALLTYPE *Sign)(
  881. IXpsSignatureManager *This,
  882. IXpsSigningOptions *signOptions,
  883. const CERT_CONTEXT *x509Certificate,
  884. IXpsSignature **signature);
  885. HRESULT (STDMETHODCALLTYPE *GetSignatureOriginPartName)(
  886. IXpsSignatureManager *This,
  887. IOpcPartUri **signatureOriginPartName);
  888. HRESULT (STDMETHODCALLTYPE *SetSignatureOriginPartName)(
  889. IXpsSignatureManager *This,
  890. IOpcPartUri *signatureOriginPartName);
  891. HRESULT (STDMETHODCALLTYPE *GetSignatures)(
  892. IXpsSignatureManager *This,
  893. IXpsSignatureCollection **signatures);
  894. HRESULT (STDMETHODCALLTYPE *AddSignatureBlock)(
  895. IXpsSignatureManager *This,
  896. IOpcPartUri *partName,
  897. UINT32 fixedDocumentIndex,
  898. IXpsSignatureBlock **signatureBlock);
  899. HRESULT (STDMETHODCALLTYPE *GetSignatureBlocks)(
  900. IXpsSignatureManager *This,
  901. IXpsSignatureBlockCollection **signatureBlocks);
  902. HRESULT (STDMETHODCALLTYPE *CreateSigningOptions)(
  903. IXpsSignatureManager *This,
  904. IXpsSigningOptions **signingOptions);
  905. HRESULT (STDMETHODCALLTYPE *SavePackageToFile)(
  906. IXpsSignatureManager *This,
  907. LPCWSTR fileName,
  908. LPSECURITY_ATTRIBUTES securityAttributes,
  909. DWORD flagsAndAttributes);
  910. HRESULT (STDMETHODCALLTYPE *SavePackageToStream)(
  911. IXpsSignatureManager *This,
  912. IStream *stream);
  913. END_INTERFACE
  914. } IXpsSignatureManagerVtbl;
  915. interface IXpsSignatureManager {
  916. CONST_VTBL IXpsSignatureManagerVtbl* lpVtbl;
  917. };
  918. #ifdef COBJMACROS
  919. #ifndef WIDL_C_INLINE_WRAPPERS
  920. /*** IUnknown methods ***/
  921. #define IXpsSignatureManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  922. #define IXpsSignatureManager_AddRef(This) (This)->lpVtbl->AddRef(This)
  923. #define IXpsSignatureManager_Release(This) (This)->lpVtbl->Release(This)
  924. /*** IXpsSignatureManager methods ***/
  925. #define IXpsSignatureManager_LoadPackageFile(This,fileName) (This)->lpVtbl->LoadPackageFile(This,fileName)
  926. #define IXpsSignatureManager_LoadPackageStream(This,stream) (This)->lpVtbl->LoadPackageStream(This,stream)
  927. #define IXpsSignatureManager_Sign(This,signOptions,x509Certificate,signature) (This)->lpVtbl->Sign(This,signOptions,x509Certificate,signature)
  928. #define IXpsSignatureManager_GetSignatureOriginPartName(This,signatureOriginPartName) (This)->lpVtbl->GetSignatureOriginPartName(This,signatureOriginPartName)
  929. #define IXpsSignatureManager_SetSignatureOriginPartName(This,signatureOriginPartName) (This)->lpVtbl->SetSignatureOriginPartName(This,signatureOriginPartName)
  930. #define IXpsSignatureManager_GetSignatures(This,signatures) (This)->lpVtbl->GetSignatures(This,signatures)
  931. #define IXpsSignatureManager_AddSignatureBlock(This,partName,fixedDocumentIndex,signatureBlock) (This)->lpVtbl->AddSignatureBlock(This,partName,fixedDocumentIndex,signatureBlock)
  932. #define IXpsSignatureManager_GetSignatureBlocks(This,signatureBlocks) (This)->lpVtbl->GetSignatureBlocks(This,signatureBlocks)
  933. #define IXpsSignatureManager_CreateSigningOptions(This,signingOptions) (This)->lpVtbl->CreateSigningOptions(This,signingOptions)
  934. #define IXpsSignatureManager_SavePackageToFile(This,fileName,securityAttributes,flagsAndAttributes) (This)->lpVtbl->SavePackageToFile(This,fileName,securityAttributes,flagsAndAttributes)
  935. #define IXpsSignatureManager_SavePackageToStream(This,stream) (This)->lpVtbl->SavePackageToStream(This,stream)
  936. #else
  937. /*** IUnknown methods ***/
  938. static FORCEINLINE HRESULT IXpsSignatureManager_QueryInterface(IXpsSignatureManager* This,REFIID riid,void **ppvObject) {
  939. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  940. }
  941. static FORCEINLINE ULONG IXpsSignatureManager_AddRef(IXpsSignatureManager* This) {
  942. return This->lpVtbl->AddRef(This);
  943. }
  944. static FORCEINLINE ULONG IXpsSignatureManager_Release(IXpsSignatureManager* This) {
  945. return This->lpVtbl->Release(This);
  946. }
  947. /*** IXpsSignatureManager methods ***/
  948. static FORCEINLINE HRESULT IXpsSignatureManager_LoadPackageFile(IXpsSignatureManager* This,LPCWSTR fileName) {
  949. return This->lpVtbl->LoadPackageFile(This,fileName);
  950. }
  951. static FORCEINLINE HRESULT IXpsSignatureManager_LoadPackageStream(IXpsSignatureManager* This,IStream *stream) {
  952. return This->lpVtbl->LoadPackageStream(This,stream);
  953. }
  954. static FORCEINLINE HRESULT IXpsSignatureManager_Sign(IXpsSignatureManager* This,IXpsSigningOptions *signOptions,const CERT_CONTEXT *x509Certificate,IXpsSignature **signature) {
  955. return This->lpVtbl->Sign(This,signOptions,x509Certificate,signature);
  956. }
  957. static FORCEINLINE HRESULT IXpsSignatureManager_GetSignatureOriginPartName(IXpsSignatureManager* This,IOpcPartUri **signatureOriginPartName) {
  958. return This->lpVtbl->GetSignatureOriginPartName(This,signatureOriginPartName);
  959. }
  960. static FORCEINLINE HRESULT IXpsSignatureManager_SetSignatureOriginPartName(IXpsSignatureManager* This,IOpcPartUri *signatureOriginPartName) {
  961. return This->lpVtbl->SetSignatureOriginPartName(This,signatureOriginPartName);
  962. }
  963. static FORCEINLINE HRESULT IXpsSignatureManager_GetSignatures(IXpsSignatureManager* This,IXpsSignatureCollection **signatures) {
  964. return This->lpVtbl->GetSignatures(This,signatures);
  965. }
  966. static FORCEINLINE HRESULT IXpsSignatureManager_AddSignatureBlock(IXpsSignatureManager* This,IOpcPartUri *partName,UINT32 fixedDocumentIndex,IXpsSignatureBlock **signatureBlock) {
  967. return This->lpVtbl->AddSignatureBlock(This,partName,fixedDocumentIndex,signatureBlock);
  968. }
  969. static FORCEINLINE HRESULT IXpsSignatureManager_GetSignatureBlocks(IXpsSignatureManager* This,IXpsSignatureBlockCollection **signatureBlocks) {
  970. return This->lpVtbl->GetSignatureBlocks(This,signatureBlocks);
  971. }
  972. static FORCEINLINE HRESULT IXpsSignatureManager_CreateSigningOptions(IXpsSignatureManager* This,IXpsSigningOptions **signingOptions) {
  973. return This->lpVtbl->CreateSigningOptions(This,signingOptions);
  974. }
  975. static FORCEINLINE HRESULT IXpsSignatureManager_SavePackageToFile(IXpsSignatureManager* This,LPCWSTR fileName,LPSECURITY_ATTRIBUTES securityAttributes,DWORD flagsAndAttributes) {
  976. return This->lpVtbl->SavePackageToFile(This,fileName,securityAttributes,flagsAndAttributes);
  977. }
  978. static FORCEINLINE HRESULT IXpsSignatureManager_SavePackageToStream(IXpsSignatureManager* This,IStream *stream) {
  979. return This->lpVtbl->SavePackageToStream(This,stream);
  980. }
  981. #endif
  982. #endif
  983. #endif
  984. #endif /* __IXpsSignatureManager_INTERFACE_DEFINED__ */
  985. /*****************************************************************************
  986. * IXpsSignatureRequest interface
  987. */
  988. #ifndef __IXpsSignatureRequest_INTERFACE_DEFINED__
  989. #define __IXpsSignatureRequest_INTERFACE_DEFINED__
  990. DEFINE_GUID(IID_IXpsSignatureRequest, 0xac58950b, 0x7208, 0x4b2d, 0xb2,0xc4, 0x95,0x10,0x83,0xd3,0xb8,0xeb);
  991. #if defined(__cplusplus) && !defined(CINTERFACE)
  992. MIDL_INTERFACE("ac58950b-7208-4b2d-b2c4-951083d3b8eb")
  993. IXpsSignatureRequest : public IUnknown
  994. {
  995. virtual HRESULT STDMETHODCALLTYPE GetIntent(
  996. LPWSTR *intent) = 0;
  997. virtual HRESULT STDMETHODCALLTYPE SetIntent(
  998. LPCWSTR intent) = 0;
  999. virtual HRESULT STDMETHODCALLTYPE GetRequestedSigner(
  1000. LPWSTR *signerName) = 0;
  1001. virtual HRESULT STDMETHODCALLTYPE SetRequestedSigner(
  1002. LPCWSTR signerName) = 0;
  1003. virtual HRESULT STDMETHODCALLTYPE GetRequestSignByDate(
  1004. LPWSTR *dateString) = 0;
  1005. virtual HRESULT STDMETHODCALLTYPE SetRequestSignByDate(
  1006. LPCWSTR dateString) = 0;
  1007. virtual HRESULT STDMETHODCALLTYPE GetSigningLocale(
  1008. LPWSTR *place) = 0;
  1009. virtual HRESULT STDMETHODCALLTYPE SetSigningLocale(
  1010. LPCWSTR place) = 0;
  1011. virtual HRESULT STDMETHODCALLTYPE GetSpotLocation(
  1012. INT32 *pageIndex,
  1013. IOpcPartUri **pagePartName,
  1014. float *x,
  1015. float *y) = 0;
  1016. virtual HRESULT STDMETHODCALLTYPE SetSpotLocation(
  1017. INT32 pageIndex,
  1018. float x,
  1019. float y) = 0;
  1020. virtual HRESULT STDMETHODCALLTYPE GetRequestId(
  1021. LPWSTR *requestId) = 0;
  1022. virtual HRESULT STDMETHODCALLTYPE GetSignature(
  1023. IXpsSignature **signature) = 0;
  1024. };
  1025. #ifdef __CRT_UUID_DECL
  1026. __CRT_UUID_DECL(IXpsSignatureRequest, 0xac58950b, 0x7208, 0x4b2d, 0xb2,0xc4, 0x95,0x10,0x83,0xd3,0xb8,0xeb)
  1027. #endif
  1028. #else
  1029. typedef struct IXpsSignatureRequestVtbl {
  1030. BEGIN_INTERFACE
  1031. /*** IUnknown methods ***/
  1032. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1033. IXpsSignatureRequest *This,
  1034. REFIID riid,
  1035. void **ppvObject);
  1036. ULONG (STDMETHODCALLTYPE *AddRef)(
  1037. IXpsSignatureRequest *This);
  1038. ULONG (STDMETHODCALLTYPE *Release)(
  1039. IXpsSignatureRequest *This);
  1040. /*** IXpsSignatureRequest methods ***/
  1041. HRESULT (STDMETHODCALLTYPE *GetIntent)(
  1042. IXpsSignatureRequest *This,
  1043. LPWSTR *intent);
  1044. HRESULT (STDMETHODCALLTYPE *SetIntent)(
  1045. IXpsSignatureRequest *This,
  1046. LPCWSTR intent);
  1047. HRESULT (STDMETHODCALLTYPE *GetRequestedSigner)(
  1048. IXpsSignatureRequest *This,
  1049. LPWSTR *signerName);
  1050. HRESULT (STDMETHODCALLTYPE *SetRequestedSigner)(
  1051. IXpsSignatureRequest *This,
  1052. LPCWSTR signerName);
  1053. HRESULT (STDMETHODCALLTYPE *GetRequestSignByDate)(
  1054. IXpsSignatureRequest *This,
  1055. LPWSTR *dateString);
  1056. HRESULT (STDMETHODCALLTYPE *SetRequestSignByDate)(
  1057. IXpsSignatureRequest *This,
  1058. LPCWSTR dateString);
  1059. HRESULT (STDMETHODCALLTYPE *GetSigningLocale)(
  1060. IXpsSignatureRequest *This,
  1061. LPWSTR *place);
  1062. HRESULT (STDMETHODCALLTYPE *SetSigningLocale)(
  1063. IXpsSignatureRequest *This,
  1064. LPCWSTR place);
  1065. HRESULT (STDMETHODCALLTYPE *GetSpotLocation)(
  1066. IXpsSignatureRequest *This,
  1067. INT32 *pageIndex,
  1068. IOpcPartUri **pagePartName,
  1069. float *x,
  1070. float *y);
  1071. HRESULT (STDMETHODCALLTYPE *SetSpotLocation)(
  1072. IXpsSignatureRequest *This,
  1073. INT32 pageIndex,
  1074. float x,
  1075. float y);
  1076. HRESULT (STDMETHODCALLTYPE *GetRequestId)(
  1077. IXpsSignatureRequest *This,
  1078. LPWSTR *requestId);
  1079. HRESULT (STDMETHODCALLTYPE *GetSignature)(
  1080. IXpsSignatureRequest *This,
  1081. IXpsSignature **signature);
  1082. END_INTERFACE
  1083. } IXpsSignatureRequestVtbl;
  1084. interface IXpsSignatureRequest {
  1085. CONST_VTBL IXpsSignatureRequestVtbl* lpVtbl;
  1086. };
  1087. #ifdef COBJMACROS
  1088. #ifndef WIDL_C_INLINE_WRAPPERS
  1089. /*** IUnknown methods ***/
  1090. #define IXpsSignatureRequest_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1091. #define IXpsSignatureRequest_AddRef(This) (This)->lpVtbl->AddRef(This)
  1092. #define IXpsSignatureRequest_Release(This) (This)->lpVtbl->Release(This)
  1093. /*** IXpsSignatureRequest methods ***/
  1094. #define IXpsSignatureRequest_GetIntent(This,intent) (This)->lpVtbl->GetIntent(This,intent)
  1095. #define IXpsSignatureRequest_SetIntent(This,intent) (This)->lpVtbl->SetIntent(This,intent)
  1096. #define IXpsSignatureRequest_GetRequestedSigner(This,signerName) (This)->lpVtbl->GetRequestedSigner(This,signerName)
  1097. #define IXpsSignatureRequest_SetRequestedSigner(This,signerName) (This)->lpVtbl->SetRequestedSigner(This,signerName)
  1098. #define IXpsSignatureRequest_GetRequestSignByDate(This,dateString) (This)->lpVtbl->GetRequestSignByDate(This,dateString)
  1099. #define IXpsSignatureRequest_SetRequestSignByDate(This,dateString) (This)->lpVtbl->SetRequestSignByDate(This,dateString)
  1100. #define IXpsSignatureRequest_GetSigningLocale(This,place) (This)->lpVtbl->GetSigningLocale(This,place)
  1101. #define IXpsSignatureRequest_SetSigningLocale(This,place) (This)->lpVtbl->SetSigningLocale(This,place)
  1102. #define IXpsSignatureRequest_GetSpotLocation(This,pageIndex,pagePartName,x,y) (This)->lpVtbl->GetSpotLocation(This,pageIndex,pagePartName,x,y)
  1103. #define IXpsSignatureRequest_SetSpotLocation(This,pageIndex,x,y) (This)->lpVtbl->SetSpotLocation(This,pageIndex,x,y)
  1104. #define IXpsSignatureRequest_GetRequestId(This,requestId) (This)->lpVtbl->GetRequestId(This,requestId)
  1105. #define IXpsSignatureRequest_GetSignature(This,signature) (This)->lpVtbl->GetSignature(This,signature)
  1106. #else
  1107. /*** IUnknown methods ***/
  1108. static FORCEINLINE HRESULT IXpsSignatureRequest_QueryInterface(IXpsSignatureRequest* This,REFIID riid,void **ppvObject) {
  1109. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1110. }
  1111. static FORCEINLINE ULONG IXpsSignatureRequest_AddRef(IXpsSignatureRequest* This) {
  1112. return This->lpVtbl->AddRef(This);
  1113. }
  1114. static FORCEINLINE ULONG IXpsSignatureRequest_Release(IXpsSignatureRequest* This) {
  1115. return This->lpVtbl->Release(This);
  1116. }
  1117. /*** IXpsSignatureRequest methods ***/
  1118. static FORCEINLINE HRESULT IXpsSignatureRequest_GetIntent(IXpsSignatureRequest* This,LPWSTR *intent) {
  1119. return This->lpVtbl->GetIntent(This,intent);
  1120. }
  1121. static FORCEINLINE HRESULT IXpsSignatureRequest_SetIntent(IXpsSignatureRequest* This,LPCWSTR intent) {
  1122. return This->lpVtbl->SetIntent(This,intent);
  1123. }
  1124. static FORCEINLINE HRESULT IXpsSignatureRequest_GetRequestedSigner(IXpsSignatureRequest* This,LPWSTR *signerName) {
  1125. return This->lpVtbl->GetRequestedSigner(This,signerName);
  1126. }
  1127. static FORCEINLINE HRESULT IXpsSignatureRequest_SetRequestedSigner(IXpsSignatureRequest* This,LPCWSTR signerName) {
  1128. return This->lpVtbl->SetRequestedSigner(This,signerName);
  1129. }
  1130. static FORCEINLINE HRESULT IXpsSignatureRequest_GetRequestSignByDate(IXpsSignatureRequest* This,LPWSTR *dateString) {
  1131. return This->lpVtbl->GetRequestSignByDate(This,dateString);
  1132. }
  1133. static FORCEINLINE HRESULT IXpsSignatureRequest_SetRequestSignByDate(IXpsSignatureRequest* This,LPCWSTR dateString) {
  1134. return This->lpVtbl->SetRequestSignByDate(This,dateString);
  1135. }
  1136. static FORCEINLINE HRESULT IXpsSignatureRequest_GetSigningLocale(IXpsSignatureRequest* This,LPWSTR *place) {
  1137. return This->lpVtbl->GetSigningLocale(This,place);
  1138. }
  1139. static FORCEINLINE HRESULT IXpsSignatureRequest_SetSigningLocale(IXpsSignatureRequest* This,LPCWSTR place) {
  1140. return This->lpVtbl->SetSigningLocale(This,place);
  1141. }
  1142. static FORCEINLINE HRESULT IXpsSignatureRequest_GetSpotLocation(IXpsSignatureRequest* This,INT32 *pageIndex,IOpcPartUri **pagePartName,float *x,float *y) {
  1143. return This->lpVtbl->GetSpotLocation(This,pageIndex,pagePartName,x,y);
  1144. }
  1145. static FORCEINLINE HRESULT IXpsSignatureRequest_SetSpotLocation(IXpsSignatureRequest* This,INT32 pageIndex,float x,float y) {
  1146. return This->lpVtbl->SetSpotLocation(This,pageIndex,x,y);
  1147. }
  1148. static FORCEINLINE HRESULT IXpsSignatureRequest_GetRequestId(IXpsSignatureRequest* This,LPWSTR *requestId) {
  1149. return This->lpVtbl->GetRequestId(This,requestId);
  1150. }
  1151. static FORCEINLINE HRESULT IXpsSignatureRequest_GetSignature(IXpsSignatureRequest* This,IXpsSignature **signature) {
  1152. return This->lpVtbl->GetSignature(This,signature);
  1153. }
  1154. #endif
  1155. #endif
  1156. #endif
  1157. #endif /* __IXpsSignatureRequest_INTERFACE_DEFINED__ */
  1158. /*****************************************************************************
  1159. * IXpsSignatureRequestCollection interface
  1160. */
  1161. #ifndef __IXpsSignatureRequestCollection_INTERFACE_DEFINED__
  1162. #define __IXpsSignatureRequestCollection_INTERFACE_DEFINED__
  1163. DEFINE_GUID(IID_IXpsSignatureRequestCollection, 0xf0253e68, 0x9f19, 0x412e, 0x9b,0x4f, 0x54,0xd3,0xb0,0xac,0x6c,0xd9);
  1164. #if defined(__cplusplus) && !defined(CINTERFACE)
  1165. MIDL_INTERFACE("f0253e68-9f19-412e-9b4f-54d3b0ac6cd9")
  1166. IXpsSignatureRequestCollection : public IUnknown
  1167. {
  1168. virtual HRESULT STDMETHODCALLTYPE GetCount(
  1169. UINT32 *count) = 0;
  1170. virtual HRESULT STDMETHODCALLTYPE GetAt(
  1171. UINT32 index,
  1172. IXpsSignatureRequest **signatureRequest) = 0;
  1173. virtual HRESULT STDMETHODCALLTYPE RemoveAt(
  1174. UINT32 index) = 0;
  1175. };
  1176. #ifdef __CRT_UUID_DECL
  1177. __CRT_UUID_DECL(IXpsSignatureRequestCollection, 0xf0253e68, 0x9f19, 0x412e, 0x9b,0x4f, 0x54,0xd3,0xb0,0xac,0x6c,0xd9)
  1178. #endif
  1179. #else
  1180. typedef struct IXpsSignatureRequestCollectionVtbl {
  1181. BEGIN_INTERFACE
  1182. /*** IUnknown methods ***/
  1183. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1184. IXpsSignatureRequestCollection *This,
  1185. REFIID riid,
  1186. void **ppvObject);
  1187. ULONG (STDMETHODCALLTYPE *AddRef)(
  1188. IXpsSignatureRequestCollection *This);
  1189. ULONG (STDMETHODCALLTYPE *Release)(
  1190. IXpsSignatureRequestCollection *This);
  1191. /*** IXpsSignatureRequestCollection methods ***/
  1192. HRESULT (STDMETHODCALLTYPE *GetCount)(
  1193. IXpsSignatureRequestCollection *This,
  1194. UINT32 *count);
  1195. HRESULT (STDMETHODCALLTYPE *GetAt)(
  1196. IXpsSignatureRequestCollection *This,
  1197. UINT32 index,
  1198. IXpsSignatureRequest **signatureRequest);
  1199. HRESULT (STDMETHODCALLTYPE *RemoveAt)(
  1200. IXpsSignatureRequestCollection *This,
  1201. UINT32 index);
  1202. END_INTERFACE
  1203. } IXpsSignatureRequestCollectionVtbl;
  1204. interface IXpsSignatureRequestCollection {
  1205. CONST_VTBL IXpsSignatureRequestCollectionVtbl* lpVtbl;
  1206. };
  1207. #ifdef COBJMACROS
  1208. #ifndef WIDL_C_INLINE_WRAPPERS
  1209. /*** IUnknown methods ***/
  1210. #define IXpsSignatureRequestCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1211. #define IXpsSignatureRequestCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
  1212. #define IXpsSignatureRequestCollection_Release(This) (This)->lpVtbl->Release(This)
  1213. /*** IXpsSignatureRequestCollection methods ***/
  1214. #define IXpsSignatureRequestCollection_GetCount(This,count) (This)->lpVtbl->GetCount(This,count)
  1215. #define IXpsSignatureRequestCollection_GetAt(This,index,signatureRequest) (This)->lpVtbl->GetAt(This,index,signatureRequest)
  1216. #define IXpsSignatureRequestCollection_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index)
  1217. #else
  1218. /*** IUnknown methods ***/
  1219. static FORCEINLINE HRESULT IXpsSignatureRequestCollection_QueryInterface(IXpsSignatureRequestCollection* This,REFIID riid,void **ppvObject) {
  1220. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1221. }
  1222. static FORCEINLINE ULONG IXpsSignatureRequestCollection_AddRef(IXpsSignatureRequestCollection* This) {
  1223. return This->lpVtbl->AddRef(This);
  1224. }
  1225. static FORCEINLINE ULONG IXpsSignatureRequestCollection_Release(IXpsSignatureRequestCollection* This) {
  1226. return This->lpVtbl->Release(This);
  1227. }
  1228. /*** IXpsSignatureRequestCollection methods ***/
  1229. static FORCEINLINE HRESULT IXpsSignatureRequestCollection_GetCount(IXpsSignatureRequestCollection* This,UINT32 *count) {
  1230. return This->lpVtbl->GetCount(This,count);
  1231. }
  1232. static FORCEINLINE HRESULT IXpsSignatureRequestCollection_GetAt(IXpsSignatureRequestCollection* This,UINT32 index,IXpsSignatureRequest **signatureRequest) {
  1233. return This->lpVtbl->GetAt(This,index,signatureRequest);
  1234. }
  1235. static FORCEINLINE HRESULT IXpsSignatureRequestCollection_RemoveAt(IXpsSignatureRequestCollection* This,UINT32 index) {
  1236. return This->lpVtbl->RemoveAt(This,index);
  1237. }
  1238. #endif
  1239. #endif
  1240. #endif
  1241. #endif /* __IXpsSignatureRequestCollection_INTERFACE_DEFINED__ */
  1242. /*****************************************************************************
  1243. * XpsSignatureManager coclass
  1244. */
  1245. DEFINE_GUID(CLSID_XpsSignatureManager, 0xb0c43320, 0x2315, 0x44a2, 0xb7,0x0a, 0x09,0x43,0xa1,0x40,0xa8,0xee);
  1246. #ifdef __cplusplus
  1247. class DECLSPEC_UUID("b0c43320-2315-44a2-b70a-0943a140a8ee") XpsSignatureManager;
  1248. #ifdef __CRT_UUID_DECL
  1249. __CRT_UUID_DECL(XpsSignatureManager, 0xb0c43320, 0x2315, 0x44a2, 0xb7,0x0a, 0x09,0x43,0xa1,0x40,0xa8,0xee)
  1250. #endif
  1251. #endif
  1252. #endif /* __MSXPSSIG_LIBRARY_DEFINED__ */
  1253. #endif
  1254. #endif
  1255. /* Begin additional prototypes for all interfaces */
  1256. /* End additional prototypes */
  1257. #ifdef __cplusplus
  1258. }
  1259. #endif
  1260. #endif /* __xpsdigitalsignature_h__ */