Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

8664 lines
287 KiB

  1. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3. /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for xenroll.idl:
  5. Oicf, W1, Zp8, env=Win32 (32b run)
  6. protocol : dce , ms_ext, c_ext, robust
  7. error checks: allocation ref bounds_check enum stub_data
  8. VC __declspec() decoration level:
  9. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10. DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING( )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __xenroll_h__
  27. #define __xenroll_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __ICEnroll_FWD_DEFINED__
  33. #define __ICEnroll_FWD_DEFINED__
  34. typedef interface ICEnroll ICEnroll;
  35. #endif /* __ICEnroll_FWD_DEFINED__ */
  36. #ifndef __ICEnroll2_FWD_DEFINED__
  37. #define __ICEnroll2_FWD_DEFINED__
  38. typedef interface ICEnroll2 ICEnroll2;
  39. #endif /* __ICEnroll2_FWD_DEFINED__ */
  40. #ifndef __ICEnroll3_FWD_DEFINED__
  41. #define __ICEnroll3_FWD_DEFINED__
  42. typedef interface ICEnroll3 ICEnroll3;
  43. #endif /* __ICEnroll3_FWD_DEFINED__ */
  44. #ifndef __ICEnroll4_FWD_DEFINED__
  45. #define __ICEnroll4_FWD_DEFINED__
  46. typedef interface ICEnroll4 ICEnroll4;
  47. #endif /* __ICEnroll4_FWD_DEFINED__ */
  48. #ifndef __IEnroll_FWD_DEFINED__
  49. #define __IEnroll_FWD_DEFINED__
  50. typedef interface IEnroll IEnroll;
  51. #endif /* __IEnroll_FWD_DEFINED__ */
  52. #ifndef __IEnroll2_FWD_DEFINED__
  53. #define __IEnroll2_FWD_DEFINED__
  54. typedef interface IEnroll2 IEnroll2;
  55. #endif /* __IEnroll2_FWD_DEFINED__ */
  56. #ifndef __IEnroll4_FWD_DEFINED__
  57. #define __IEnroll4_FWD_DEFINED__
  58. typedef interface IEnroll4 IEnroll4;
  59. #endif /* __IEnroll4_FWD_DEFINED__ */
  60. #ifndef __CEnroll_FWD_DEFINED__
  61. #define __CEnroll_FWD_DEFINED__
  62. #ifdef __cplusplus
  63. typedef class CEnroll CEnroll;
  64. #else
  65. typedef struct CEnroll CEnroll;
  66. #endif /* __cplusplus */
  67. #endif /* __CEnroll_FWD_DEFINED__ */
  68. /* header files for imported files */
  69. #include "oaidl.h"
  70. #include "ocidl.h"
  71. #include "wincrypt.h"
  72. #ifdef __cplusplus
  73. extern "C"{
  74. #endif
  75. void * __RPC_USER MIDL_user_allocate(size_t);
  76. void __RPC_USER MIDL_user_free( void * );
  77. #ifndef __ICEnroll_INTERFACE_DEFINED__
  78. #define __ICEnroll_INTERFACE_DEFINED__
  79. /* interface ICEnroll */
  80. /* [unique][helpstring][dual][uuid][object] */
  81. EXTERN_C const IID IID_ICEnroll;
  82. #if defined(__cplusplus) && !defined(CINTERFACE)
  83. MIDL_INTERFACE("43F8F288-7A20-11D0-8F06-00C04FC295E1")
  84. ICEnroll : public IDispatch
  85. {
  86. public:
  87. virtual HRESULT STDMETHODCALLTYPE createFilePKCS10(
  88. /* [in] */ BSTR DNName,
  89. /* [in] */ BSTR Usage,
  90. /* [in] */ BSTR wszPKCS10FileName) = 0;
  91. virtual HRESULT STDMETHODCALLTYPE acceptFilePKCS7(
  92. /* [in] */ BSTR wszPKCS7FileName) = 0;
  93. virtual HRESULT STDMETHODCALLTYPE createPKCS10(
  94. /* [in] */ BSTR DNName,
  95. /* [in] */ BSTR Usage,
  96. /* [retval][out] */ BSTR *pPKCS10) = 0;
  97. virtual HRESULT STDMETHODCALLTYPE acceptPKCS7(
  98. /* [in] */ BSTR PKCS7) = 0;
  99. virtual HRESULT STDMETHODCALLTYPE getCertFromPKCS7(
  100. /* [in] */ BSTR wszPKCS7,
  101. /* [retval][out] */ BSTR *pbstrCert) = 0;
  102. virtual HRESULT STDMETHODCALLTYPE enumProviders(
  103. /* [in] */ LONG dwIndex,
  104. /* [in] */ LONG dwFlags,
  105. /* [retval][out] */ BSTR *pbstrProvName) = 0;
  106. virtual HRESULT STDMETHODCALLTYPE enumContainers(
  107. /* [in] */ LONG dwIndex,
  108. /* [retval][out] */ BSTR *pbstr) = 0;
  109. virtual HRESULT STDMETHODCALLTYPE freeRequestInfo(
  110. /* [in] */ BSTR PKCS7OrPKCS10) = 0;
  111. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MyStoreName(
  112. /* [retval][out] */ BSTR *pbstrName) = 0;
  113. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MyStoreName(
  114. /* [in] */ BSTR bstrName) = 0;
  115. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MyStoreType(
  116. /* [retval][out] */ BSTR *pbstrType) = 0;
  117. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MyStoreType(
  118. /* [in] */ BSTR bstrType) = 0;
  119. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MyStoreFlags(
  120. /* [retval][out] */ LONG *pdwFlags) = 0;
  121. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MyStoreFlags(
  122. /* [in] */ LONG dwFlags) = 0;
  123. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CAStoreName(
  124. /* [retval][out] */ BSTR *pbstrName) = 0;
  125. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CAStoreName(
  126. /* [in] */ BSTR bstrName) = 0;
  127. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CAStoreType(
  128. /* [retval][out] */ BSTR *pbstrType) = 0;
  129. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CAStoreType(
  130. /* [in] */ BSTR bstrType) = 0;
  131. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CAStoreFlags(
  132. /* [retval][out] */ LONG *pdwFlags) = 0;
  133. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CAStoreFlags(
  134. /* [in] */ LONG dwFlags) = 0;
  135. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RootStoreName(
  136. /* [retval][out] */ BSTR *pbstrName) = 0;
  137. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RootStoreName(
  138. /* [in] */ BSTR bstrName) = 0;
  139. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RootStoreType(
  140. /* [retval][out] */ BSTR *pbstrType) = 0;
  141. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RootStoreType(
  142. /* [in] */ BSTR bstrType) = 0;
  143. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RootStoreFlags(
  144. /* [retval][out] */ LONG *pdwFlags) = 0;
  145. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RootStoreFlags(
  146. /* [in] */ LONG dwFlags) = 0;
  147. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RequestStoreName(
  148. /* [retval][out] */ BSTR *pbstrName) = 0;
  149. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RequestStoreName(
  150. /* [in] */ BSTR bstrName) = 0;
  151. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RequestStoreType(
  152. /* [retval][out] */ BSTR *pbstrType) = 0;
  153. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RequestStoreType(
  154. /* [in] */ BSTR bstrType) = 0;
  155. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RequestStoreFlags(
  156. /* [retval][out] */ LONG *pdwFlags) = 0;
  157. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RequestStoreFlags(
  158. /* [in] */ LONG dwFlags) = 0;
  159. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ContainerName(
  160. /* [retval][out] */ BSTR *pbstrContainer) = 0;
  161. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ContainerName(
  162. /* [in] */ BSTR bstrContainer) = 0;
  163. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProviderName(
  164. /* [retval][out] */ BSTR *pbstrProvider) = 0;
  165. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ProviderName(
  166. /* [in] */ BSTR bstrProvider) = 0;
  167. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProviderType(
  168. /* [retval][out] */ LONG *pdwType) = 0;
  169. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ProviderType(
  170. /* [in] */ LONG dwType) = 0;
  171. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KeySpec(
  172. /* [retval][out] */ LONG *pdw) = 0;
  173. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_KeySpec(
  174. /* [in] */ LONG dw) = 0;
  175. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProviderFlags(
  176. /* [retval][out] */ LONG *pdwFlags) = 0;
  177. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ProviderFlags(
  178. /* [in] */ LONG dwFlags) = 0;
  179. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UseExistingKeySet(
  180. /* [retval][out] */ BOOL *fUseExistingKeys) = 0;
  181. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_UseExistingKeySet(
  182. /* [in] */ BOOL fUseExistingKeys) = 0;
  183. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_GenKeyFlags(
  184. /* [retval][out] */ LONG *pdwFlags) = 0;
  185. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_GenKeyFlags(
  186. /* [in] */ LONG dwFlags) = 0;
  187. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DeleteRequestCert(
  188. /* [retval][out] */ BOOL *fDelete) = 0;
  189. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DeleteRequestCert(
  190. /* [in] */ BOOL fDelete) = 0;
  191. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_WriteCertToCSP(
  192. /* [retval][out] */ BOOL *fBool) = 0;
  193. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_WriteCertToCSP(
  194. /* [in] */ BOOL fBool) = 0;
  195. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SPCFileName(
  196. /* [retval][out] */ BSTR *pbstr) = 0;
  197. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SPCFileName(
  198. /* [in] */ BSTR bstr) = 0;
  199. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PVKFileName(
  200. /* [retval][out] */ BSTR *pbstr) = 0;
  201. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PVKFileName(
  202. /* [in] */ BSTR bstr) = 0;
  203. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HashAlgorithm(
  204. /* [retval][out] */ BSTR *pbstr) = 0;
  205. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HashAlgorithm(
  206. /* [in] */ BSTR bstr) = 0;
  207. };
  208. #else /* C style interface */
  209. typedef struct ICEnrollVtbl
  210. {
  211. BEGIN_INTERFACE
  212. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  213. ICEnroll * This,
  214. /* [in] */ REFIID riid,
  215. /* [iid_is][out] */ void **ppvObject);
  216. ULONG ( STDMETHODCALLTYPE *AddRef )(
  217. ICEnroll * This);
  218. ULONG ( STDMETHODCALLTYPE *Release )(
  219. ICEnroll * This);
  220. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  221. ICEnroll * This,
  222. /* [out] */ UINT *pctinfo);
  223. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  224. ICEnroll * This,
  225. /* [in] */ UINT iTInfo,
  226. /* [in] */ LCID lcid,
  227. /* [out] */ ITypeInfo **ppTInfo);
  228. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  229. ICEnroll * This,
  230. /* [in] */ REFIID riid,
  231. /* [size_is][in] */ LPOLESTR *rgszNames,
  232. /* [in] */ UINT cNames,
  233. /* [in] */ LCID lcid,
  234. /* [size_is][out] */ DISPID *rgDispId);
  235. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  236. ICEnroll * This,
  237. /* [in] */ DISPID dispIdMember,
  238. /* [in] */ REFIID riid,
  239. /* [in] */ LCID lcid,
  240. /* [in] */ WORD wFlags,
  241. /* [out][in] */ DISPPARAMS *pDispParams,
  242. /* [out] */ VARIANT *pVarResult,
  243. /* [out] */ EXCEPINFO *pExcepInfo,
  244. /* [out] */ UINT *puArgErr);
  245. HRESULT ( STDMETHODCALLTYPE *createFilePKCS10 )(
  246. ICEnroll * This,
  247. /* [in] */ BSTR DNName,
  248. /* [in] */ BSTR Usage,
  249. /* [in] */ BSTR wszPKCS10FileName);
  250. HRESULT ( STDMETHODCALLTYPE *acceptFilePKCS7 )(
  251. ICEnroll * This,
  252. /* [in] */ BSTR wszPKCS7FileName);
  253. HRESULT ( STDMETHODCALLTYPE *createPKCS10 )(
  254. ICEnroll * This,
  255. /* [in] */ BSTR DNName,
  256. /* [in] */ BSTR Usage,
  257. /* [retval][out] */ BSTR *pPKCS10);
  258. HRESULT ( STDMETHODCALLTYPE *acceptPKCS7 )(
  259. ICEnroll * This,
  260. /* [in] */ BSTR PKCS7);
  261. HRESULT ( STDMETHODCALLTYPE *getCertFromPKCS7 )(
  262. ICEnroll * This,
  263. /* [in] */ BSTR wszPKCS7,
  264. /* [retval][out] */ BSTR *pbstrCert);
  265. HRESULT ( STDMETHODCALLTYPE *enumProviders )(
  266. ICEnroll * This,
  267. /* [in] */ LONG dwIndex,
  268. /* [in] */ LONG dwFlags,
  269. /* [retval][out] */ BSTR *pbstrProvName);
  270. HRESULT ( STDMETHODCALLTYPE *enumContainers )(
  271. ICEnroll * This,
  272. /* [in] */ LONG dwIndex,
  273. /* [retval][out] */ BSTR *pbstr);
  274. HRESULT ( STDMETHODCALLTYPE *freeRequestInfo )(
  275. ICEnroll * This,
  276. /* [in] */ BSTR PKCS7OrPKCS10);
  277. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreName )(
  278. ICEnroll * This,
  279. /* [retval][out] */ BSTR *pbstrName);
  280. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreName )(
  281. ICEnroll * This,
  282. /* [in] */ BSTR bstrName);
  283. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreType )(
  284. ICEnroll * This,
  285. /* [retval][out] */ BSTR *pbstrType);
  286. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreType )(
  287. ICEnroll * This,
  288. /* [in] */ BSTR bstrType);
  289. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreFlags )(
  290. ICEnroll * This,
  291. /* [retval][out] */ LONG *pdwFlags);
  292. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreFlags )(
  293. ICEnroll * This,
  294. /* [in] */ LONG dwFlags);
  295. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreName )(
  296. ICEnroll * This,
  297. /* [retval][out] */ BSTR *pbstrName);
  298. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreName )(
  299. ICEnroll * This,
  300. /* [in] */ BSTR bstrName);
  301. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreType )(
  302. ICEnroll * This,
  303. /* [retval][out] */ BSTR *pbstrType);
  304. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreType )(
  305. ICEnroll * This,
  306. /* [in] */ BSTR bstrType);
  307. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreFlags )(
  308. ICEnroll * This,
  309. /* [retval][out] */ LONG *pdwFlags);
  310. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreFlags )(
  311. ICEnroll * This,
  312. /* [in] */ LONG dwFlags);
  313. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreName )(
  314. ICEnroll * This,
  315. /* [retval][out] */ BSTR *pbstrName);
  316. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreName )(
  317. ICEnroll * This,
  318. /* [in] */ BSTR bstrName);
  319. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreType )(
  320. ICEnroll * This,
  321. /* [retval][out] */ BSTR *pbstrType);
  322. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreType )(
  323. ICEnroll * This,
  324. /* [in] */ BSTR bstrType);
  325. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreFlags )(
  326. ICEnroll * This,
  327. /* [retval][out] */ LONG *pdwFlags);
  328. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreFlags )(
  329. ICEnroll * This,
  330. /* [in] */ LONG dwFlags);
  331. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreName )(
  332. ICEnroll * This,
  333. /* [retval][out] */ BSTR *pbstrName);
  334. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreName )(
  335. ICEnroll * This,
  336. /* [in] */ BSTR bstrName);
  337. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreType )(
  338. ICEnroll * This,
  339. /* [retval][out] */ BSTR *pbstrType);
  340. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreType )(
  341. ICEnroll * This,
  342. /* [in] */ BSTR bstrType);
  343. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreFlags )(
  344. ICEnroll * This,
  345. /* [retval][out] */ LONG *pdwFlags);
  346. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreFlags )(
  347. ICEnroll * This,
  348. /* [in] */ LONG dwFlags);
  349. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainerName )(
  350. ICEnroll * This,
  351. /* [retval][out] */ BSTR *pbstrContainer);
  352. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ContainerName )(
  353. ICEnroll * This,
  354. /* [in] */ BSTR bstrContainer);
  355. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderName )(
  356. ICEnroll * This,
  357. /* [retval][out] */ BSTR *pbstrProvider);
  358. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderName )(
  359. ICEnroll * This,
  360. /* [in] */ BSTR bstrProvider);
  361. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderType )(
  362. ICEnroll * This,
  363. /* [retval][out] */ LONG *pdwType);
  364. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderType )(
  365. ICEnroll * This,
  366. /* [in] */ LONG dwType);
  367. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeySpec )(
  368. ICEnroll * This,
  369. /* [retval][out] */ LONG *pdw);
  370. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_KeySpec )(
  371. ICEnroll * This,
  372. /* [in] */ LONG dw);
  373. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderFlags )(
  374. ICEnroll * This,
  375. /* [retval][out] */ LONG *pdwFlags);
  376. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderFlags )(
  377. ICEnroll * This,
  378. /* [in] */ LONG dwFlags);
  379. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UseExistingKeySet )(
  380. ICEnroll * This,
  381. /* [retval][out] */ BOOL *fUseExistingKeys);
  382. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UseExistingKeySet )(
  383. ICEnroll * This,
  384. /* [in] */ BOOL fUseExistingKeys);
  385. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GenKeyFlags )(
  386. ICEnroll * This,
  387. /* [retval][out] */ LONG *pdwFlags);
  388. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_GenKeyFlags )(
  389. ICEnroll * This,
  390. /* [in] */ LONG dwFlags);
  391. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DeleteRequestCert )(
  392. ICEnroll * This,
  393. /* [retval][out] */ BOOL *fDelete);
  394. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DeleteRequestCert )(
  395. ICEnroll * This,
  396. /* [in] */ BOOL fDelete);
  397. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WriteCertToCSP )(
  398. ICEnroll * This,
  399. /* [retval][out] */ BOOL *fBool);
  400. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_WriteCertToCSP )(
  401. ICEnroll * This,
  402. /* [in] */ BOOL fBool);
  403. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SPCFileName )(
  404. ICEnroll * This,
  405. /* [retval][out] */ BSTR *pbstr);
  406. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SPCFileName )(
  407. ICEnroll * This,
  408. /* [in] */ BSTR bstr);
  409. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PVKFileName )(
  410. ICEnroll * This,
  411. /* [retval][out] */ BSTR *pbstr);
  412. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PVKFileName )(
  413. ICEnroll * This,
  414. /* [in] */ BSTR bstr);
  415. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HashAlgorithm )(
  416. ICEnroll * This,
  417. /* [retval][out] */ BSTR *pbstr);
  418. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HashAlgorithm )(
  419. ICEnroll * This,
  420. /* [in] */ BSTR bstr);
  421. END_INTERFACE
  422. } ICEnrollVtbl;
  423. interface ICEnroll
  424. {
  425. CONST_VTBL struct ICEnrollVtbl *lpVtbl;
  426. };
  427. #ifdef COBJMACROS
  428. #define ICEnroll_QueryInterface(This,riid,ppvObject) \
  429. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  430. #define ICEnroll_AddRef(This) \
  431. (This)->lpVtbl -> AddRef(This)
  432. #define ICEnroll_Release(This) \
  433. (This)->lpVtbl -> Release(This)
  434. #define ICEnroll_GetTypeInfoCount(This,pctinfo) \
  435. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  436. #define ICEnroll_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  437. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  438. #define ICEnroll_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  439. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  440. #define ICEnroll_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  441. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  442. #define ICEnroll_createFilePKCS10(This,DNName,Usage,wszPKCS10FileName) \
  443. (This)->lpVtbl -> createFilePKCS10(This,DNName,Usage,wszPKCS10FileName)
  444. #define ICEnroll_acceptFilePKCS7(This,wszPKCS7FileName) \
  445. (This)->lpVtbl -> acceptFilePKCS7(This,wszPKCS7FileName)
  446. #define ICEnroll_createPKCS10(This,DNName,Usage,pPKCS10) \
  447. (This)->lpVtbl -> createPKCS10(This,DNName,Usage,pPKCS10)
  448. #define ICEnroll_acceptPKCS7(This,PKCS7) \
  449. (This)->lpVtbl -> acceptPKCS7(This,PKCS7)
  450. #define ICEnroll_getCertFromPKCS7(This,wszPKCS7,pbstrCert) \
  451. (This)->lpVtbl -> getCertFromPKCS7(This,wszPKCS7,pbstrCert)
  452. #define ICEnroll_enumProviders(This,dwIndex,dwFlags,pbstrProvName) \
  453. (This)->lpVtbl -> enumProviders(This,dwIndex,dwFlags,pbstrProvName)
  454. #define ICEnroll_enumContainers(This,dwIndex,pbstr) \
  455. (This)->lpVtbl -> enumContainers(This,dwIndex,pbstr)
  456. #define ICEnroll_freeRequestInfo(This,PKCS7OrPKCS10) \
  457. (This)->lpVtbl -> freeRequestInfo(This,PKCS7OrPKCS10)
  458. #define ICEnroll_get_MyStoreName(This,pbstrName) \
  459. (This)->lpVtbl -> get_MyStoreName(This,pbstrName)
  460. #define ICEnroll_put_MyStoreName(This,bstrName) \
  461. (This)->lpVtbl -> put_MyStoreName(This,bstrName)
  462. #define ICEnroll_get_MyStoreType(This,pbstrType) \
  463. (This)->lpVtbl -> get_MyStoreType(This,pbstrType)
  464. #define ICEnroll_put_MyStoreType(This,bstrType) \
  465. (This)->lpVtbl -> put_MyStoreType(This,bstrType)
  466. #define ICEnroll_get_MyStoreFlags(This,pdwFlags) \
  467. (This)->lpVtbl -> get_MyStoreFlags(This,pdwFlags)
  468. #define ICEnroll_put_MyStoreFlags(This,dwFlags) \
  469. (This)->lpVtbl -> put_MyStoreFlags(This,dwFlags)
  470. #define ICEnroll_get_CAStoreName(This,pbstrName) \
  471. (This)->lpVtbl -> get_CAStoreName(This,pbstrName)
  472. #define ICEnroll_put_CAStoreName(This,bstrName) \
  473. (This)->lpVtbl -> put_CAStoreName(This,bstrName)
  474. #define ICEnroll_get_CAStoreType(This,pbstrType) \
  475. (This)->lpVtbl -> get_CAStoreType(This,pbstrType)
  476. #define ICEnroll_put_CAStoreType(This,bstrType) \
  477. (This)->lpVtbl -> put_CAStoreType(This,bstrType)
  478. #define ICEnroll_get_CAStoreFlags(This,pdwFlags) \
  479. (This)->lpVtbl -> get_CAStoreFlags(This,pdwFlags)
  480. #define ICEnroll_put_CAStoreFlags(This,dwFlags) \
  481. (This)->lpVtbl -> put_CAStoreFlags(This,dwFlags)
  482. #define ICEnroll_get_RootStoreName(This,pbstrName) \
  483. (This)->lpVtbl -> get_RootStoreName(This,pbstrName)
  484. #define ICEnroll_put_RootStoreName(This,bstrName) \
  485. (This)->lpVtbl -> put_RootStoreName(This,bstrName)
  486. #define ICEnroll_get_RootStoreType(This,pbstrType) \
  487. (This)->lpVtbl -> get_RootStoreType(This,pbstrType)
  488. #define ICEnroll_put_RootStoreType(This,bstrType) \
  489. (This)->lpVtbl -> put_RootStoreType(This,bstrType)
  490. #define ICEnroll_get_RootStoreFlags(This,pdwFlags) \
  491. (This)->lpVtbl -> get_RootStoreFlags(This,pdwFlags)
  492. #define ICEnroll_put_RootStoreFlags(This,dwFlags) \
  493. (This)->lpVtbl -> put_RootStoreFlags(This,dwFlags)
  494. #define ICEnroll_get_RequestStoreName(This,pbstrName) \
  495. (This)->lpVtbl -> get_RequestStoreName(This,pbstrName)
  496. #define ICEnroll_put_RequestStoreName(This,bstrName) \
  497. (This)->lpVtbl -> put_RequestStoreName(This,bstrName)
  498. #define ICEnroll_get_RequestStoreType(This,pbstrType) \
  499. (This)->lpVtbl -> get_RequestStoreType(This,pbstrType)
  500. #define ICEnroll_put_RequestStoreType(This,bstrType) \
  501. (This)->lpVtbl -> put_RequestStoreType(This,bstrType)
  502. #define ICEnroll_get_RequestStoreFlags(This,pdwFlags) \
  503. (This)->lpVtbl -> get_RequestStoreFlags(This,pdwFlags)
  504. #define ICEnroll_put_RequestStoreFlags(This,dwFlags) \
  505. (This)->lpVtbl -> put_RequestStoreFlags(This,dwFlags)
  506. #define ICEnroll_get_ContainerName(This,pbstrContainer) \
  507. (This)->lpVtbl -> get_ContainerName(This,pbstrContainer)
  508. #define ICEnroll_put_ContainerName(This,bstrContainer) \
  509. (This)->lpVtbl -> put_ContainerName(This,bstrContainer)
  510. #define ICEnroll_get_ProviderName(This,pbstrProvider) \
  511. (This)->lpVtbl -> get_ProviderName(This,pbstrProvider)
  512. #define ICEnroll_put_ProviderName(This,bstrProvider) \
  513. (This)->lpVtbl -> put_ProviderName(This,bstrProvider)
  514. #define ICEnroll_get_ProviderType(This,pdwType) \
  515. (This)->lpVtbl -> get_ProviderType(This,pdwType)
  516. #define ICEnroll_put_ProviderType(This,dwType) \
  517. (This)->lpVtbl -> put_ProviderType(This,dwType)
  518. #define ICEnroll_get_KeySpec(This,pdw) \
  519. (This)->lpVtbl -> get_KeySpec(This,pdw)
  520. #define ICEnroll_put_KeySpec(This,dw) \
  521. (This)->lpVtbl -> put_KeySpec(This,dw)
  522. #define ICEnroll_get_ProviderFlags(This,pdwFlags) \
  523. (This)->lpVtbl -> get_ProviderFlags(This,pdwFlags)
  524. #define ICEnroll_put_ProviderFlags(This,dwFlags) \
  525. (This)->lpVtbl -> put_ProviderFlags(This,dwFlags)
  526. #define ICEnroll_get_UseExistingKeySet(This,fUseExistingKeys) \
  527. (This)->lpVtbl -> get_UseExistingKeySet(This,fUseExistingKeys)
  528. #define ICEnroll_put_UseExistingKeySet(This,fUseExistingKeys) \
  529. (This)->lpVtbl -> put_UseExistingKeySet(This,fUseExistingKeys)
  530. #define ICEnroll_get_GenKeyFlags(This,pdwFlags) \
  531. (This)->lpVtbl -> get_GenKeyFlags(This,pdwFlags)
  532. #define ICEnroll_put_GenKeyFlags(This,dwFlags) \
  533. (This)->lpVtbl -> put_GenKeyFlags(This,dwFlags)
  534. #define ICEnroll_get_DeleteRequestCert(This,fDelete) \
  535. (This)->lpVtbl -> get_DeleteRequestCert(This,fDelete)
  536. #define ICEnroll_put_DeleteRequestCert(This,fDelete) \
  537. (This)->lpVtbl -> put_DeleteRequestCert(This,fDelete)
  538. #define ICEnroll_get_WriteCertToCSP(This,fBool) \
  539. (This)->lpVtbl -> get_WriteCertToCSP(This,fBool)
  540. #define ICEnroll_put_WriteCertToCSP(This,fBool) \
  541. (This)->lpVtbl -> put_WriteCertToCSP(This,fBool)
  542. #define ICEnroll_get_SPCFileName(This,pbstr) \
  543. (This)->lpVtbl -> get_SPCFileName(This,pbstr)
  544. #define ICEnroll_put_SPCFileName(This,bstr) \
  545. (This)->lpVtbl -> put_SPCFileName(This,bstr)
  546. #define ICEnroll_get_PVKFileName(This,pbstr) \
  547. (This)->lpVtbl -> get_PVKFileName(This,pbstr)
  548. #define ICEnroll_put_PVKFileName(This,bstr) \
  549. (This)->lpVtbl -> put_PVKFileName(This,bstr)
  550. #define ICEnroll_get_HashAlgorithm(This,pbstr) \
  551. (This)->lpVtbl -> get_HashAlgorithm(This,pbstr)
  552. #define ICEnroll_put_HashAlgorithm(This,bstr) \
  553. (This)->lpVtbl -> put_HashAlgorithm(This,bstr)
  554. #endif /* COBJMACROS */
  555. #endif /* C style interface */
  556. HRESULT STDMETHODCALLTYPE ICEnroll_createFilePKCS10_Proxy(
  557. ICEnroll * This,
  558. /* [in] */ BSTR DNName,
  559. /* [in] */ BSTR Usage,
  560. /* [in] */ BSTR wszPKCS10FileName);
  561. void __RPC_STUB ICEnroll_createFilePKCS10_Stub(
  562. IRpcStubBuffer *This,
  563. IRpcChannelBuffer *_pRpcChannelBuffer,
  564. PRPC_MESSAGE _pRpcMessage,
  565. DWORD *_pdwStubPhase);
  566. HRESULT STDMETHODCALLTYPE ICEnroll_acceptFilePKCS7_Proxy(
  567. ICEnroll * This,
  568. /* [in] */ BSTR wszPKCS7FileName);
  569. void __RPC_STUB ICEnroll_acceptFilePKCS7_Stub(
  570. IRpcStubBuffer *This,
  571. IRpcChannelBuffer *_pRpcChannelBuffer,
  572. PRPC_MESSAGE _pRpcMessage,
  573. DWORD *_pdwStubPhase);
  574. HRESULT STDMETHODCALLTYPE ICEnroll_createPKCS10_Proxy(
  575. ICEnroll * This,
  576. /* [in] */ BSTR DNName,
  577. /* [in] */ BSTR Usage,
  578. /* [retval][out] */ BSTR *pPKCS10);
  579. void __RPC_STUB ICEnroll_createPKCS10_Stub(
  580. IRpcStubBuffer *This,
  581. IRpcChannelBuffer *_pRpcChannelBuffer,
  582. PRPC_MESSAGE _pRpcMessage,
  583. DWORD *_pdwStubPhase);
  584. HRESULT STDMETHODCALLTYPE ICEnroll_acceptPKCS7_Proxy(
  585. ICEnroll * This,
  586. /* [in] */ BSTR PKCS7);
  587. void __RPC_STUB ICEnroll_acceptPKCS7_Stub(
  588. IRpcStubBuffer *This,
  589. IRpcChannelBuffer *_pRpcChannelBuffer,
  590. PRPC_MESSAGE _pRpcMessage,
  591. DWORD *_pdwStubPhase);
  592. HRESULT STDMETHODCALLTYPE ICEnroll_getCertFromPKCS7_Proxy(
  593. ICEnroll * This,
  594. /* [in] */ BSTR wszPKCS7,
  595. /* [retval][out] */ BSTR *pbstrCert);
  596. void __RPC_STUB ICEnroll_getCertFromPKCS7_Stub(
  597. IRpcStubBuffer *This,
  598. IRpcChannelBuffer *_pRpcChannelBuffer,
  599. PRPC_MESSAGE _pRpcMessage,
  600. DWORD *_pdwStubPhase);
  601. HRESULT STDMETHODCALLTYPE ICEnroll_enumProviders_Proxy(
  602. ICEnroll * This,
  603. /* [in] */ LONG dwIndex,
  604. /* [in] */ LONG dwFlags,
  605. /* [retval][out] */ BSTR *pbstrProvName);
  606. void __RPC_STUB ICEnroll_enumProviders_Stub(
  607. IRpcStubBuffer *This,
  608. IRpcChannelBuffer *_pRpcChannelBuffer,
  609. PRPC_MESSAGE _pRpcMessage,
  610. DWORD *_pdwStubPhase);
  611. HRESULT STDMETHODCALLTYPE ICEnroll_enumContainers_Proxy(
  612. ICEnroll * This,
  613. /* [in] */ LONG dwIndex,
  614. /* [retval][out] */ BSTR *pbstr);
  615. void __RPC_STUB ICEnroll_enumContainers_Stub(
  616. IRpcStubBuffer *This,
  617. IRpcChannelBuffer *_pRpcChannelBuffer,
  618. PRPC_MESSAGE _pRpcMessage,
  619. DWORD *_pdwStubPhase);
  620. HRESULT STDMETHODCALLTYPE ICEnroll_freeRequestInfo_Proxy(
  621. ICEnroll * This,
  622. /* [in] */ BSTR PKCS7OrPKCS10);
  623. void __RPC_STUB ICEnroll_freeRequestInfo_Stub(
  624. IRpcStubBuffer *This,
  625. IRpcChannelBuffer *_pRpcChannelBuffer,
  626. PRPC_MESSAGE _pRpcMessage,
  627. DWORD *_pdwStubPhase);
  628. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_MyStoreName_Proxy(
  629. ICEnroll * This,
  630. /* [retval][out] */ BSTR *pbstrName);
  631. void __RPC_STUB ICEnroll_get_MyStoreName_Stub(
  632. IRpcStubBuffer *This,
  633. IRpcChannelBuffer *_pRpcChannelBuffer,
  634. PRPC_MESSAGE _pRpcMessage,
  635. DWORD *_pdwStubPhase);
  636. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_MyStoreName_Proxy(
  637. ICEnroll * This,
  638. /* [in] */ BSTR bstrName);
  639. void __RPC_STUB ICEnroll_put_MyStoreName_Stub(
  640. IRpcStubBuffer *This,
  641. IRpcChannelBuffer *_pRpcChannelBuffer,
  642. PRPC_MESSAGE _pRpcMessage,
  643. DWORD *_pdwStubPhase);
  644. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_MyStoreType_Proxy(
  645. ICEnroll * This,
  646. /* [retval][out] */ BSTR *pbstrType);
  647. void __RPC_STUB ICEnroll_get_MyStoreType_Stub(
  648. IRpcStubBuffer *This,
  649. IRpcChannelBuffer *_pRpcChannelBuffer,
  650. PRPC_MESSAGE _pRpcMessage,
  651. DWORD *_pdwStubPhase);
  652. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_MyStoreType_Proxy(
  653. ICEnroll * This,
  654. /* [in] */ BSTR bstrType);
  655. void __RPC_STUB ICEnroll_put_MyStoreType_Stub(
  656. IRpcStubBuffer *This,
  657. IRpcChannelBuffer *_pRpcChannelBuffer,
  658. PRPC_MESSAGE _pRpcMessage,
  659. DWORD *_pdwStubPhase);
  660. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_MyStoreFlags_Proxy(
  661. ICEnroll * This,
  662. /* [retval][out] */ LONG *pdwFlags);
  663. void __RPC_STUB ICEnroll_get_MyStoreFlags_Stub(
  664. IRpcStubBuffer *This,
  665. IRpcChannelBuffer *_pRpcChannelBuffer,
  666. PRPC_MESSAGE _pRpcMessage,
  667. DWORD *_pdwStubPhase);
  668. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_MyStoreFlags_Proxy(
  669. ICEnroll * This,
  670. /* [in] */ LONG dwFlags);
  671. void __RPC_STUB ICEnroll_put_MyStoreFlags_Stub(
  672. IRpcStubBuffer *This,
  673. IRpcChannelBuffer *_pRpcChannelBuffer,
  674. PRPC_MESSAGE _pRpcMessage,
  675. DWORD *_pdwStubPhase);
  676. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_CAStoreName_Proxy(
  677. ICEnroll * This,
  678. /* [retval][out] */ BSTR *pbstrName);
  679. void __RPC_STUB ICEnroll_get_CAStoreName_Stub(
  680. IRpcStubBuffer *This,
  681. IRpcChannelBuffer *_pRpcChannelBuffer,
  682. PRPC_MESSAGE _pRpcMessage,
  683. DWORD *_pdwStubPhase);
  684. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_CAStoreName_Proxy(
  685. ICEnroll * This,
  686. /* [in] */ BSTR bstrName);
  687. void __RPC_STUB ICEnroll_put_CAStoreName_Stub(
  688. IRpcStubBuffer *This,
  689. IRpcChannelBuffer *_pRpcChannelBuffer,
  690. PRPC_MESSAGE _pRpcMessage,
  691. DWORD *_pdwStubPhase);
  692. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_CAStoreType_Proxy(
  693. ICEnroll * This,
  694. /* [retval][out] */ BSTR *pbstrType);
  695. void __RPC_STUB ICEnroll_get_CAStoreType_Stub(
  696. IRpcStubBuffer *This,
  697. IRpcChannelBuffer *_pRpcChannelBuffer,
  698. PRPC_MESSAGE _pRpcMessage,
  699. DWORD *_pdwStubPhase);
  700. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_CAStoreType_Proxy(
  701. ICEnroll * This,
  702. /* [in] */ BSTR bstrType);
  703. void __RPC_STUB ICEnroll_put_CAStoreType_Stub(
  704. IRpcStubBuffer *This,
  705. IRpcChannelBuffer *_pRpcChannelBuffer,
  706. PRPC_MESSAGE _pRpcMessage,
  707. DWORD *_pdwStubPhase);
  708. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_CAStoreFlags_Proxy(
  709. ICEnroll * This,
  710. /* [retval][out] */ LONG *pdwFlags);
  711. void __RPC_STUB ICEnroll_get_CAStoreFlags_Stub(
  712. IRpcStubBuffer *This,
  713. IRpcChannelBuffer *_pRpcChannelBuffer,
  714. PRPC_MESSAGE _pRpcMessage,
  715. DWORD *_pdwStubPhase);
  716. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_CAStoreFlags_Proxy(
  717. ICEnroll * This,
  718. /* [in] */ LONG dwFlags);
  719. void __RPC_STUB ICEnroll_put_CAStoreFlags_Stub(
  720. IRpcStubBuffer *This,
  721. IRpcChannelBuffer *_pRpcChannelBuffer,
  722. PRPC_MESSAGE _pRpcMessage,
  723. DWORD *_pdwStubPhase);
  724. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_RootStoreName_Proxy(
  725. ICEnroll * This,
  726. /* [retval][out] */ BSTR *pbstrName);
  727. void __RPC_STUB ICEnroll_get_RootStoreName_Stub(
  728. IRpcStubBuffer *This,
  729. IRpcChannelBuffer *_pRpcChannelBuffer,
  730. PRPC_MESSAGE _pRpcMessage,
  731. DWORD *_pdwStubPhase);
  732. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_RootStoreName_Proxy(
  733. ICEnroll * This,
  734. /* [in] */ BSTR bstrName);
  735. void __RPC_STUB ICEnroll_put_RootStoreName_Stub(
  736. IRpcStubBuffer *This,
  737. IRpcChannelBuffer *_pRpcChannelBuffer,
  738. PRPC_MESSAGE _pRpcMessage,
  739. DWORD *_pdwStubPhase);
  740. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_RootStoreType_Proxy(
  741. ICEnroll * This,
  742. /* [retval][out] */ BSTR *pbstrType);
  743. void __RPC_STUB ICEnroll_get_RootStoreType_Stub(
  744. IRpcStubBuffer *This,
  745. IRpcChannelBuffer *_pRpcChannelBuffer,
  746. PRPC_MESSAGE _pRpcMessage,
  747. DWORD *_pdwStubPhase);
  748. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_RootStoreType_Proxy(
  749. ICEnroll * This,
  750. /* [in] */ BSTR bstrType);
  751. void __RPC_STUB ICEnroll_put_RootStoreType_Stub(
  752. IRpcStubBuffer *This,
  753. IRpcChannelBuffer *_pRpcChannelBuffer,
  754. PRPC_MESSAGE _pRpcMessage,
  755. DWORD *_pdwStubPhase);
  756. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_RootStoreFlags_Proxy(
  757. ICEnroll * This,
  758. /* [retval][out] */ LONG *pdwFlags);
  759. void __RPC_STUB ICEnroll_get_RootStoreFlags_Stub(
  760. IRpcStubBuffer *This,
  761. IRpcChannelBuffer *_pRpcChannelBuffer,
  762. PRPC_MESSAGE _pRpcMessage,
  763. DWORD *_pdwStubPhase);
  764. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_RootStoreFlags_Proxy(
  765. ICEnroll * This,
  766. /* [in] */ LONG dwFlags);
  767. void __RPC_STUB ICEnroll_put_RootStoreFlags_Stub(
  768. IRpcStubBuffer *This,
  769. IRpcChannelBuffer *_pRpcChannelBuffer,
  770. PRPC_MESSAGE _pRpcMessage,
  771. DWORD *_pdwStubPhase);
  772. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_RequestStoreName_Proxy(
  773. ICEnroll * This,
  774. /* [retval][out] */ BSTR *pbstrName);
  775. void __RPC_STUB ICEnroll_get_RequestStoreName_Stub(
  776. IRpcStubBuffer *This,
  777. IRpcChannelBuffer *_pRpcChannelBuffer,
  778. PRPC_MESSAGE _pRpcMessage,
  779. DWORD *_pdwStubPhase);
  780. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_RequestStoreName_Proxy(
  781. ICEnroll * This,
  782. /* [in] */ BSTR bstrName);
  783. void __RPC_STUB ICEnroll_put_RequestStoreName_Stub(
  784. IRpcStubBuffer *This,
  785. IRpcChannelBuffer *_pRpcChannelBuffer,
  786. PRPC_MESSAGE _pRpcMessage,
  787. DWORD *_pdwStubPhase);
  788. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_RequestStoreType_Proxy(
  789. ICEnroll * This,
  790. /* [retval][out] */ BSTR *pbstrType);
  791. void __RPC_STUB ICEnroll_get_RequestStoreType_Stub(
  792. IRpcStubBuffer *This,
  793. IRpcChannelBuffer *_pRpcChannelBuffer,
  794. PRPC_MESSAGE _pRpcMessage,
  795. DWORD *_pdwStubPhase);
  796. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_RequestStoreType_Proxy(
  797. ICEnroll * This,
  798. /* [in] */ BSTR bstrType);
  799. void __RPC_STUB ICEnroll_put_RequestStoreType_Stub(
  800. IRpcStubBuffer *This,
  801. IRpcChannelBuffer *_pRpcChannelBuffer,
  802. PRPC_MESSAGE _pRpcMessage,
  803. DWORD *_pdwStubPhase);
  804. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_RequestStoreFlags_Proxy(
  805. ICEnroll * This,
  806. /* [retval][out] */ LONG *pdwFlags);
  807. void __RPC_STUB ICEnroll_get_RequestStoreFlags_Stub(
  808. IRpcStubBuffer *This,
  809. IRpcChannelBuffer *_pRpcChannelBuffer,
  810. PRPC_MESSAGE _pRpcMessage,
  811. DWORD *_pdwStubPhase);
  812. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_RequestStoreFlags_Proxy(
  813. ICEnroll * This,
  814. /* [in] */ LONG dwFlags);
  815. void __RPC_STUB ICEnroll_put_RequestStoreFlags_Stub(
  816. IRpcStubBuffer *This,
  817. IRpcChannelBuffer *_pRpcChannelBuffer,
  818. PRPC_MESSAGE _pRpcMessage,
  819. DWORD *_pdwStubPhase);
  820. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_ContainerName_Proxy(
  821. ICEnroll * This,
  822. /* [retval][out] */ BSTR *pbstrContainer);
  823. void __RPC_STUB ICEnroll_get_ContainerName_Stub(
  824. IRpcStubBuffer *This,
  825. IRpcChannelBuffer *_pRpcChannelBuffer,
  826. PRPC_MESSAGE _pRpcMessage,
  827. DWORD *_pdwStubPhase);
  828. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_ContainerName_Proxy(
  829. ICEnroll * This,
  830. /* [in] */ BSTR bstrContainer);
  831. void __RPC_STUB ICEnroll_put_ContainerName_Stub(
  832. IRpcStubBuffer *This,
  833. IRpcChannelBuffer *_pRpcChannelBuffer,
  834. PRPC_MESSAGE _pRpcMessage,
  835. DWORD *_pdwStubPhase);
  836. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_ProviderName_Proxy(
  837. ICEnroll * This,
  838. /* [retval][out] */ BSTR *pbstrProvider);
  839. void __RPC_STUB ICEnroll_get_ProviderName_Stub(
  840. IRpcStubBuffer *This,
  841. IRpcChannelBuffer *_pRpcChannelBuffer,
  842. PRPC_MESSAGE _pRpcMessage,
  843. DWORD *_pdwStubPhase);
  844. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_ProviderName_Proxy(
  845. ICEnroll * This,
  846. /* [in] */ BSTR bstrProvider);
  847. void __RPC_STUB ICEnroll_put_ProviderName_Stub(
  848. IRpcStubBuffer *This,
  849. IRpcChannelBuffer *_pRpcChannelBuffer,
  850. PRPC_MESSAGE _pRpcMessage,
  851. DWORD *_pdwStubPhase);
  852. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_ProviderType_Proxy(
  853. ICEnroll * This,
  854. /* [retval][out] */ LONG *pdwType);
  855. void __RPC_STUB ICEnroll_get_ProviderType_Stub(
  856. IRpcStubBuffer *This,
  857. IRpcChannelBuffer *_pRpcChannelBuffer,
  858. PRPC_MESSAGE _pRpcMessage,
  859. DWORD *_pdwStubPhase);
  860. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_ProviderType_Proxy(
  861. ICEnroll * This,
  862. /* [in] */ LONG dwType);
  863. void __RPC_STUB ICEnroll_put_ProviderType_Stub(
  864. IRpcStubBuffer *This,
  865. IRpcChannelBuffer *_pRpcChannelBuffer,
  866. PRPC_MESSAGE _pRpcMessage,
  867. DWORD *_pdwStubPhase);
  868. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_KeySpec_Proxy(
  869. ICEnroll * This,
  870. /* [retval][out] */ LONG *pdw);
  871. void __RPC_STUB ICEnroll_get_KeySpec_Stub(
  872. IRpcStubBuffer *This,
  873. IRpcChannelBuffer *_pRpcChannelBuffer,
  874. PRPC_MESSAGE _pRpcMessage,
  875. DWORD *_pdwStubPhase);
  876. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_KeySpec_Proxy(
  877. ICEnroll * This,
  878. /* [in] */ LONG dw);
  879. void __RPC_STUB ICEnroll_put_KeySpec_Stub(
  880. IRpcStubBuffer *This,
  881. IRpcChannelBuffer *_pRpcChannelBuffer,
  882. PRPC_MESSAGE _pRpcMessage,
  883. DWORD *_pdwStubPhase);
  884. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_ProviderFlags_Proxy(
  885. ICEnroll * This,
  886. /* [retval][out] */ LONG *pdwFlags);
  887. void __RPC_STUB ICEnroll_get_ProviderFlags_Stub(
  888. IRpcStubBuffer *This,
  889. IRpcChannelBuffer *_pRpcChannelBuffer,
  890. PRPC_MESSAGE _pRpcMessage,
  891. DWORD *_pdwStubPhase);
  892. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_ProviderFlags_Proxy(
  893. ICEnroll * This,
  894. /* [in] */ LONG dwFlags);
  895. void __RPC_STUB ICEnroll_put_ProviderFlags_Stub(
  896. IRpcStubBuffer *This,
  897. IRpcChannelBuffer *_pRpcChannelBuffer,
  898. PRPC_MESSAGE _pRpcMessage,
  899. DWORD *_pdwStubPhase);
  900. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_UseExistingKeySet_Proxy(
  901. ICEnroll * This,
  902. /* [retval][out] */ BOOL *fUseExistingKeys);
  903. void __RPC_STUB ICEnroll_get_UseExistingKeySet_Stub(
  904. IRpcStubBuffer *This,
  905. IRpcChannelBuffer *_pRpcChannelBuffer,
  906. PRPC_MESSAGE _pRpcMessage,
  907. DWORD *_pdwStubPhase);
  908. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_UseExistingKeySet_Proxy(
  909. ICEnroll * This,
  910. /* [in] */ BOOL fUseExistingKeys);
  911. void __RPC_STUB ICEnroll_put_UseExistingKeySet_Stub(
  912. IRpcStubBuffer *This,
  913. IRpcChannelBuffer *_pRpcChannelBuffer,
  914. PRPC_MESSAGE _pRpcMessage,
  915. DWORD *_pdwStubPhase);
  916. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_GenKeyFlags_Proxy(
  917. ICEnroll * This,
  918. /* [retval][out] */ LONG *pdwFlags);
  919. void __RPC_STUB ICEnroll_get_GenKeyFlags_Stub(
  920. IRpcStubBuffer *This,
  921. IRpcChannelBuffer *_pRpcChannelBuffer,
  922. PRPC_MESSAGE _pRpcMessage,
  923. DWORD *_pdwStubPhase);
  924. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_GenKeyFlags_Proxy(
  925. ICEnroll * This,
  926. /* [in] */ LONG dwFlags);
  927. void __RPC_STUB ICEnroll_put_GenKeyFlags_Stub(
  928. IRpcStubBuffer *This,
  929. IRpcChannelBuffer *_pRpcChannelBuffer,
  930. PRPC_MESSAGE _pRpcMessage,
  931. DWORD *_pdwStubPhase);
  932. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_DeleteRequestCert_Proxy(
  933. ICEnroll * This,
  934. /* [retval][out] */ BOOL *fDelete);
  935. void __RPC_STUB ICEnroll_get_DeleteRequestCert_Stub(
  936. IRpcStubBuffer *This,
  937. IRpcChannelBuffer *_pRpcChannelBuffer,
  938. PRPC_MESSAGE _pRpcMessage,
  939. DWORD *_pdwStubPhase);
  940. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_DeleteRequestCert_Proxy(
  941. ICEnroll * This,
  942. /* [in] */ BOOL fDelete);
  943. void __RPC_STUB ICEnroll_put_DeleteRequestCert_Stub(
  944. IRpcStubBuffer *This,
  945. IRpcChannelBuffer *_pRpcChannelBuffer,
  946. PRPC_MESSAGE _pRpcMessage,
  947. DWORD *_pdwStubPhase);
  948. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_WriteCertToCSP_Proxy(
  949. ICEnroll * This,
  950. /* [retval][out] */ BOOL *fBool);
  951. void __RPC_STUB ICEnroll_get_WriteCertToCSP_Stub(
  952. IRpcStubBuffer *This,
  953. IRpcChannelBuffer *_pRpcChannelBuffer,
  954. PRPC_MESSAGE _pRpcMessage,
  955. DWORD *_pdwStubPhase);
  956. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_WriteCertToCSP_Proxy(
  957. ICEnroll * This,
  958. /* [in] */ BOOL fBool);
  959. void __RPC_STUB ICEnroll_put_WriteCertToCSP_Stub(
  960. IRpcStubBuffer *This,
  961. IRpcChannelBuffer *_pRpcChannelBuffer,
  962. PRPC_MESSAGE _pRpcMessage,
  963. DWORD *_pdwStubPhase);
  964. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_SPCFileName_Proxy(
  965. ICEnroll * This,
  966. /* [retval][out] */ BSTR *pbstr);
  967. void __RPC_STUB ICEnroll_get_SPCFileName_Stub(
  968. IRpcStubBuffer *This,
  969. IRpcChannelBuffer *_pRpcChannelBuffer,
  970. PRPC_MESSAGE _pRpcMessage,
  971. DWORD *_pdwStubPhase);
  972. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_SPCFileName_Proxy(
  973. ICEnroll * This,
  974. /* [in] */ BSTR bstr);
  975. void __RPC_STUB ICEnroll_put_SPCFileName_Stub(
  976. IRpcStubBuffer *This,
  977. IRpcChannelBuffer *_pRpcChannelBuffer,
  978. PRPC_MESSAGE _pRpcMessage,
  979. DWORD *_pdwStubPhase);
  980. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_PVKFileName_Proxy(
  981. ICEnroll * This,
  982. /* [retval][out] */ BSTR *pbstr);
  983. void __RPC_STUB ICEnroll_get_PVKFileName_Stub(
  984. IRpcStubBuffer *This,
  985. IRpcChannelBuffer *_pRpcChannelBuffer,
  986. PRPC_MESSAGE _pRpcMessage,
  987. DWORD *_pdwStubPhase);
  988. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_PVKFileName_Proxy(
  989. ICEnroll * This,
  990. /* [in] */ BSTR bstr);
  991. void __RPC_STUB ICEnroll_put_PVKFileName_Stub(
  992. IRpcStubBuffer *This,
  993. IRpcChannelBuffer *_pRpcChannelBuffer,
  994. PRPC_MESSAGE _pRpcMessage,
  995. DWORD *_pdwStubPhase);
  996. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll_get_HashAlgorithm_Proxy(
  997. ICEnroll * This,
  998. /* [retval][out] */ BSTR *pbstr);
  999. void __RPC_STUB ICEnroll_get_HashAlgorithm_Stub(
  1000. IRpcStubBuffer *This,
  1001. IRpcChannelBuffer *_pRpcChannelBuffer,
  1002. PRPC_MESSAGE _pRpcMessage,
  1003. DWORD *_pdwStubPhase);
  1004. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll_put_HashAlgorithm_Proxy(
  1005. ICEnroll * This,
  1006. /* [in] */ BSTR bstr);
  1007. void __RPC_STUB ICEnroll_put_HashAlgorithm_Stub(
  1008. IRpcStubBuffer *This,
  1009. IRpcChannelBuffer *_pRpcChannelBuffer,
  1010. PRPC_MESSAGE _pRpcMessage,
  1011. DWORD *_pdwStubPhase);
  1012. #endif /* __ICEnroll_INTERFACE_DEFINED__ */
  1013. #ifndef __ICEnroll2_INTERFACE_DEFINED__
  1014. #define __ICEnroll2_INTERFACE_DEFINED__
  1015. /* interface ICEnroll2 */
  1016. /* [unique][helpstring][dual][uuid][object] */
  1017. EXTERN_C const IID IID_ICEnroll2;
  1018. #if defined(__cplusplus) && !defined(CINTERFACE)
  1019. MIDL_INTERFACE("704ca730-c90b-11d1-9bec-00c04fc295e1")
  1020. ICEnroll2 : public ICEnroll
  1021. {
  1022. public:
  1023. virtual HRESULT STDMETHODCALLTYPE addCertTypeToRequest(
  1024. /* [in] */ BSTR CertType) = 0;
  1025. virtual HRESULT STDMETHODCALLTYPE addNameValuePairToSignature(
  1026. /* [in] */ BSTR Name,
  1027. /* [in] */ BSTR Value) = 0;
  1028. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_WriteCertToUserDS(
  1029. /* [retval][out] */ BOOL *fBool) = 0;
  1030. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_WriteCertToUserDS(
  1031. /* [in] */ BOOL fBool) = 0;
  1032. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EnableT61DNEncoding(
  1033. /* [retval][out] */ BOOL *fBool) = 0;
  1034. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_EnableT61DNEncoding(
  1035. /* [in] */ BOOL fBool) = 0;
  1036. };
  1037. #else /* C style interface */
  1038. typedef struct ICEnroll2Vtbl
  1039. {
  1040. BEGIN_INTERFACE
  1041. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1042. ICEnroll2 * This,
  1043. /* [in] */ REFIID riid,
  1044. /* [iid_is][out] */ void **ppvObject);
  1045. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1046. ICEnroll2 * This);
  1047. ULONG ( STDMETHODCALLTYPE *Release )(
  1048. ICEnroll2 * This);
  1049. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  1050. ICEnroll2 * This,
  1051. /* [out] */ UINT *pctinfo);
  1052. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  1053. ICEnroll2 * This,
  1054. /* [in] */ UINT iTInfo,
  1055. /* [in] */ LCID lcid,
  1056. /* [out] */ ITypeInfo **ppTInfo);
  1057. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  1058. ICEnroll2 * This,
  1059. /* [in] */ REFIID riid,
  1060. /* [size_is][in] */ LPOLESTR *rgszNames,
  1061. /* [in] */ UINT cNames,
  1062. /* [in] */ LCID lcid,
  1063. /* [size_is][out] */ DISPID *rgDispId);
  1064. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  1065. ICEnroll2 * This,
  1066. /* [in] */ DISPID dispIdMember,
  1067. /* [in] */ REFIID riid,
  1068. /* [in] */ LCID lcid,
  1069. /* [in] */ WORD wFlags,
  1070. /* [out][in] */ DISPPARAMS *pDispParams,
  1071. /* [out] */ VARIANT *pVarResult,
  1072. /* [out] */ EXCEPINFO *pExcepInfo,
  1073. /* [out] */ UINT *puArgErr);
  1074. HRESULT ( STDMETHODCALLTYPE *createFilePKCS10 )(
  1075. ICEnroll2 * This,
  1076. /* [in] */ BSTR DNName,
  1077. /* [in] */ BSTR Usage,
  1078. /* [in] */ BSTR wszPKCS10FileName);
  1079. HRESULT ( STDMETHODCALLTYPE *acceptFilePKCS7 )(
  1080. ICEnroll2 * This,
  1081. /* [in] */ BSTR wszPKCS7FileName);
  1082. HRESULT ( STDMETHODCALLTYPE *createPKCS10 )(
  1083. ICEnroll2 * This,
  1084. /* [in] */ BSTR DNName,
  1085. /* [in] */ BSTR Usage,
  1086. /* [retval][out] */ BSTR *pPKCS10);
  1087. HRESULT ( STDMETHODCALLTYPE *acceptPKCS7 )(
  1088. ICEnroll2 * This,
  1089. /* [in] */ BSTR PKCS7);
  1090. HRESULT ( STDMETHODCALLTYPE *getCertFromPKCS7 )(
  1091. ICEnroll2 * This,
  1092. /* [in] */ BSTR wszPKCS7,
  1093. /* [retval][out] */ BSTR *pbstrCert);
  1094. HRESULT ( STDMETHODCALLTYPE *enumProviders )(
  1095. ICEnroll2 * This,
  1096. /* [in] */ LONG dwIndex,
  1097. /* [in] */ LONG dwFlags,
  1098. /* [retval][out] */ BSTR *pbstrProvName);
  1099. HRESULT ( STDMETHODCALLTYPE *enumContainers )(
  1100. ICEnroll2 * This,
  1101. /* [in] */ LONG dwIndex,
  1102. /* [retval][out] */ BSTR *pbstr);
  1103. HRESULT ( STDMETHODCALLTYPE *freeRequestInfo )(
  1104. ICEnroll2 * This,
  1105. /* [in] */ BSTR PKCS7OrPKCS10);
  1106. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreName )(
  1107. ICEnroll2 * This,
  1108. /* [retval][out] */ BSTR *pbstrName);
  1109. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreName )(
  1110. ICEnroll2 * This,
  1111. /* [in] */ BSTR bstrName);
  1112. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreType )(
  1113. ICEnroll2 * This,
  1114. /* [retval][out] */ BSTR *pbstrType);
  1115. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreType )(
  1116. ICEnroll2 * This,
  1117. /* [in] */ BSTR bstrType);
  1118. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreFlags )(
  1119. ICEnroll2 * This,
  1120. /* [retval][out] */ LONG *pdwFlags);
  1121. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreFlags )(
  1122. ICEnroll2 * This,
  1123. /* [in] */ LONG dwFlags);
  1124. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreName )(
  1125. ICEnroll2 * This,
  1126. /* [retval][out] */ BSTR *pbstrName);
  1127. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreName )(
  1128. ICEnroll2 * This,
  1129. /* [in] */ BSTR bstrName);
  1130. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreType )(
  1131. ICEnroll2 * This,
  1132. /* [retval][out] */ BSTR *pbstrType);
  1133. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreType )(
  1134. ICEnroll2 * This,
  1135. /* [in] */ BSTR bstrType);
  1136. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreFlags )(
  1137. ICEnroll2 * This,
  1138. /* [retval][out] */ LONG *pdwFlags);
  1139. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreFlags )(
  1140. ICEnroll2 * This,
  1141. /* [in] */ LONG dwFlags);
  1142. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreName )(
  1143. ICEnroll2 * This,
  1144. /* [retval][out] */ BSTR *pbstrName);
  1145. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreName )(
  1146. ICEnroll2 * This,
  1147. /* [in] */ BSTR bstrName);
  1148. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreType )(
  1149. ICEnroll2 * This,
  1150. /* [retval][out] */ BSTR *pbstrType);
  1151. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreType )(
  1152. ICEnroll2 * This,
  1153. /* [in] */ BSTR bstrType);
  1154. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreFlags )(
  1155. ICEnroll2 * This,
  1156. /* [retval][out] */ LONG *pdwFlags);
  1157. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreFlags )(
  1158. ICEnroll2 * This,
  1159. /* [in] */ LONG dwFlags);
  1160. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreName )(
  1161. ICEnroll2 * This,
  1162. /* [retval][out] */ BSTR *pbstrName);
  1163. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreName )(
  1164. ICEnroll2 * This,
  1165. /* [in] */ BSTR bstrName);
  1166. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreType )(
  1167. ICEnroll2 * This,
  1168. /* [retval][out] */ BSTR *pbstrType);
  1169. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreType )(
  1170. ICEnroll2 * This,
  1171. /* [in] */ BSTR bstrType);
  1172. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreFlags )(
  1173. ICEnroll2 * This,
  1174. /* [retval][out] */ LONG *pdwFlags);
  1175. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreFlags )(
  1176. ICEnroll2 * This,
  1177. /* [in] */ LONG dwFlags);
  1178. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainerName )(
  1179. ICEnroll2 * This,
  1180. /* [retval][out] */ BSTR *pbstrContainer);
  1181. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ContainerName )(
  1182. ICEnroll2 * This,
  1183. /* [in] */ BSTR bstrContainer);
  1184. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderName )(
  1185. ICEnroll2 * This,
  1186. /* [retval][out] */ BSTR *pbstrProvider);
  1187. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderName )(
  1188. ICEnroll2 * This,
  1189. /* [in] */ BSTR bstrProvider);
  1190. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderType )(
  1191. ICEnroll2 * This,
  1192. /* [retval][out] */ LONG *pdwType);
  1193. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderType )(
  1194. ICEnroll2 * This,
  1195. /* [in] */ LONG dwType);
  1196. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeySpec )(
  1197. ICEnroll2 * This,
  1198. /* [retval][out] */ LONG *pdw);
  1199. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_KeySpec )(
  1200. ICEnroll2 * This,
  1201. /* [in] */ LONG dw);
  1202. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderFlags )(
  1203. ICEnroll2 * This,
  1204. /* [retval][out] */ LONG *pdwFlags);
  1205. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderFlags )(
  1206. ICEnroll2 * This,
  1207. /* [in] */ LONG dwFlags);
  1208. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UseExistingKeySet )(
  1209. ICEnroll2 * This,
  1210. /* [retval][out] */ BOOL *fUseExistingKeys);
  1211. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UseExistingKeySet )(
  1212. ICEnroll2 * This,
  1213. /* [in] */ BOOL fUseExistingKeys);
  1214. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GenKeyFlags )(
  1215. ICEnroll2 * This,
  1216. /* [retval][out] */ LONG *pdwFlags);
  1217. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_GenKeyFlags )(
  1218. ICEnroll2 * This,
  1219. /* [in] */ LONG dwFlags);
  1220. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DeleteRequestCert )(
  1221. ICEnroll2 * This,
  1222. /* [retval][out] */ BOOL *fDelete);
  1223. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DeleteRequestCert )(
  1224. ICEnroll2 * This,
  1225. /* [in] */ BOOL fDelete);
  1226. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WriteCertToCSP )(
  1227. ICEnroll2 * This,
  1228. /* [retval][out] */ BOOL *fBool);
  1229. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_WriteCertToCSP )(
  1230. ICEnroll2 * This,
  1231. /* [in] */ BOOL fBool);
  1232. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SPCFileName )(
  1233. ICEnroll2 * This,
  1234. /* [retval][out] */ BSTR *pbstr);
  1235. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SPCFileName )(
  1236. ICEnroll2 * This,
  1237. /* [in] */ BSTR bstr);
  1238. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PVKFileName )(
  1239. ICEnroll2 * This,
  1240. /* [retval][out] */ BSTR *pbstr);
  1241. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PVKFileName )(
  1242. ICEnroll2 * This,
  1243. /* [in] */ BSTR bstr);
  1244. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HashAlgorithm )(
  1245. ICEnroll2 * This,
  1246. /* [retval][out] */ BSTR *pbstr);
  1247. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HashAlgorithm )(
  1248. ICEnroll2 * This,
  1249. /* [in] */ BSTR bstr);
  1250. HRESULT ( STDMETHODCALLTYPE *addCertTypeToRequest )(
  1251. ICEnroll2 * This,
  1252. /* [in] */ BSTR CertType);
  1253. HRESULT ( STDMETHODCALLTYPE *addNameValuePairToSignature )(
  1254. ICEnroll2 * This,
  1255. /* [in] */ BSTR Name,
  1256. /* [in] */ BSTR Value);
  1257. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WriteCertToUserDS )(
  1258. ICEnroll2 * This,
  1259. /* [retval][out] */ BOOL *fBool);
  1260. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_WriteCertToUserDS )(
  1261. ICEnroll2 * This,
  1262. /* [in] */ BOOL fBool);
  1263. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnableT61DNEncoding )(
  1264. ICEnroll2 * This,
  1265. /* [retval][out] */ BOOL *fBool);
  1266. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnableT61DNEncoding )(
  1267. ICEnroll2 * This,
  1268. /* [in] */ BOOL fBool);
  1269. END_INTERFACE
  1270. } ICEnroll2Vtbl;
  1271. interface ICEnroll2
  1272. {
  1273. CONST_VTBL struct ICEnroll2Vtbl *lpVtbl;
  1274. };
  1275. #ifdef COBJMACROS
  1276. #define ICEnroll2_QueryInterface(This,riid,ppvObject) \
  1277. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1278. #define ICEnroll2_AddRef(This) \
  1279. (This)->lpVtbl -> AddRef(This)
  1280. #define ICEnroll2_Release(This) \
  1281. (This)->lpVtbl -> Release(This)
  1282. #define ICEnroll2_GetTypeInfoCount(This,pctinfo) \
  1283. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1284. #define ICEnroll2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  1285. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1286. #define ICEnroll2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  1287. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1288. #define ICEnroll2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  1289. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1290. #define ICEnroll2_createFilePKCS10(This,DNName,Usage,wszPKCS10FileName) \
  1291. (This)->lpVtbl -> createFilePKCS10(This,DNName,Usage,wszPKCS10FileName)
  1292. #define ICEnroll2_acceptFilePKCS7(This,wszPKCS7FileName) \
  1293. (This)->lpVtbl -> acceptFilePKCS7(This,wszPKCS7FileName)
  1294. #define ICEnroll2_createPKCS10(This,DNName,Usage,pPKCS10) \
  1295. (This)->lpVtbl -> createPKCS10(This,DNName,Usage,pPKCS10)
  1296. #define ICEnroll2_acceptPKCS7(This,PKCS7) \
  1297. (This)->lpVtbl -> acceptPKCS7(This,PKCS7)
  1298. #define ICEnroll2_getCertFromPKCS7(This,wszPKCS7,pbstrCert) \
  1299. (This)->lpVtbl -> getCertFromPKCS7(This,wszPKCS7,pbstrCert)
  1300. #define ICEnroll2_enumProviders(This,dwIndex,dwFlags,pbstrProvName) \
  1301. (This)->lpVtbl -> enumProviders(This,dwIndex,dwFlags,pbstrProvName)
  1302. #define ICEnroll2_enumContainers(This,dwIndex,pbstr) \
  1303. (This)->lpVtbl -> enumContainers(This,dwIndex,pbstr)
  1304. #define ICEnroll2_freeRequestInfo(This,PKCS7OrPKCS10) \
  1305. (This)->lpVtbl -> freeRequestInfo(This,PKCS7OrPKCS10)
  1306. #define ICEnroll2_get_MyStoreName(This,pbstrName) \
  1307. (This)->lpVtbl -> get_MyStoreName(This,pbstrName)
  1308. #define ICEnroll2_put_MyStoreName(This,bstrName) \
  1309. (This)->lpVtbl -> put_MyStoreName(This,bstrName)
  1310. #define ICEnroll2_get_MyStoreType(This,pbstrType) \
  1311. (This)->lpVtbl -> get_MyStoreType(This,pbstrType)
  1312. #define ICEnroll2_put_MyStoreType(This,bstrType) \
  1313. (This)->lpVtbl -> put_MyStoreType(This,bstrType)
  1314. #define ICEnroll2_get_MyStoreFlags(This,pdwFlags) \
  1315. (This)->lpVtbl -> get_MyStoreFlags(This,pdwFlags)
  1316. #define ICEnroll2_put_MyStoreFlags(This,dwFlags) \
  1317. (This)->lpVtbl -> put_MyStoreFlags(This,dwFlags)
  1318. #define ICEnroll2_get_CAStoreName(This,pbstrName) \
  1319. (This)->lpVtbl -> get_CAStoreName(This,pbstrName)
  1320. #define ICEnroll2_put_CAStoreName(This,bstrName) \
  1321. (This)->lpVtbl -> put_CAStoreName(This,bstrName)
  1322. #define ICEnroll2_get_CAStoreType(This,pbstrType) \
  1323. (This)->lpVtbl -> get_CAStoreType(This,pbstrType)
  1324. #define ICEnroll2_put_CAStoreType(This,bstrType) \
  1325. (This)->lpVtbl -> put_CAStoreType(This,bstrType)
  1326. #define ICEnroll2_get_CAStoreFlags(This,pdwFlags) \
  1327. (This)->lpVtbl -> get_CAStoreFlags(This,pdwFlags)
  1328. #define ICEnroll2_put_CAStoreFlags(This,dwFlags) \
  1329. (This)->lpVtbl -> put_CAStoreFlags(This,dwFlags)
  1330. #define ICEnroll2_get_RootStoreName(This,pbstrName) \
  1331. (This)->lpVtbl -> get_RootStoreName(This,pbstrName)
  1332. #define ICEnroll2_put_RootStoreName(This,bstrName) \
  1333. (This)->lpVtbl -> put_RootStoreName(This,bstrName)
  1334. #define ICEnroll2_get_RootStoreType(This,pbstrType) \
  1335. (This)->lpVtbl -> get_RootStoreType(This,pbstrType)
  1336. #define ICEnroll2_put_RootStoreType(This,bstrType) \
  1337. (This)->lpVtbl -> put_RootStoreType(This,bstrType)
  1338. #define ICEnroll2_get_RootStoreFlags(This,pdwFlags) \
  1339. (This)->lpVtbl -> get_RootStoreFlags(This,pdwFlags)
  1340. #define ICEnroll2_put_RootStoreFlags(This,dwFlags) \
  1341. (This)->lpVtbl -> put_RootStoreFlags(This,dwFlags)
  1342. #define ICEnroll2_get_RequestStoreName(This,pbstrName) \
  1343. (This)->lpVtbl -> get_RequestStoreName(This,pbstrName)
  1344. #define ICEnroll2_put_RequestStoreName(This,bstrName) \
  1345. (This)->lpVtbl -> put_RequestStoreName(This,bstrName)
  1346. #define ICEnroll2_get_RequestStoreType(This,pbstrType) \
  1347. (This)->lpVtbl -> get_RequestStoreType(This,pbstrType)
  1348. #define ICEnroll2_put_RequestStoreType(This,bstrType) \
  1349. (This)->lpVtbl -> put_RequestStoreType(This,bstrType)
  1350. #define ICEnroll2_get_RequestStoreFlags(This,pdwFlags) \
  1351. (This)->lpVtbl -> get_RequestStoreFlags(This,pdwFlags)
  1352. #define ICEnroll2_put_RequestStoreFlags(This,dwFlags) \
  1353. (This)->lpVtbl -> put_RequestStoreFlags(This,dwFlags)
  1354. #define ICEnroll2_get_ContainerName(This,pbstrContainer) \
  1355. (This)->lpVtbl -> get_ContainerName(This,pbstrContainer)
  1356. #define ICEnroll2_put_ContainerName(This,bstrContainer) \
  1357. (This)->lpVtbl -> put_ContainerName(This,bstrContainer)
  1358. #define ICEnroll2_get_ProviderName(This,pbstrProvider) \
  1359. (This)->lpVtbl -> get_ProviderName(This,pbstrProvider)
  1360. #define ICEnroll2_put_ProviderName(This,bstrProvider) \
  1361. (This)->lpVtbl -> put_ProviderName(This,bstrProvider)
  1362. #define ICEnroll2_get_ProviderType(This,pdwType) \
  1363. (This)->lpVtbl -> get_ProviderType(This,pdwType)
  1364. #define ICEnroll2_put_ProviderType(This,dwType) \
  1365. (This)->lpVtbl -> put_ProviderType(This,dwType)
  1366. #define ICEnroll2_get_KeySpec(This,pdw) \
  1367. (This)->lpVtbl -> get_KeySpec(This,pdw)
  1368. #define ICEnroll2_put_KeySpec(This,dw) \
  1369. (This)->lpVtbl -> put_KeySpec(This,dw)
  1370. #define ICEnroll2_get_ProviderFlags(This,pdwFlags) \
  1371. (This)->lpVtbl -> get_ProviderFlags(This,pdwFlags)
  1372. #define ICEnroll2_put_ProviderFlags(This,dwFlags) \
  1373. (This)->lpVtbl -> put_ProviderFlags(This,dwFlags)
  1374. #define ICEnroll2_get_UseExistingKeySet(This,fUseExistingKeys) \
  1375. (This)->lpVtbl -> get_UseExistingKeySet(This,fUseExistingKeys)
  1376. #define ICEnroll2_put_UseExistingKeySet(This,fUseExistingKeys) \
  1377. (This)->lpVtbl -> put_UseExistingKeySet(This,fUseExistingKeys)
  1378. #define ICEnroll2_get_GenKeyFlags(This,pdwFlags) \
  1379. (This)->lpVtbl -> get_GenKeyFlags(This,pdwFlags)
  1380. #define ICEnroll2_put_GenKeyFlags(This,dwFlags) \
  1381. (This)->lpVtbl -> put_GenKeyFlags(This,dwFlags)
  1382. #define ICEnroll2_get_DeleteRequestCert(This,fDelete) \
  1383. (This)->lpVtbl -> get_DeleteRequestCert(This,fDelete)
  1384. #define ICEnroll2_put_DeleteRequestCert(This,fDelete) \
  1385. (This)->lpVtbl -> put_DeleteRequestCert(This,fDelete)
  1386. #define ICEnroll2_get_WriteCertToCSP(This,fBool) \
  1387. (This)->lpVtbl -> get_WriteCertToCSP(This,fBool)
  1388. #define ICEnroll2_put_WriteCertToCSP(This,fBool) \
  1389. (This)->lpVtbl -> put_WriteCertToCSP(This,fBool)
  1390. #define ICEnroll2_get_SPCFileName(This,pbstr) \
  1391. (This)->lpVtbl -> get_SPCFileName(This,pbstr)
  1392. #define ICEnroll2_put_SPCFileName(This,bstr) \
  1393. (This)->lpVtbl -> put_SPCFileName(This,bstr)
  1394. #define ICEnroll2_get_PVKFileName(This,pbstr) \
  1395. (This)->lpVtbl -> get_PVKFileName(This,pbstr)
  1396. #define ICEnroll2_put_PVKFileName(This,bstr) \
  1397. (This)->lpVtbl -> put_PVKFileName(This,bstr)
  1398. #define ICEnroll2_get_HashAlgorithm(This,pbstr) \
  1399. (This)->lpVtbl -> get_HashAlgorithm(This,pbstr)
  1400. #define ICEnroll2_put_HashAlgorithm(This,bstr) \
  1401. (This)->lpVtbl -> put_HashAlgorithm(This,bstr)
  1402. #define ICEnroll2_addCertTypeToRequest(This,CertType) \
  1403. (This)->lpVtbl -> addCertTypeToRequest(This,CertType)
  1404. #define ICEnroll2_addNameValuePairToSignature(This,Name,Value) \
  1405. (This)->lpVtbl -> addNameValuePairToSignature(This,Name,Value)
  1406. #define ICEnroll2_get_WriteCertToUserDS(This,fBool) \
  1407. (This)->lpVtbl -> get_WriteCertToUserDS(This,fBool)
  1408. #define ICEnroll2_put_WriteCertToUserDS(This,fBool) \
  1409. (This)->lpVtbl -> put_WriteCertToUserDS(This,fBool)
  1410. #define ICEnroll2_get_EnableT61DNEncoding(This,fBool) \
  1411. (This)->lpVtbl -> get_EnableT61DNEncoding(This,fBool)
  1412. #define ICEnroll2_put_EnableT61DNEncoding(This,fBool) \
  1413. (This)->lpVtbl -> put_EnableT61DNEncoding(This,fBool)
  1414. #endif /* COBJMACROS */
  1415. #endif /* C style interface */
  1416. HRESULT STDMETHODCALLTYPE ICEnroll2_addCertTypeToRequest_Proxy(
  1417. ICEnroll2 * This,
  1418. /* [in] */ BSTR CertType);
  1419. void __RPC_STUB ICEnroll2_addCertTypeToRequest_Stub(
  1420. IRpcStubBuffer *This,
  1421. IRpcChannelBuffer *_pRpcChannelBuffer,
  1422. PRPC_MESSAGE _pRpcMessage,
  1423. DWORD *_pdwStubPhase);
  1424. HRESULT STDMETHODCALLTYPE ICEnroll2_addNameValuePairToSignature_Proxy(
  1425. ICEnroll2 * This,
  1426. /* [in] */ BSTR Name,
  1427. /* [in] */ BSTR Value);
  1428. void __RPC_STUB ICEnroll2_addNameValuePairToSignature_Stub(
  1429. IRpcStubBuffer *This,
  1430. IRpcChannelBuffer *_pRpcChannelBuffer,
  1431. PRPC_MESSAGE _pRpcMessage,
  1432. DWORD *_pdwStubPhase);
  1433. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll2_get_WriteCertToUserDS_Proxy(
  1434. ICEnroll2 * This,
  1435. /* [retval][out] */ BOOL *fBool);
  1436. void __RPC_STUB ICEnroll2_get_WriteCertToUserDS_Stub(
  1437. IRpcStubBuffer *This,
  1438. IRpcChannelBuffer *_pRpcChannelBuffer,
  1439. PRPC_MESSAGE _pRpcMessage,
  1440. DWORD *_pdwStubPhase);
  1441. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll2_put_WriteCertToUserDS_Proxy(
  1442. ICEnroll2 * This,
  1443. /* [in] */ BOOL fBool);
  1444. void __RPC_STUB ICEnroll2_put_WriteCertToUserDS_Stub(
  1445. IRpcStubBuffer *This,
  1446. IRpcChannelBuffer *_pRpcChannelBuffer,
  1447. PRPC_MESSAGE _pRpcMessage,
  1448. DWORD *_pdwStubPhase);
  1449. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll2_get_EnableT61DNEncoding_Proxy(
  1450. ICEnroll2 * This,
  1451. /* [retval][out] */ BOOL *fBool);
  1452. void __RPC_STUB ICEnroll2_get_EnableT61DNEncoding_Stub(
  1453. IRpcStubBuffer *This,
  1454. IRpcChannelBuffer *_pRpcChannelBuffer,
  1455. PRPC_MESSAGE _pRpcMessage,
  1456. DWORD *_pdwStubPhase);
  1457. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll2_put_EnableT61DNEncoding_Proxy(
  1458. ICEnroll2 * This,
  1459. /* [in] */ BOOL fBool);
  1460. void __RPC_STUB ICEnroll2_put_EnableT61DNEncoding_Stub(
  1461. IRpcStubBuffer *This,
  1462. IRpcChannelBuffer *_pRpcChannelBuffer,
  1463. PRPC_MESSAGE _pRpcMessage,
  1464. DWORD *_pdwStubPhase);
  1465. #endif /* __ICEnroll2_INTERFACE_DEFINED__ */
  1466. #ifndef __ICEnroll3_INTERFACE_DEFINED__
  1467. #define __ICEnroll3_INTERFACE_DEFINED__
  1468. /* interface ICEnroll3 */
  1469. /* [unique][helpstring][dual][uuid][object] */
  1470. EXTERN_C const IID IID_ICEnroll3;
  1471. #if defined(__cplusplus) && !defined(CINTERFACE)
  1472. MIDL_INTERFACE("c28c2d95-b7de-11d2-a421-00c04f79fe8e")
  1473. ICEnroll3 : public ICEnroll2
  1474. {
  1475. public:
  1476. virtual HRESULT STDMETHODCALLTYPE InstallPKCS7(
  1477. /* [in] */ BSTR PKCS7) = 0;
  1478. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1479. virtual HRESULT STDMETHODCALLTYPE GetSupportedKeySpec(
  1480. /* [retval][out] */ LONG *pdwKeySpec) = 0;
  1481. virtual HRESULT STDMETHODCALLTYPE GetKeyLen(
  1482. /* [in] */ BOOL fMin,
  1483. /* [in] */ BOOL fExchange,
  1484. /* [retval][out] */ LONG *pdwKeySize) = 0;
  1485. virtual HRESULT STDMETHODCALLTYPE EnumAlgs(
  1486. /* [in] */ LONG dwIndex,
  1487. /* [in] */ LONG algClass,
  1488. /* [retval][out] */ LONG *pdwAlgID) = 0;
  1489. virtual HRESULT STDMETHODCALLTYPE GetAlgName(
  1490. /* [in] */ LONG algID,
  1491. /* [retval][out] */ BSTR *pbstr) = 0;
  1492. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ReuseHardwareKeyIfUnableToGenNew(
  1493. /* [in] */ BOOL fReuseHardwareKeyIfUnableToGenNew) = 0;
  1494. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ReuseHardwareKeyIfUnableToGenNew(
  1495. /* [retval][out] */ BOOL *fReuseHardwareKeyIfUnableToGenNew) = 0;
  1496. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HashAlgID(
  1497. /* [in] */ LONG hashAlgID) = 0;
  1498. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HashAlgID(
  1499. /* [retval][out] */ LONG *hashAlgID) = 0;
  1500. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LimitExchangeKeyToEncipherment(
  1501. /* [in] */ BOOL fLimitExchangeKeyToEncipherment) = 0;
  1502. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LimitExchangeKeyToEncipherment(
  1503. /* [retval][out] */ BOOL *fLimitExchangeKeyToEncipherment) = 0;
  1504. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_EnableSMIMECapabilities(
  1505. /* [in] */ BOOL fEnableSMIMECapabilities) = 0;
  1506. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EnableSMIMECapabilities(
  1507. /* [retval][out] */ BOOL *fEnableSMIMECapabilities) = 0;
  1508. };
  1509. #else /* C style interface */
  1510. typedef struct ICEnroll3Vtbl
  1511. {
  1512. BEGIN_INTERFACE
  1513. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1514. ICEnroll3 * This,
  1515. /* [in] */ REFIID riid,
  1516. /* [iid_is][out] */ void **ppvObject);
  1517. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1518. ICEnroll3 * This);
  1519. ULONG ( STDMETHODCALLTYPE *Release )(
  1520. ICEnroll3 * This);
  1521. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  1522. ICEnroll3 * This,
  1523. /* [out] */ UINT *pctinfo);
  1524. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  1525. ICEnroll3 * This,
  1526. /* [in] */ UINT iTInfo,
  1527. /* [in] */ LCID lcid,
  1528. /* [out] */ ITypeInfo **ppTInfo);
  1529. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  1530. ICEnroll3 * This,
  1531. /* [in] */ REFIID riid,
  1532. /* [size_is][in] */ LPOLESTR *rgszNames,
  1533. /* [in] */ UINT cNames,
  1534. /* [in] */ LCID lcid,
  1535. /* [size_is][out] */ DISPID *rgDispId);
  1536. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  1537. ICEnroll3 * This,
  1538. /* [in] */ DISPID dispIdMember,
  1539. /* [in] */ REFIID riid,
  1540. /* [in] */ LCID lcid,
  1541. /* [in] */ WORD wFlags,
  1542. /* [out][in] */ DISPPARAMS *pDispParams,
  1543. /* [out] */ VARIANT *pVarResult,
  1544. /* [out] */ EXCEPINFO *pExcepInfo,
  1545. /* [out] */ UINT *puArgErr);
  1546. HRESULT ( STDMETHODCALLTYPE *createFilePKCS10 )(
  1547. ICEnroll3 * This,
  1548. /* [in] */ BSTR DNName,
  1549. /* [in] */ BSTR Usage,
  1550. /* [in] */ BSTR wszPKCS10FileName);
  1551. HRESULT ( STDMETHODCALLTYPE *acceptFilePKCS7 )(
  1552. ICEnroll3 * This,
  1553. /* [in] */ BSTR wszPKCS7FileName);
  1554. HRESULT ( STDMETHODCALLTYPE *createPKCS10 )(
  1555. ICEnroll3 * This,
  1556. /* [in] */ BSTR DNName,
  1557. /* [in] */ BSTR Usage,
  1558. /* [retval][out] */ BSTR *pPKCS10);
  1559. HRESULT ( STDMETHODCALLTYPE *acceptPKCS7 )(
  1560. ICEnroll3 * This,
  1561. /* [in] */ BSTR PKCS7);
  1562. HRESULT ( STDMETHODCALLTYPE *getCertFromPKCS7 )(
  1563. ICEnroll3 * This,
  1564. /* [in] */ BSTR wszPKCS7,
  1565. /* [retval][out] */ BSTR *pbstrCert);
  1566. HRESULT ( STDMETHODCALLTYPE *enumProviders )(
  1567. ICEnroll3 * This,
  1568. /* [in] */ LONG dwIndex,
  1569. /* [in] */ LONG dwFlags,
  1570. /* [retval][out] */ BSTR *pbstrProvName);
  1571. HRESULT ( STDMETHODCALLTYPE *enumContainers )(
  1572. ICEnroll3 * This,
  1573. /* [in] */ LONG dwIndex,
  1574. /* [retval][out] */ BSTR *pbstr);
  1575. HRESULT ( STDMETHODCALLTYPE *freeRequestInfo )(
  1576. ICEnroll3 * This,
  1577. /* [in] */ BSTR PKCS7OrPKCS10);
  1578. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreName )(
  1579. ICEnroll3 * This,
  1580. /* [retval][out] */ BSTR *pbstrName);
  1581. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreName )(
  1582. ICEnroll3 * This,
  1583. /* [in] */ BSTR bstrName);
  1584. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreType )(
  1585. ICEnroll3 * This,
  1586. /* [retval][out] */ BSTR *pbstrType);
  1587. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreType )(
  1588. ICEnroll3 * This,
  1589. /* [in] */ BSTR bstrType);
  1590. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreFlags )(
  1591. ICEnroll3 * This,
  1592. /* [retval][out] */ LONG *pdwFlags);
  1593. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreFlags )(
  1594. ICEnroll3 * This,
  1595. /* [in] */ LONG dwFlags);
  1596. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreName )(
  1597. ICEnroll3 * This,
  1598. /* [retval][out] */ BSTR *pbstrName);
  1599. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreName )(
  1600. ICEnroll3 * This,
  1601. /* [in] */ BSTR bstrName);
  1602. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreType )(
  1603. ICEnroll3 * This,
  1604. /* [retval][out] */ BSTR *pbstrType);
  1605. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreType )(
  1606. ICEnroll3 * This,
  1607. /* [in] */ BSTR bstrType);
  1608. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreFlags )(
  1609. ICEnroll3 * This,
  1610. /* [retval][out] */ LONG *pdwFlags);
  1611. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreFlags )(
  1612. ICEnroll3 * This,
  1613. /* [in] */ LONG dwFlags);
  1614. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreName )(
  1615. ICEnroll3 * This,
  1616. /* [retval][out] */ BSTR *pbstrName);
  1617. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreName )(
  1618. ICEnroll3 * This,
  1619. /* [in] */ BSTR bstrName);
  1620. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreType )(
  1621. ICEnroll3 * This,
  1622. /* [retval][out] */ BSTR *pbstrType);
  1623. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreType )(
  1624. ICEnroll3 * This,
  1625. /* [in] */ BSTR bstrType);
  1626. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreFlags )(
  1627. ICEnroll3 * This,
  1628. /* [retval][out] */ LONG *pdwFlags);
  1629. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreFlags )(
  1630. ICEnroll3 * This,
  1631. /* [in] */ LONG dwFlags);
  1632. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreName )(
  1633. ICEnroll3 * This,
  1634. /* [retval][out] */ BSTR *pbstrName);
  1635. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreName )(
  1636. ICEnroll3 * This,
  1637. /* [in] */ BSTR bstrName);
  1638. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreType )(
  1639. ICEnroll3 * This,
  1640. /* [retval][out] */ BSTR *pbstrType);
  1641. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreType )(
  1642. ICEnroll3 * This,
  1643. /* [in] */ BSTR bstrType);
  1644. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreFlags )(
  1645. ICEnroll3 * This,
  1646. /* [retval][out] */ LONG *pdwFlags);
  1647. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreFlags )(
  1648. ICEnroll3 * This,
  1649. /* [in] */ LONG dwFlags);
  1650. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainerName )(
  1651. ICEnroll3 * This,
  1652. /* [retval][out] */ BSTR *pbstrContainer);
  1653. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ContainerName )(
  1654. ICEnroll3 * This,
  1655. /* [in] */ BSTR bstrContainer);
  1656. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderName )(
  1657. ICEnroll3 * This,
  1658. /* [retval][out] */ BSTR *pbstrProvider);
  1659. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderName )(
  1660. ICEnroll3 * This,
  1661. /* [in] */ BSTR bstrProvider);
  1662. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderType )(
  1663. ICEnroll3 * This,
  1664. /* [retval][out] */ LONG *pdwType);
  1665. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderType )(
  1666. ICEnroll3 * This,
  1667. /* [in] */ LONG dwType);
  1668. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeySpec )(
  1669. ICEnroll3 * This,
  1670. /* [retval][out] */ LONG *pdw);
  1671. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_KeySpec )(
  1672. ICEnroll3 * This,
  1673. /* [in] */ LONG dw);
  1674. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderFlags )(
  1675. ICEnroll3 * This,
  1676. /* [retval][out] */ LONG *pdwFlags);
  1677. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderFlags )(
  1678. ICEnroll3 * This,
  1679. /* [in] */ LONG dwFlags);
  1680. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UseExistingKeySet )(
  1681. ICEnroll3 * This,
  1682. /* [retval][out] */ BOOL *fUseExistingKeys);
  1683. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UseExistingKeySet )(
  1684. ICEnroll3 * This,
  1685. /* [in] */ BOOL fUseExistingKeys);
  1686. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GenKeyFlags )(
  1687. ICEnroll3 * This,
  1688. /* [retval][out] */ LONG *pdwFlags);
  1689. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_GenKeyFlags )(
  1690. ICEnroll3 * This,
  1691. /* [in] */ LONG dwFlags);
  1692. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DeleteRequestCert )(
  1693. ICEnroll3 * This,
  1694. /* [retval][out] */ BOOL *fDelete);
  1695. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DeleteRequestCert )(
  1696. ICEnroll3 * This,
  1697. /* [in] */ BOOL fDelete);
  1698. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WriteCertToCSP )(
  1699. ICEnroll3 * This,
  1700. /* [retval][out] */ BOOL *fBool);
  1701. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_WriteCertToCSP )(
  1702. ICEnroll3 * This,
  1703. /* [in] */ BOOL fBool);
  1704. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SPCFileName )(
  1705. ICEnroll3 * This,
  1706. /* [retval][out] */ BSTR *pbstr);
  1707. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SPCFileName )(
  1708. ICEnroll3 * This,
  1709. /* [in] */ BSTR bstr);
  1710. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PVKFileName )(
  1711. ICEnroll3 * This,
  1712. /* [retval][out] */ BSTR *pbstr);
  1713. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PVKFileName )(
  1714. ICEnroll3 * This,
  1715. /* [in] */ BSTR bstr);
  1716. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HashAlgorithm )(
  1717. ICEnroll3 * This,
  1718. /* [retval][out] */ BSTR *pbstr);
  1719. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HashAlgorithm )(
  1720. ICEnroll3 * This,
  1721. /* [in] */ BSTR bstr);
  1722. HRESULT ( STDMETHODCALLTYPE *addCertTypeToRequest )(
  1723. ICEnroll3 * This,
  1724. /* [in] */ BSTR CertType);
  1725. HRESULT ( STDMETHODCALLTYPE *addNameValuePairToSignature )(
  1726. ICEnroll3 * This,
  1727. /* [in] */ BSTR Name,
  1728. /* [in] */ BSTR Value);
  1729. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WriteCertToUserDS )(
  1730. ICEnroll3 * This,
  1731. /* [retval][out] */ BOOL *fBool);
  1732. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_WriteCertToUserDS )(
  1733. ICEnroll3 * This,
  1734. /* [in] */ BOOL fBool);
  1735. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnableT61DNEncoding )(
  1736. ICEnroll3 * This,
  1737. /* [retval][out] */ BOOL *fBool);
  1738. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnableT61DNEncoding )(
  1739. ICEnroll3 * This,
  1740. /* [in] */ BOOL fBool);
  1741. HRESULT ( STDMETHODCALLTYPE *InstallPKCS7 )(
  1742. ICEnroll3 * This,
  1743. /* [in] */ BSTR PKCS7);
  1744. HRESULT ( STDMETHODCALLTYPE *Reset )(
  1745. ICEnroll3 * This);
  1746. HRESULT ( STDMETHODCALLTYPE *GetSupportedKeySpec )(
  1747. ICEnroll3 * This,
  1748. /* [retval][out] */ LONG *pdwKeySpec);
  1749. HRESULT ( STDMETHODCALLTYPE *GetKeyLen )(
  1750. ICEnroll3 * This,
  1751. /* [in] */ BOOL fMin,
  1752. /* [in] */ BOOL fExchange,
  1753. /* [retval][out] */ LONG *pdwKeySize);
  1754. HRESULT ( STDMETHODCALLTYPE *EnumAlgs )(
  1755. ICEnroll3 * This,
  1756. /* [in] */ LONG dwIndex,
  1757. /* [in] */ LONG algClass,
  1758. /* [retval][out] */ LONG *pdwAlgID);
  1759. HRESULT ( STDMETHODCALLTYPE *GetAlgName )(
  1760. ICEnroll3 * This,
  1761. /* [in] */ LONG algID,
  1762. /* [retval][out] */ BSTR *pbstr);
  1763. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ReuseHardwareKeyIfUnableToGenNew )(
  1764. ICEnroll3 * This,
  1765. /* [in] */ BOOL fReuseHardwareKeyIfUnableToGenNew);
  1766. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReuseHardwareKeyIfUnableToGenNew )(
  1767. ICEnroll3 * This,
  1768. /* [retval][out] */ BOOL *fReuseHardwareKeyIfUnableToGenNew);
  1769. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HashAlgID )(
  1770. ICEnroll3 * This,
  1771. /* [in] */ LONG hashAlgID);
  1772. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HashAlgID )(
  1773. ICEnroll3 * This,
  1774. /* [retval][out] */ LONG *hashAlgID);
  1775. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_LimitExchangeKeyToEncipherment )(
  1776. ICEnroll3 * This,
  1777. /* [in] */ BOOL fLimitExchangeKeyToEncipherment);
  1778. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LimitExchangeKeyToEncipherment )(
  1779. ICEnroll3 * This,
  1780. /* [retval][out] */ BOOL *fLimitExchangeKeyToEncipherment);
  1781. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnableSMIMECapabilities )(
  1782. ICEnroll3 * This,
  1783. /* [in] */ BOOL fEnableSMIMECapabilities);
  1784. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnableSMIMECapabilities )(
  1785. ICEnroll3 * This,
  1786. /* [retval][out] */ BOOL *fEnableSMIMECapabilities);
  1787. END_INTERFACE
  1788. } ICEnroll3Vtbl;
  1789. interface ICEnroll3
  1790. {
  1791. CONST_VTBL struct ICEnroll3Vtbl *lpVtbl;
  1792. };
  1793. #ifdef COBJMACROS
  1794. #define ICEnroll3_QueryInterface(This,riid,ppvObject) \
  1795. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1796. #define ICEnroll3_AddRef(This) \
  1797. (This)->lpVtbl -> AddRef(This)
  1798. #define ICEnroll3_Release(This) \
  1799. (This)->lpVtbl -> Release(This)
  1800. #define ICEnroll3_GetTypeInfoCount(This,pctinfo) \
  1801. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1802. #define ICEnroll3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  1803. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1804. #define ICEnroll3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  1805. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1806. #define ICEnroll3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  1807. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1808. #define ICEnroll3_createFilePKCS10(This,DNName,Usage,wszPKCS10FileName) \
  1809. (This)->lpVtbl -> createFilePKCS10(This,DNName,Usage,wszPKCS10FileName)
  1810. #define ICEnroll3_acceptFilePKCS7(This,wszPKCS7FileName) \
  1811. (This)->lpVtbl -> acceptFilePKCS7(This,wszPKCS7FileName)
  1812. #define ICEnroll3_createPKCS10(This,DNName,Usage,pPKCS10) \
  1813. (This)->lpVtbl -> createPKCS10(This,DNName,Usage,pPKCS10)
  1814. #define ICEnroll3_acceptPKCS7(This,PKCS7) \
  1815. (This)->lpVtbl -> acceptPKCS7(This,PKCS7)
  1816. #define ICEnroll3_getCertFromPKCS7(This,wszPKCS7,pbstrCert) \
  1817. (This)->lpVtbl -> getCertFromPKCS7(This,wszPKCS7,pbstrCert)
  1818. #define ICEnroll3_enumProviders(This,dwIndex,dwFlags,pbstrProvName) \
  1819. (This)->lpVtbl -> enumProviders(This,dwIndex,dwFlags,pbstrProvName)
  1820. #define ICEnroll3_enumContainers(This,dwIndex,pbstr) \
  1821. (This)->lpVtbl -> enumContainers(This,dwIndex,pbstr)
  1822. #define ICEnroll3_freeRequestInfo(This,PKCS7OrPKCS10) \
  1823. (This)->lpVtbl -> freeRequestInfo(This,PKCS7OrPKCS10)
  1824. #define ICEnroll3_get_MyStoreName(This,pbstrName) \
  1825. (This)->lpVtbl -> get_MyStoreName(This,pbstrName)
  1826. #define ICEnroll3_put_MyStoreName(This,bstrName) \
  1827. (This)->lpVtbl -> put_MyStoreName(This,bstrName)
  1828. #define ICEnroll3_get_MyStoreType(This,pbstrType) \
  1829. (This)->lpVtbl -> get_MyStoreType(This,pbstrType)
  1830. #define ICEnroll3_put_MyStoreType(This,bstrType) \
  1831. (This)->lpVtbl -> put_MyStoreType(This,bstrType)
  1832. #define ICEnroll3_get_MyStoreFlags(This,pdwFlags) \
  1833. (This)->lpVtbl -> get_MyStoreFlags(This,pdwFlags)
  1834. #define ICEnroll3_put_MyStoreFlags(This,dwFlags) \
  1835. (This)->lpVtbl -> put_MyStoreFlags(This,dwFlags)
  1836. #define ICEnroll3_get_CAStoreName(This,pbstrName) \
  1837. (This)->lpVtbl -> get_CAStoreName(This,pbstrName)
  1838. #define ICEnroll3_put_CAStoreName(This,bstrName) \
  1839. (This)->lpVtbl -> put_CAStoreName(This,bstrName)
  1840. #define ICEnroll3_get_CAStoreType(This,pbstrType) \
  1841. (This)->lpVtbl -> get_CAStoreType(This,pbstrType)
  1842. #define ICEnroll3_put_CAStoreType(This,bstrType) \
  1843. (This)->lpVtbl -> put_CAStoreType(This,bstrType)
  1844. #define ICEnroll3_get_CAStoreFlags(This,pdwFlags) \
  1845. (This)->lpVtbl -> get_CAStoreFlags(This,pdwFlags)
  1846. #define ICEnroll3_put_CAStoreFlags(This,dwFlags) \
  1847. (This)->lpVtbl -> put_CAStoreFlags(This,dwFlags)
  1848. #define ICEnroll3_get_RootStoreName(This,pbstrName) \
  1849. (This)->lpVtbl -> get_RootStoreName(This,pbstrName)
  1850. #define ICEnroll3_put_RootStoreName(This,bstrName) \
  1851. (This)->lpVtbl -> put_RootStoreName(This,bstrName)
  1852. #define ICEnroll3_get_RootStoreType(This,pbstrType) \
  1853. (This)->lpVtbl -> get_RootStoreType(This,pbstrType)
  1854. #define ICEnroll3_put_RootStoreType(This,bstrType) \
  1855. (This)->lpVtbl -> put_RootStoreType(This,bstrType)
  1856. #define ICEnroll3_get_RootStoreFlags(This,pdwFlags) \
  1857. (This)->lpVtbl -> get_RootStoreFlags(This,pdwFlags)
  1858. #define ICEnroll3_put_RootStoreFlags(This,dwFlags) \
  1859. (This)->lpVtbl -> put_RootStoreFlags(This,dwFlags)
  1860. #define ICEnroll3_get_RequestStoreName(This,pbstrName) \
  1861. (This)->lpVtbl -> get_RequestStoreName(This,pbstrName)
  1862. #define ICEnroll3_put_RequestStoreName(This,bstrName) \
  1863. (This)->lpVtbl -> put_RequestStoreName(This,bstrName)
  1864. #define ICEnroll3_get_RequestStoreType(This,pbstrType) \
  1865. (This)->lpVtbl -> get_RequestStoreType(This,pbstrType)
  1866. #define ICEnroll3_put_RequestStoreType(This,bstrType) \
  1867. (This)->lpVtbl -> put_RequestStoreType(This,bstrType)
  1868. #define ICEnroll3_get_RequestStoreFlags(This,pdwFlags) \
  1869. (This)->lpVtbl -> get_RequestStoreFlags(This,pdwFlags)
  1870. #define ICEnroll3_put_RequestStoreFlags(This,dwFlags) \
  1871. (This)->lpVtbl -> put_RequestStoreFlags(This,dwFlags)
  1872. #define ICEnroll3_get_ContainerName(This,pbstrContainer) \
  1873. (This)->lpVtbl -> get_ContainerName(This,pbstrContainer)
  1874. #define ICEnroll3_put_ContainerName(This,bstrContainer) \
  1875. (This)->lpVtbl -> put_ContainerName(This,bstrContainer)
  1876. #define ICEnroll3_get_ProviderName(This,pbstrProvider) \
  1877. (This)->lpVtbl -> get_ProviderName(This,pbstrProvider)
  1878. #define ICEnroll3_put_ProviderName(This,bstrProvider) \
  1879. (This)->lpVtbl -> put_ProviderName(This,bstrProvider)
  1880. #define ICEnroll3_get_ProviderType(This,pdwType) \
  1881. (This)->lpVtbl -> get_ProviderType(This,pdwType)
  1882. #define ICEnroll3_put_ProviderType(This,dwType) \
  1883. (This)->lpVtbl -> put_ProviderType(This,dwType)
  1884. #define ICEnroll3_get_KeySpec(This,pdw) \
  1885. (This)->lpVtbl -> get_KeySpec(This,pdw)
  1886. #define ICEnroll3_put_KeySpec(This,dw) \
  1887. (This)->lpVtbl -> put_KeySpec(This,dw)
  1888. #define ICEnroll3_get_ProviderFlags(This,pdwFlags) \
  1889. (This)->lpVtbl -> get_ProviderFlags(This,pdwFlags)
  1890. #define ICEnroll3_put_ProviderFlags(This,dwFlags) \
  1891. (This)->lpVtbl -> put_ProviderFlags(This,dwFlags)
  1892. #define ICEnroll3_get_UseExistingKeySet(This,fUseExistingKeys) \
  1893. (This)->lpVtbl -> get_UseExistingKeySet(This,fUseExistingKeys)
  1894. #define ICEnroll3_put_UseExistingKeySet(This,fUseExistingKeys) \
  1895. (This)->lpVtbl -> put_UseExistingKeySet(This,fUseExistingKeys)
  1896. #define ICEnroll3_get_GenKeyFlags(This,pdwFlags) \
  1897. (This)->lpVtbl -> get_GenKeyFlags(This,pdwFlags)
  1898. #define ICEnroll3_put_GenKeyFlags(This,dwFlags) \
  1899. (This)->lpVtbl -> put_GenKeyFlags(This,dwFlags)
  1900. #define ICEnroll3_get_DeleteRequestCert(This,fDelete) \
  1901. (This)->lpVtbl -> get_DeleteRequestCert(This,fDelete)
  1902. #define ICEnroll3_put_DeleteRequestCert(This,fDelete) \
  1903. (This)->lpVtbl -> put_DeleteRequestCert(This,fDelete)
  1904. #define ICEnroll3_get_WriteCertToCSP(This,fBool) \
  1905. (This)->lpVtbl -> get_WriteCertToCSP(This,fBool)
  1906. #define ICEnroll3_put_WriteCertToCSP(This,fBool) \
  1907. (This)->lpVtbl -> put_WriteCertToCSP(This,fBool)
  1908. #define ICEnroll3_get_SPCFileName(This,pbstr) \
  1909. (This)->lpVtbl -> get_SPCFileName(This,pbstr)
  1910. #define ICEnroll3_put_SPCFileName(This,bstr) \
  1911. (This)->lpVtbl -> put_SPCFileName(This,bstr)
  1912. #define ICEnroll3_get_PVKFileName(This,pbstr) \
  1913. (This)->lpVtbl -> get_PVKFileName(This,pbstr)
  1914. #define ICEnroll3_put_PVKFileName(This,bstr) \
  1915. (This)->lpVtbl -> put_PVKFileName(This,bstr)
  1916. #define ICEnroll3_get_HashAlgorithm(This,pbstr) \
  1917. (This)->lpVtbl -> get_HashAlgorithm(This,pbstr)
  1918. #define ICEnroll3_put_HashAlgorithm(This,bstr) \
  1919. (This)->lpVtbl -> put_HashAlgorithm(This,bstr)
  1920. #define ICEnroll3_addCertTypeToRequest(This,CertType) \
  1921. (This)->lpVtbl -> addCertTypeToRequest(This,CertType)
  1922. #define ICEnroll3_addNameValuePairToSignature(This,Name,Value) \
  1923. (This)->lpVtbl -> addNameValuePairToSignature(This,Name,Value)
  1924. #define ICEnroll3_get_WriteCertToUserDS(This,fBool) \
  1925. (This)->lpVtbl -> get_WriteCertToUserDS(This,fBool)
  1926. #define ICEnroll3_put_WriteCertToUserDS(This,fBool) \
  1927. (This)->lpVtbl -> put_WriteCertToUserDS(This,fBool)
  1928. #define ICEnroll3_get_EnableT61DNEncoding(This,fBool) \
  1929. (This)->lpVtbl -> get_EnableT61DNEncoding(This,fBool)
  1930. #define ICEnroll3_put_EnableT61DNEncoding(This,fBool) \
  1931. (This)->lpVtbl -> put_EnableT61DNEncoding(This,fBool)
  1932. #define ICEnroll3_InstallPKCS7(This,PKCS7) \
  1933. (This)->lpVtbl -> InstallPKCS7(This,PKCS7)
  1934. #define ICEnroll3_Reset(This) \
  1935. (This)->lpVtbl -> Reset(This)
  1936. #define ICEnroll3_GetSupportedKeySpec(This,pdwKeySpec) \
  1937. (This)->lpVtbl -> GetSupportedKeySpec(This,pdwKeySpec)
  1938. #define ICEnroll3_GetKeyLen(This,fMin,fExchange,pdwKeySize) \
  1939. (This)->lpVtbl -> GetKeyLen(This,fMin,fExchange,pdwKeySize)
  1940. #define ICEnroll3_EnumAlgs(This,dwIndex,algClass,pdwAlgID) \
  1941. (This)->lpVtbl -> EnumAlgs(This,dwIndex,algClass,pdwAlgID)
  1942. #define ICEnroll3_GetAlgName(This,algID,pbstr) \
  1943. (This)->lpVtbl -> GetAlgName(This,algID,pbstr)
  1944. #define ICEnroll3_put_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew) \
  1945. (This)->lpVtbl -> put_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew)
  1946. #define ICEnroll3_get_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew) \
  1947. (This)->lpVtbl -> get_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew)
  1948. #define ICEnroll3_put_HashAlgID(This,hashAlgID) \
  1949. (This)->lpVtbl -> put_HashAlgID(This,hashAlgID)
  1950. #define ICEnroll3_get_HashAlgID(This,hashAlgID) \
  1951. (This)->lpVtbl -> get_HashAlgID(This,hashAlgID)
  1952. #define ICEnroll3_put_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment) \
  1953. (This)->lpVtbl -> put_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment)
  1954. #define ICEnroll3_get_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment) \
  1955. (This)->lpVtbl -> get_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment)
  1956. #define ICEnroll3_put_EnableSMIMECapabilities(This,fEnableSMIMECapabilities) \
  1957. (This)->lpVtbl -> put_EnableSMIMECapabilities(This,fEnableSMIMECapabilities)
  1958. #define ICEnroll3_get_EnableSMIMECapabilities(This,fEnableSMIMECapabilities) \
  1959. (This)->lpVtbl -> get_EnableSMIMECapabilities(This,fEnableSMIMECapabilities)
  1960. #endif /* COBJMACROS */
  1961. #endif /* C style interface */
  1962. HRESULT STDMETHODCALLTYPE ICEnroll3_InstallPKCS7_Proxy(
  1963. ICEnroll3 * This,
  1964. /* [in] */ BSTR PKCS7);
  1965. void __RPC_STUB ICEnroll3_InstallPKCS7_Stub(
  1966. IRpcStubBuffer *This,
  1967. IRpcChannelBuffer *_pRpcChannelBuffer,
  1968. PRPC_MESSAGE _pRpcMessage,
  1969. DWORD *_pdwStubPhase);
  1970. HRESULT STDMETHODCALLTYPE ICEnroll3_Reset_Proxy(
  1971. ICEnroll3 * This);
  1972. void __RPC_STUB ICEnroll3_Reset_Stub(
  1973. IRpcStubBuffer *This,
  1974. IRpcChannelBuffer *_pRpcChannelBuffer,
  1975. PRPC_MESSAGE _pRpcMessage,
  1976. DWORD *_pdwStubPhase);
  1977. HRESULT STDMETHODCALLTYPE ICEnroll3_GetSupportedKeySpec_Proxy(
  1978. ICEnroll3 * This,
  1979. /* [retval][out] */ LONG *pdwKeySpec);
  1980. void __RPC_STUB ICEnroll3_GetSupportedKeySpec_Stub(
  1981. IRpcStubBuffer *This,
  1982. IRpcChannelBuffer *_pRpcChannelBuffer,
  1983. PRPC_MESSAGE _pRpcMessage,
  1984. DWORD *_pdwStubPhase);
  1985. HRESULT STDMETHODCALLTYPE ICEnroll3_GetKeyLen_Proxy(
  1986. ICEnroll3 * This,
  1987. /* [in] */ BOOL fMin,
  1988. /* [in] */ BOOL fExchange,
  1989. /* [retval][out] */ LONG *pdwKeySize);
  1990. void __RPC_STUB ICEnroll3_GetKeyLen_Stub(
  1991. IRpcStubBuffer *This,
  1992. IRpcChannelBuffer *_pRpcChannelBuffer,
  1993. PRPC_MESSAGE _pRpcMessage,
  1994. DWORD *_pdwStubPhase);
  1995. HRESULT STDMETHODCALLTYPE ICEnroll3_EnumAlgs_Proxy(
  1996. ICEnroll3 * This,
  1997. /* [in] */ LONG dwIndex,
  1998. /* [in] */ LONG algClass,
  1999. /* [retval][out] */ LONG *pdwAlgID);
  2000. void __RPC_STUB ICEnroll3_EnumAlgs_Stub(
  2001. IRpcStubBuffer *This,
  2002. IRpcChannelBuffer *_pRpcChannelBuffer,
  2003. PRPC_MESSAGE _pRpcMessage,
  2004. DWORD *_pdwStubPhase);
  2005. HRESULT STDMETHODCALLTYPE ICEnroll3_GetAlgName_Proxy(
  2006. ICEnroll3 * This,
  2007. /* [in] */ LONG algID,
  2008. /* [retval][out] */ BSTR *pbstr);
  2009. void __RPC_STUB ICEnroll3_GetAlgName_Stub(
  2010. IRpcStubBuffer *This,
  2011. IRpcChannelBuffer *_pRpcChannelBuffer,
  2012. PRPC_MESSAGE _pRpcMessage,
  2013. DWORD *_pdwStubPhase);
  2014. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll3_put_ReuseHardwareKeyIfUnableToGenNew_Proxy(
  2015. ICEnroll3 * This,
  2016. /* [in] */ BOOL fReuseHardwareKeyIfUnableToGenNew);
  2017. void __RPC_STUB ICEnroll3_put_ReuseHardwareKeyIfUnableToGenNew_Stub(
  2018. IRpcStubBuffer *This,
  2019. IRpcChannelBuffer *_pRpcChannelBuffer,
  2020. PRPC_MESSAGE _pRpcMessage,
  2021. DWORD *_pdwStubPhase);
  2022. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll3_get_ReuseHardwareKeyIfUnableToGenNew_Proxy(
  2023. ICEnroll3 * This,
  2024. /* [retval][out] */ BOOL *fReuseHardwareKeyIfUnableToGenNew);
  2025. void __RPC_STUB ICEnroll3_get_ReuseHardwareKeyIfUnableToGenNew_Stub(
  2026. IRpcStubBuffer *This,
  2027. IRpcChannelBuffer *_pRpcChannelBuffer,
  2028. PRPC_MESSAGE _pRpcMessage,
  2029. DWORD *_pdwStubPhase);
  2030. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll3_put_HashAlgID_Proxy(
  2031. ICEnroll3 * This,
  2032. /* [in] */ LONG hashAlgID);
  2033. void __RPC_STUB ICEnroll3_put_HashAlgID_Stub(
  2034. IRpcStubBuffer *This,
  2035. IRpcChannelBuffer *_pRpcChannelBuffer,
  2036. PRPC_MESSAGE _pRpcMessage,
  2037. DWORD *_pdwStubPhase);
  2038. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll3_get_HashAlgID_Proxy(
  2039. ICEnroll3 * This,
  2040. /* [retval][out] */ LONG *hashAlgID);
  2041. void __RPC_STUB ICEnroll3_get_HashAlgID_Stub(
  2042. IRpcStubBuffer *This,
  2043. IRpcChannelBuffer *_pRpcChannelBuffer,
  2044. PRPC_MESSAGE _pRpcMessage,
  2045. DWORD *_pdwStubPhase);
  2046. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll3_put_LimitExchangeKeyToEncipherment_Proxy(
  2047. ICEnroll3 * This,
  2048. /* [in] */ BOOL fLimitExchangeKeyToEncipherment);
  2049. void __RPC_STUB ICEnroll3_put_LimitExchangeKeyToEncipherment_Stub(
  2050. IRpcStubBuffer *This,
  2051. IRpcChannelBuffer *_pRpcChannelBuffer,
  2052. PRPC_MESSAGE _pRpcMessage,
  2053. DWORD *_pdwStubPhase);
  2054. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll3_get_LimitExchangeKeyToEncipherment_Proxy(
  2055. ICEnroll3 * This,
  2056. /* [retval][out] */ BOOL *fLimitExchangeKeyToEncipherment);
  2057. void __RPC_STUB ICEnroll3_get_LimitExchangeKeyToEncipherment_Stub(
  2058. IRpcStubBuffer *This,
  2059. IRpcChannelBuffer *_pRpcChannelBuffer,
  2060. PRPC_MESSAGE _pRpcMessage,
  2061. DWORD *_pdwStubPhase);
  2062. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll3_put_EnableSMIMECapabilities_Proxy(
  2063. ICEnroll3 * This,
  2064. /* [in] */ BOOL fEnableSMIMECapabilities);
  2065. void __RPC_STUB ICEnroll3_put_EnableSMIMECapabilities_Stub(
  2066. IRpcStubBuffer *This,
  2067. IRpcChannelBuffer *_pRpcChannelBuffer,
  2068. PRPC_MESSAGE _pRpcMessage,
  2069. DWORD *_pdwStubPhase);
  2070. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll3_get_EnableSMIMECapabilities_Proxy(
  2071. ICEnroll3 * This,
  2072. /* [retval][out] */ BOOL *fEnableSMIMECapabilities);
  2073. void __RPC_STUB ICEnroll3_get_EnableSMIMECapabilities_Stub(
  2074. IRpcStubBuffer *This,
  2075. IRpcChannelBuffer *_pRpcChannelBuffer,
  2076. PRPC_MESSAGE _pRpcMessage,
  2077. DWORD *_pdwStubPhase);
  2078. #endif /* __ICEnroll3_INTERFACE_DEFINED__ */
  2079. #ifndef __ICEnroll4_INTERFACE_DEFINED__
  2080. #define __ICEnroll4_INTERFACE_DEFINED__
  2081. /* interface ICEnroll4 */
  2082. /* [unique][helpstring][dual][uuid][object] */
  2083. EXTERN_C const IID IID_ICEnroll4;
  2084. #if defined(__cplusplus) && !defined(CINTERFACE)
  2085. MIDL_INTERFACE("c1f1188a-2eb5-4a80-841b-7e729a356d90")
  2086. ICEnroll4 : public ICEnroll3
  2087. {
  2088. public:
  2089. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PrivateKeyArchiveCertificate(
  2090. /* [in] */ BSTR bstrCert) = 0;
  2091. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PrivateKeyArchiveCertificate(
  2092. /* [retval][out] */ BSTR *pbstrCert) = 0;
  2093. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ThumbPrint(
  2094. /* [in] */ BSTR bstrThumbPrint) = 0;
  2095. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ThumbPrint(
  2096. /* [retval][out] */ BSTR *pbstrThumbPrint) = 0;
  2097. virtual HRESULT STDMETHODCALLTYPE binaryToString(
  2098. /* [in] */ LONG Flags,
  2099. /* [in] */ BSTR strBinary,
  2100. /* [retval][out] */ BSTR *pstrEncoded) = 0;
  2101. virtual HRESULT STDMETHODCALLTYPE stringToBinary(
  2102. /* [in] */ LONG Flags,
  2103. /* [in] */ BSTR strEncoded,
  2104. /* [retval][out] */ BSTR *pstrBinary) = 0;
  2105. virtual HRESULT STDMETHODCALLTYPE addExtensionToRequest(
  2106. /* [in] */ LONG Flags,
  2107. /* [in] */ BSTR strName,
  2108. /* [in] */ BSTR strValue) = 0;
  2109. virtual HRESULT STDMETHODCALLTYPE addAttributeToRequest(
  2110. /* [in] */ LONG Flags,
  2111. /* [in] */ BSTR strName,
  2112. /* [in] */ BSTR strValue) = 0;
  2113. virtual HRESULT STDMETHODCALLTYPE addNameValuePairToRequest(
  2114. /* [in] */ LONG Flags,
  2115. /* [in] */ BSTR strName,
  2116. /* [in] */ BSTR strValue) = 0;
  2117. virtual HRESULT STDMETHODCALLTYPE resetExtensions( void) = 0;
  2118. virtual HRESULT STDMETHODCALLTYPE resetAttributes( void) = 0;
  2119. virtual HRESULT STDMETHODCALLTYPE createRequest(
  2120. /* [in] */ LONG Flags,
  2121. /* [in] */ BSTR strDNName,
  2122. /* [in] */ BSTR Usage,
  2123. /* [retval][out] */ BSTR *pstrRequest) = 0;
  2124. virtual HRESULT STDMETHODCALLTYPE createFileRequest(
  2125. /* [in] */ LONG Flags,
  2126. /* [in] */ BSTR strDNName,
  2127. /* [in] */ BSTR strUsage,
  2128. /* [in] */ BSTR strRequestFileName) = 0;
  2129. virtual HRESULT STDMETHODCALLTYPE acceptResponse(
  2130. /* [in] */ BSTR strResponse) = 0;
  2131. virtual HRESULT STDMETHODCALLTYPE acceptFileResponse(
  2132. /* [in] */ BSTR strResponseFileName) = 0;
  2133. virtual HRESULT STDMETHODCALLTYPE getCertFromResponse(
  2134. /* [in] */ BSTR strResponse,
  2135. /* [retval][out] */ BSTR *pstrCert) = 0;
  2136. virtual HRESULT STDMETHODCALLTYPE getCertFromFileResponse(
  2137. /* [in] */ BSTR strResponseFileName,
  2138. /* [retval][out] */ BSTR *pstrCert) = 0;
  2139. virtual HRESULT STDMETHODCALLTYPE createPFX(
  2140. /* [in] */ BSTR strPassword,
  2141. /* [retval][out] */ BSTR *pstrPFX) = 0;
  2142. virtual HRESULT STDMETHODCALLTYPE createFilePFX(
  2143. /* [in] */ BSTR strPassword,
  2144. /* [in] */ BSTR strPFXFileName) = 0;
  2145. virtual HRESULT STDMETHODCALLTYPE setPendingRequestInfo(
  2146. /* [in] */ LONG lRequestID,
  2147. /* [in] */ BSTR strCADNS,
  2148. /* [in] */ BSTR strCAName,
  2149. /* [in] */ BSTR strFriendlyName) = 0;
  2150. virtual HRESULT STDMETHODCALLTYPE enumPendingRequest(
  2151. /* [in] */ LONG lIndex,
  2152. /* [in] */ LONG lDesiredProperty,
  2153. /* [retval][out] */ VARIANT *pvarProperty) = 0;
  2154. virtual HRESULT STDMETHODCALLTYPE removePendingRequest(
  2155. /* [in] */ BSTR strThumbprint) = 0;
  2156. virtual HRESULT STDMETHODCALLTYPE GetKeyLenEx(
  2157. /* [in] */ LONG lSizeSpec,
  2158. /* [in] */ LONG lKeySpec,
  2159. /* [retval][out] */ LONG *pdwKeySize) = 0;
  2160. virtual HRESULT STDMETHODCALLTYPE InstallPKCS7Ex(
  2161. /* [in] */ BSTR PKCS7,
  2162. /* [retval][out] */ LONG *plCertInstalled) = 0;
  2163. virtual HRESULT STDMETHODCALLTYPE addCertTypeToRequestEx(
  2164. /* [in] */ LONG lType,
  2165. /* [in] */ BSTR bstrOIDOrName,
  2166. /* [in] */ LONG lMajorVersion,
  2167. /* [in] */ BOOL fMinorVersion,
  2168. /* [in] */ LONG lMinorVersion) = 0;
  2169. virtual HRESULT STDMETHODCALLTYPE getProviderType(
  2170. /* [in] */ BSTR strProvName,
  2171. /* [retval][out] */ LONG *plProvType) = 0;
  2172. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SignerCertificate(
  2173. /* [in] */ BSTR bstrCert) = 0;
  2174. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ClientId(
  2175. /* [in] */ LONG lClientId) = 0;
  2176. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ClientId(
  2177. /* [retval][out] */ LONG *plClientId) = 0;
  2178. virtual HRESULT STDMETHODCALLTYPE addBlobPropertyToCertificate(
  2179. /* [in] */ LONG lPropertyId,
  2180. /* [in] */ LONG lReserved,
  2181. /* [in] */ BSTR bstrProperty) = 0;
  2182. virtual HRESULT STDMETHODCALLTYPE resetBlobProperties( void) = 0;
  2183. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IncludeSubjectKeyID(
  2184. /* [in] */ BOOL fInclude) = 0;
  2185. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IncludeSubjectKeyID(
  2186. /* [retval][out] */ BOOL *pfInclude) = 0;
  2187. };
  2188. #else /* C style interface */
  2189. typedef struct ICEnroll4Vtbl
  2190. {
  2191. BEGIN_INTERFACE
  2192. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2193. ICEnroll4 * This,
  2194. /* [in] */ REFIID riid,
  2195. /* [iid_is][out] */ void **ppvObject);
  2196. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2197. ICEnroll4 * This);
  2198. ULONG ( STDMETHODCALLTYPE *Release )(
  2199. ICEnroll4 * This);
  2200. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  2201. ICEnroll4 * This,
  2202. /* [out] */ UINT *pctinfo);
  2203. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  2204. ICEnroll4 * This,
  2205. /* [in] */ UINT iTInfo,
  2206. /* [in] */ LCID lcid,
  2207. /* [out] */ ITypeInfo **ppTInfo);
  2208. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  2209. ICEnroll4 * This,
  2210. /* [in] */ REFIID riid,
  2211. /* [size_is][in] */ LPOLESTR *rgszNames,
  2212. /* [in] */ UINT cNames,
  2213. /* [in] */ LCID lcid,
  2214. /* [size_is][out] */ DISPID *rgDispId);
  2215. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  2216. ICEnroll4 * This,
  2217. /* [in] */ DISPID dispIdMember,
  2218. /* [in] */ REFIID riid,
  2219. /* [in] */ LCID lcid,
  2220. /* [in] */ WORD wFlags,
  2221. /* [out][in] */ DISPPARAMS *pDispParams,
  2222. /* [out] */ VARIANT *pVarResult,
  2223. /* [out] */ EXCEPINFO *pExcepInfo,
  2224. /* [out] */ UINT *puArgErr);
  2225. HRESULT ( STDMETHODCALLTYPE *createFilePKCS10 )(
  2226. ICEnroll4 * This,
  2227. /* [in] */ BSTR DNName,
  2228. /* [in] */ BSTR Usage,
  2229. /* [in] */ BSTR wszPKCS10FileName);
  2230. HRESULT ( STDMETHODCALLTYPE *acceptFilePKCS7 )(
  2231. ICEnroll4 * This,
  2232. /* [in] */ BSTR wszPKCS7FileName);
  2233. HRESULT ( STDMETHODCALLTYPE *createPKCS10 )(
  2234. ICEnroll4 * This,
  2235. /* [in] */ BSTR DNName,
  2236. /* [in] */ BSTR Usage,
  2237. /* [retval][out] */ BSTR *pPKCS10);
  2238. HRESULT ( STDMETHODCALLTYPE *acceptPKCS7 )(
  2239. ICEnroll4 * This,
  2240. /* [in] */ BSTR PKCS7);
  2241. HRESULT ( STDMETHODCALLTYPE *getCertFromPKCS7 )(
  2242. ICEnroll4 * This,
  2243. /* [in] */ BSTR wszPKCS7,
  2244. /* [retval][out] */ BSTR *pbstrCert);
  2245. HRESULT ( STDMETHODCALLTYPE *enumProviders )(
  2246. ICEnroll4 * This,
  2247. /* [in] */ LONG dwIndex,
  2248. /* [in] */ LONG dwFlags,
  2249. /* [retval][out] */ BSTR *pbstrProvName);
  2250. HRESULT ( STDMETHODCALLTYPE *enumContainers )(
  2251. ICEnroll4 * This,
  2252. /* [in] */ LONG dwIndex,
  2253. /* [retval][out] */ BSTR *pbstr);
  2254. HRESULT ( STDMETHODCALLTYPE *freeRequestInfo )(
  2255. ICEnroll4 * This,
  2256. /* [in] */ BSTR PKCS7OrPKCS10);
  2257. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreName )(
  2258. ICEnroll4 * This,
  2259. /* [retval][out] */ BSTR *pbstrName);
  2260. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreName )(
  2261. ICEnroll4 * This,
  2262. /* [in] */ BSTR bstrName);
  2263. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreType )(
  2264. ICEnroll4 * This,
  2265. /* [retval][out] */ BSTR *pbstrType);
  2266. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreType )(
  2267. ICEnroll4 * This,
  2268. /* [in] */ BSTR bstrType);
  2269. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreFlags )(
  2270. ICEnroll4 * This,
  2271. /* [retval][out] */ LONG *pdwFlags);
  2272. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreFlags )(
  2273. ICEnroll4 * This,
  2274. /* [in] */ LONG dwFlags);
  2275. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreName )(
  2276. ICEnroll4 * This,
  2277. /* [retval][out] */ BSTR *pbstrName);
  2278. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreName )(
  2279. ICEnroll4 * This,
  2280. /* [in] */ BSTR bstrName);
  2281. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreType )(
  2282. ICEnroll4 * This,
  2283. /* [retval][out] */ BSTR *pbstrType);
  2284. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreType )(
  2285. ICEnroll4 * This,
  2286. /* [in] */ BSTR bstrType);
  2287. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreFlags )(
  2288. ICEnroll4 * This,
  2289. /* [retval][out] */ LONG *pdwFlags);
  2290. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreFlags )(
  2291. ICEnroll4 * This,
  2292. /* [in] */ LONG dwFlags);
  2293. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreName )(
  2294. ICEnroll4 * This,
  2295. /* [retval][out] */ BSTR *pbstrName);
  2296. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreName )(
  2297. ICEnroll4 * This,
  2298. /* [in] */ BSTR bstrName);
  2299. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreType )(
  2300. ICEnroll4 * This,
  2301. /* [retval][out] */ BSTR *pbstrType);
  2302. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreType )(
  2303. ICEnroll4 * This,
  2304. /* [in] */ BSTR bstrType);
  2305. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreFlags )(
  2306. ICEnroll4 * This,
  2307. /* [retval][out] */ LONG *pdwFlags);
  2308. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreFlags )(
  2309. ICEnroll4 * This,
  2310. /* [in] */ LONG dwFlags);
  2311. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreName )(
  2312. ICEnroll4 * This,
  2313. /* [retval][out] */ BSTR *pbstrName);
  2314. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreName )(
  2315. ICEnroll4 * This,
  2316. /* [in] */ BSTR bstrName);
  2317. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreType )(
  2318. ICEnroll4 * This,
  2319. /* [retval][out] */ BSTR *pbstrType);
  2320. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreType )(
  2321. ICEnroll4 * This,
  2322. /* [in] */ BSTR bstrType);
  2323. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreFlags )(
  2324. ICEnroll4 * This,
  2325. /* [retval][out] */ LONG *pdwFlags);
  2326. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreFlags )(
  2327. ICEnroll4 * This,
  2328. /* [in] */ LONG dwFlags);
  2329. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainerName )(
  2330. ICEnroll4 * This,
  2331. /* [retval][out] */ BSTR *pbstrContainer);
  2332. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ContainerName )(
  2333. ICEnroll4 * This,
  2334. /* [in] */ BSTR bstrContainer);
  2335. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderName )(
  2336. ICEnroll4 * This,
  2337. /* [retval][out] */ BSTR *pbstrProvider);
  2338. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderName )(
  2339. ICEnroll4 * This,
  2340. /* [in] */ BSTR bstrProvider);
  2341. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderType )(
  2342. ICEnroll4 * This,
  2343. /* [retval][out] */ LONG *pdwType);
  2344. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderType )(
  2345. ICEnroll4 * This,
  2346. /* [in] */ LONG dwType);
  2347. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeySpec )(
  2348. ICEnroll4 * This,
  2349. /* [retval][out] */ LONG *pdw);
  2350. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_KeySpec )(
  2351. ICEnroll4 * This,
  2352. /* [in] */ LONG dw);
  2353. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderFlags )(
  2354. ICEnroll4 * This,
  2355. /* [retval][out] */ LONG *pdwFlags);
  2356. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderFlags )(
  2357. ICEnroll4 * This,
  2358. /* [in] */ LONG dwFlags);
  2359. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UseExistingKeySet )(
  2360. ICEnroll4 * This,
  2361. /* [retval][out] */ BOOL *fUseExistingKeys);
  2362. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UseExistingKeySet )(
  2363. ICEnroll4 * This,
  2364. /* [in] */ BOOL fUseExistingKeys);
  2365. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GenKeyFlags )(
  2366. ICEnroll4 * This,
  2367. /* [retval][out] */ LONG *pdwFlags);
  2368. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_GenKeyFlags )(
  2369. ICEnroll4 * This,
  2370. /* [in] */ LONG dwFlags);
  2371. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DeleteRequestCert )(
  2372. ICEnroll4 * This,
  2373. /* [retval][out] */ BOOL *fDelete);
  2374. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DeleteRequestCert )(
  2375. ICEnroll4 * This,
  2376. /* [in] */ BOOL fDelete);
  2377. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WriteCertToCSP )(
  2378. ICEnroll4 * This,
  2379. /* [retval][out] */ BOOL *fBool);
  2380. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_WriteCertToCSP )(
  2381. ICEnroll4 * This,
  2382. /* [in] */ BOOL fBool);
  2383. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SPCFileName )(
  2384. ICEnroll4 * This,
  2385. /* [retval][out] */ BSTR *pbstr);
  2386. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SPCFileName )(
  2387. ICEnroll4 * This,
  2388. /* [in] */ BSTR bstr);
  2389. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PVKFileName )(
  2390. ICEnroll4 * This,
  2391. /* [retval][out] */ BSTR *pbstr);
  2392. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PVKFileName )(
  2393. ICEnroll4 * This,
  2394. /* [in] */ BSTR bstr);
  2395. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HashAlgorithm )(
  2396. ICEnroll4 * This,
  2397. /* [retval][out] */ BSTR *pbstr);
  2398. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HashAlgorithm )(
  2399. ICEnroll4 * This,
  2400. /* [in] */ BSTR bstr);
  2401. HRESULT ( STDMETHODCALLTYPE *addCertTypeToRequest )(
  2402. ICEnroll4 * This,
  2403. /* [in] */ BSTR CertType);
  2404. HRESULT ( STDMETHODCALLTYPE *addNameValuePairToSignature )(
  2405. ICEnroll4 * This,
  2406. /* [in] */ BSTR Name,
  2407. /* [in] */ BSTR Value);
  2408. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WriteCertToUserDS )(
  2409. ICEnroll4 * This,
  2410. /* [retval][out] */ BOOL *fBool);
  2411. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_WriteCertToUserDS )(
  2412. ICEnroll4 * This,
  2413. /* [in] */ BOOL fBool);
  2414. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnableT61DNEncoding )(
  2415. ICEnroll4 * This,
  2416. /* [retval][out] */ BOOL *fBool);
  2417. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnableT61DNEncoding )(
  2418. ICEnroll4 * This,
  2419. /* [in] */ BOOL fBool);
  2420. HRESULT ( STDMETHODCALLTYPE *InstallPKCS7 )(
  2421. ICEnroll4 * This,
  2422. /* [in] */ BSTR PKCS7);
  2423. HRESULT ( STDMETHODCALLTYPE *Reset )(
  2424. ICEnroll4 * This);
  2425. HRESULT ( STDMETHODCALLTYPE *GetSupportedKeySpec )(
  2426. ICEnroll4 * This,
  2427. /* [retval][out] */ LONG *pdwKeySpec);
  2428. HRESULT ( STDMETHODCALLTYPE *GetKeyLen )(
  2429. ICEnroll4 * This,
  2430. /* [in] */ BOOL fMin,
  2431. /* [in] */ BOOL fExchange,
  2432. /* [retval][out] */ LONG *pdwKeySize);
  2433. HRESULT ( STDMETHODCALLTYPE *EnumAlgs )(
  2434. ICEnroll4 * This,
  2435. /* [in] */ LONG dwIndex,
  2436. /* [in] */ LONG algClass,
  2437. /* [retval][out] */ LONG *pdwAlgID);
  2438. HRESULT ( STDMETHODCALLTYPE *GetAlgName )(
  2439. ICEnroll4 * This,
  2440. /* [in] */ LONG algID,
  2441. /* [retval][out] */ BSTR *pbstr);
  2442. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ReuseHardwareKeyIfUnableToGenNew )(
  2443. ICEnroll4 * This,
  2444. /* [in] */ BOOL fReuseHardwareKeyIfUnableToGenNew);
  2445. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReuseHardwareKeyIfUnableToGenNew )(
  2446. ICEnroll4 * This,
  2447. /* [retval][out] */ BOOL *fReuseHardwareKeyIfUnableToGenNew);
  2448. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HashAlgID )(
  2449. ICEnroll4 * This,
  2450. /* [in] */ LONG hashAlgID);
  2451. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HashAlgID )(
  2452. ICEnroll4 * This,
  2453. /* [retval][out] */ LONG *hashAlgID);
  2454. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_LimitExchangeKeyToEncipherment )(
  2455. ICEnroll4 * This,
  2456. /* [in] */ BOOL fLimitExchangeKeyToEncipherment);
  2457. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LimitExchangeKeyToEncipherment )(
  2458. ICEnroll4 * This,
  2459. /* [retval][out] */ BOOL *fLimitExchangeKeyToEncipherment);
  2460. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnableSMIMECapabilities )(
  2461. ICEnroll4 * This,
  2462. /* [in] */ BOOL fEnableSMIMECapabilities);
  2463. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnableSMIMECapabilities )(
  2464. ICEnroll4 * This,
  2465. /* [retval][out] */ BOOL *fEnableSMIMECapabilities);
  2466. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PrivateKeyArchiveCertificate )(
  2467. ICEnroll4 * This,
  2468. /* [in] */ BSTR bstrCert);
  2469. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PrivateKeyArchiveCertificate )(
  2470. ICEnroll4 * This,
  2471. /* [retval][out] */ BSTR *pbstrCert);
  2472. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ThumbPrint )(
  2473. ICEnroll4 * This,
  2474. /* [in] */ BSTR bstrThumbPrint);
  2475. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ThumbPrint )(
  2476. ICEnroll4 * This,
  2477. /* [retval][out] */ BSTR *pbstrThumbPrint);
  2478. HRESULT ( STDMETHODCALLTYPE *binaryToString )(
  2479. ICEnroll4 * This,
  2480. /* [in] */ LONG Flags,
  2481. /* [in] */ BSTR strBinary,
  2482. /* [retval][out] */ BSTR *pstrEncoded);
  2483. HRESULT ( STDMETHODCALLTYPE *stringToBinary )(
  2484. ICEnroll4 * This,
  2485. /* [in] */ LONG Flags,
  2486. /* [in] */ BSTR strEncoded,
  2487. /* [retval][out] */ BSTR *pstrBinary);
  2488. HRESULT ( STDMETHODCALLTYPE *addExtensionToRequest )(
  2489. ICEnroll4 * This,
  2490. /* [in] */ LONG Flags,
  2491. /* [in] */ BSTR strName,
  2492. /* [in] */ BSTR strValue);
  2493. HRESULT ( STDMETHODCALLTYPE *addAttributeToRequest )(
  2494. ICEnroll4 * This,
  2495. /* [in] */ LONG Flags,
  2496. /* [in] */ BSTR strName,
  2497. /* [in] */ BSTR strValue);
  2498. HRESULT ( STDMETHODCALLTYPE *addNameValuePairToRequest )(
  2499. ICEnroll4 * This,
  2500. /* [in] */ LONG Flags,
  2501. /* [in] */ BSTR strName,
  2502. /* [in] */ BSTR strValue);
  2503. HRESULT ( STDMETHODCALLTYPE *resetExtensions )(
  2504. ICEnroll4 * This);
  2505. HRESULT ( STDMETHODCALLTYPE *resetAttributes )(
  2506. ICEnroll4 * This);
  2507. HRESULT ( STDMETHODCALLTYPE *createRequest )(
  2508. ICEnroll4 * This,
  2509. /* [in] */ LONG Flags,
  2510. /* [in] */ BSTR strDNName,
  2511. /* [in] */ BSTR Usage,
  2512. /* [retval][out] */ BSTR *pstrRequest);
  2513. HRESULT ( STDMETHODCALLTYPE *createFileRequest )(
  2514. ICEnroll4 * This,
  2515. /* [in] */ LONG Flags,
  2516. /* [in] */ BSTR strDNName,
  2517. /* [in] */ BSTR strUsage,
  2518. /* [in] */ BSTR strRequestFileName);
  2519. HRESULT ( STDMETHODCALLTYPE *acceptResponse )(
  2520. ICEnroll4 * This,
  2521. /* [in] */ BSTR strResponse);
  2522. HRESULT ( STDMETHODCALLTYPE *acceptFileResponse )(
  2523. ICEnroll4 * This,
  2524. /* [in] */ BSTR strResponseFileName);
  2525. HRESULT ( STDMETHODCALLTYPE *getCertFromResponse )(
  2526. ICEnroll4 * This,
  2527. /* [in] */ BSTR strResponse,
  2528. /* [retval][out] */ BSTR *pstrCert);
  2529. HRESULT ( STDMETHODCALLTYPE *getCertFromFileResponse )(
  2530. ICEnroll4 * This,
  2531. /* [in] */ BSTR strResponseFileName,
  2532. /* [retval][out] */ BSTR *pstrCert);
  2533. HRESULT ( STDMETHODCALLTYPE *createPFX )(
  2534. ICEnroll4 * This,
  2535. /* [in] */ BSTR strPassword,
  2536. /* [retval][out] */ BSTR *pstrPFX);
  2537. HRESULT ( STDMETHODCALLTYPE *createFilePFX )(
  2538. ICEnroll4 * This,
  2539. /* [in] */ BSTR strPassword,
  2540. /* [in] */ BSTR strPFXFileName);
  2541. HRESULT ( STDMETHODCALLTYPE *setPendingRequestInfo )(
  2542. ICEnroll4 * This,
  2543. /* [in] */ LONG lRequestID,
  2544. /* [in] */ BSTR strCADNS,
  2545. /* [in] */ BSTR strCAName,
  2546. /* [in] */ BSTR strFriendlyName);
  2547. HRESULT ( STDMETHODCALLTYPE *enumPendingRequest )(
  2548. ICEnroll4 * This,
  2549. /* [in] */ LONG lIndex,
  2550. /* [in] */ LONG lDesiredProperty,
  2551. /* [retval][out] */ VARIANT *pvarProperty);
  2552. HRESULT ( STDMETHODCALLTYPE *removePendingRequest )(
  2553. ICEnroll4 * This,
  2554. /* [in] */ BSTR strThumbprint);
  2555. HRESULT ( STDMETHODCALLTYPE *GetKeyLenEx )(
  2556. ICEnroll4 * This,
  2557. /* [in] */ LONG lSizeSpec,
  2558. /* [in] */ LONG lKeySpec,
  2559. /* [retval][out] */ LONG *pdwKeySize);
  2560. HRESULT ( STDMETHODCALLTYPE *InstallPKCS7Ex )(
  2561. ICEnroll4 * This,
  2562. /* [in] */ BSTR PKCS7,
  2563. /* [retval][out] */ LONG *plCertInstalled);
  2564. HRESULT ( STDMETHODCALLTYPE *addCertTypeToRequestEx )(
  2565. ICEnroll4 * This,
  2566. /* [in] */ LONG lType,
  2567. /* [in] */ BSTR bstrOIDOrName,
  2568. /* [in] */ LONG lMajorVersion,
  2569. /* [in] */ BOOL fMinorVersion,
  2570. /* [in] */ LONG lMinorVersion);
  2571. HRESULT ( STDMETHODCALLTYPE *getProviderType )(
  2572. ICEnroll4 * This,
  2573. /* [in] */ BSTR strProvName,
  2574. /* [retval][out] */ LONG *plProvType);
  2575. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SignerCertificate )(
  2576. ICEnroll4 * This,
  2577. /* [in] */ BSTR bstrCert);
  2578. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClientId )(
  2579. ICEnroll4 * This,
  2580. /* [in] */ LONG lClientId);
  2581. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClientId )(
  2582. ICEnroll4 * This,
  2583. /* [retval][out] */ LONG *plClientId);
  2584. HRESULT ( STDMETHODCALLTYPE *addBlobPropertyToCertificate )(
  2585. ICEnroll4 * This,
  2586. /* [in] */ LONG lPropertyId,
  2587. /* [in] */ LONG lReserved,
  2588. /* [in] */ BSTR bstrProperty);
  2589. HRESULT ( STDMETHODCALLTYPE *resetBlobProperties )(
  2590. ICEnroll4 * This);
  2591. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IncludeSubjectKeyID )(
  2592. ICEnroll4 * This,
  2593. /* [in] */ BOOL fInclude);
  2594. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IncludeSubjectKeyID )(
  2595. ICEnroll4 * This,
  2596. /* [retval][out] */ BOOL *pfInclude);
  2597. END_INTERFACE
  2598. } ICEnroll4Vtbl;
  2599. interface ICEnroll4
  2600. {
  2601. CONST_VTBL struct ICEnroll4Vtbl *lpVtbl;
  2602. };
  2603. #ifdef COBJMACROS
  2604. #define ICEnroll4_QueryInterface(This,riid,ppvObject) \
  2605. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2606. #define ICEnroll4_AddRef(This) \
  2607. (This)->lpVtbl -> AddRef(This)
  2608. #define ICEnroll4_Release(This) \
  2609. (This)->lpVtbl -> Release(This)
  2610. #define ICEnroll4_GetTypeInfoCount(This,pctinfo) \
  2611. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2612. #define ICEnroll4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  2613. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2614. #define ICEnroll4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  2615. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2616. #define ICEnroll4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  2617. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2618. #define ICEnroll4_createFilePKCS10(This,DNName,Usage,wszPKCS10FileName) \
  2619. (This)->lpVtbl -> createFilePKCS10(This,DNName,Usage,wszPKCS10FileName)
  2620. #define ICEnroll4_acceptFilePKCS7(This,wszPKCS7FileName) \
  2621. (This)->lpVtbl -> acceptFilePKCS7(This,wszPKCS7FileName)
  2622. #define ICEnroll4_createPKCS10(This,DNName,Usage,pPKCS10) \
  2623. (This)->lpVtbl -> createPKCS10(This,DNName,Usage,pPKCS10)
  2624. #define ICEnroll4_acceptPKCS7(This,PKCS7) \
  2625. (This)->lpVtbl -> acceptPKCS7(This,PKCS7)
  2626. #define ICEnroll4_getCertFromPKCS7(This,wszPKCS7,pbstrCert) \
  2627. (This)->lpVtbl -> getCertFromPKCS7(This,wszPKCS7,pbstrCert)
  2628. #define ICEnroll4_enumProviders(This,dwIndex,dwFlags,pbstrProvName) \
  2629. (This)->lpVtbl -> enumProviders(This,dwIndex,dwFlags,pbstrProvName)
  2630. #define ICEnroll4_enumContainers(This,dwIndex,pbstr) \
  2631. (This)->lpVtbl -> enumContainers(This,dwIndex,pbstr)
  2632. #define ICEnroll4_freeRequestInfo(This,PKCS7OrPKCS10) \
  2633. (This)->lpVtbl -> freeRequestInfo(This,PKCS7OrPKCS10)
  2634. #define ICEnroll4_get_MyStoreName(This,pbstrName) \
  2635. (This)->lpVtbl -> get_MyStoreName(This,pbstrName)
  2636. #define ICEnroll4_put_MyStoreName(This,bstrName) \
  2637. (This)->lpVtbl -> put_MyStoreName(This,bstrName)
  2638. #define ICEnroll4_get_MyStoreType(This,pbstrType) \
  2639. (This)->lpVtbl -> get_MyStoreType(This,pbstrType)
  2640. #define ICEnroll4_put_MyStoreType(This,bstrType) \
  2641. (This)->lpVtbl -> put_MyStoreType(This,bstrType)
  2642. #define ICEnroll4_get_MyStoreFlags(This,pdwFlags) \
  2643. (This)->lpVtbl -> get_MyStoreFlags(This,pdwFlags)
  2644. #define ICEnroll4_put_MyStoreFlags(This,dwFlags) \
  2645. (This)->lpVtbl -> put_MyStoreFlags(This,dwFlags)
  2646. #define ICEnroll4_get_CAStoreName(This,pbstrName) \
  2647. (This)->lpVtbl -> get_CAStoreName(This,pbstrName)
  2648. #define ICEnroll4_put_CAStoreName(This,bstrName) \
  2649. (This)->lpVtbl -> put_CAStoreName(This,bstrName)
  2650. #define ICEnroll4_get_CAStoreType(This,pbstrType) \
  2651. (This)->lpVtbl -> get_CAStoreType(This,pbstrType)
  2652. #define ICEnroll4_put_CAStoreType(This,bstrType) \
  2653. (This)->lpVtbl -> put_CAStoreType(This,bstrType)
  2654. #define ICEnroll4_get_CAStoreFlags(This,pdwFlags) \
  2655. (This)->lpVtbl -> get_CAStoreFlags(This,pdwFlags)
  2656. #define ICEnroll4_put_CAStoreFlags(This,dwFlags) \
  2657. (This)->lpVtbl -> put_CAStoreFlags(This,dwFlags)
  2658. #define ICEnroll4_get_RootStoreName(This,pbstrName) \
  2659. (This)->lpVtbl -> get_RootStoreName(This,pbstrName)
  2660. #define ICEnroll4_put_RootStoreName(This,bstrName) \
  2661. (This)->lpVtbl -> put_RootStoreName(This,bstrName)
  2662. #define ICEnroll4_get_RootStoreType(This,pbstrType) \
  2663. (This)->lpVtbl -> get_RootStoreType(This,pbstrType)
  2664. #define ICEnroll4_put_RootStoreType(This,bstrType) \
  2665. (This)->lpVtbl -> put_RootStoreType(This,bstrType)
  2666. #define ICEnroll4_get_RootStoreFlags(This,pdwFlags) \
  2667. (This)->lpVtbl -> get_RootStoreFlags(This,pdwFlags)
  2668. #define ICEnroll4_put_RootStoreFlags(This,dwFlags) \
  2669. (This)->lpVtbl -> put_RootStoreFlags(This,dwFlags)
  2670. #define ICEnroll4_get_RequestStoreName(This,pbstrName) \
  2671. (This)->lpVtbl -> get_RequestStoreName(This,pbstrName)
  2672. #define ICEnroll4_put_RequestStoreName(This,bstrName) \
  2673. (This)->lpVtbl -> put_RequestStoreName(This,bstrName)
  2674. #define ICEnroll4_get_RequestStoreType(This,pbstrType) \
  2675. (This)->lpVtbl -> get_RequestStoreType(This,pbstrType)
  2676. #define ICEnroll4_put_RequestStoreType(This,bstrType) \
  2677. (This)->lpVtbl -> put_RequestStoreType(This,bstrType)
  2678. #define ICEnroll4_get_RequestStoreFlags(This,pdwFlags) \
  2679. (This)->lpVtbl -> get_RequestStoreFlags(This,pdwFlags)
  2680. #define ICEnroll4_put_RequestStoreFlags(This,dwFlags) \
  2681. (This)->lpVtbl -> put_RequestStoreFlags(This,dwFlags)
  2682. #define ICEnroll4_get_ContainerName(This,pbstrContainer) \
  2683. (This)->lpVtbl -> get_ContainerName(This,pbstrContainer)
  2684. #define ICEnroll4_put_ContainerName(This,bstrContainer) \
  2685. (This)->lpVtbl -> put_ContainerName(This,bstrContainer)
  2686. #define ICEnroll4_get_ProviderName(This,pbstrProvider) \
  2687. (This)->lpVtbl -> get_ProviderName(This,pbstrProvider)
  2688. #define ICEnroll4_put_ProviderName(This,bstrProvider) \
  2689. (This)->lpVtbl -> put_ProviderName(This,bstrProvider)
  2690. #define ICEnroll4_get_ProviderType(This,pdwType) \
  2691. (This)->lpVtbl -> get_ProviderType(This,pdwType)
  2692. #define ICEnroll4_put_ProviderType(This,dwType) \
  2693. (This)->lpVtbl -> put_ProviderType(This,dwType)
  2694. #define ICEnroll4_get_KeySpec(This,pdw) \
  2695. (This)->lpVtbl -> get_KeySpec(This,pdw)
  2696. #define ICEnroll4_put_KeySpec(This,dw) \
  2697. (This)->lpVtbl -> put_KeySpec(This,dw)
  2698. #define ICEnroll4_get_ProviderFlags(This,pdwFlags) \
  2699. (This)->lpVtbl -> get_ProviderFlags(This,pdwFlags)
  2700. #define ICEnroll4_put_ProviderFlags(This,dwFlags) \
  2701. (This)->lpVtbl -> put_ProviderFlags(This,dwFlags)
  2702. #define ICEnroll4_get_UseExistingKeySet(This,fUseExistingKeys) \
  2703. (This)->lpVtbl -> get_UseExistingKeySet(This,fUseExistingKeys)
  2704. #define ICEnroll4_put_UseExistingKeySet(This,fUseExistingKeys) \
  2705. (This)->lpVtbl -> put_UseExistingKeySet(This,fUseExistingKeys)
  2706. #define ICEnroll4_get_GenKeyFlags(This,pdwFlags) \
  2707. (This)->lpVtbl -> get_GenKeyFlags(This,pdwFlags)
  2708. #define ICEnroll4_put_GenKeyFlags(This,dwFlags) \
  2709. (This)->lpVtbl -> put_GenKeyFlags(This,dwFlags)
  2710. #define ICEnroll4_get_DeleteRequestCert(This,fDelete) \
  2711. (This)->lpVtbl -> get_DeleteRequestCert(This,fDelete)
  2712. #define ICEnroll4_put_DeleteRequestCert(This,fDelete) \
  2713. (This)->lpVtbl -> put_DeleteRequestCert(This,fDelete)
  2714. #define ICEnroll4_get_WriteCertToCSP(This,fBool) \
  2715. (This)->lpVtbl -> get_WriteCertToCSP(This,fBool)
  2716. #define ICEnroll4_put_WriteCertToCSP(This,fBool) \
  2717. (This)->lpVtbl -> put_WriteCertToCSP(This,fBool)
  2718. #define ICEnroll4_get_SPCFileName(This,pbstr) \
  2719. (This)->lpVtbl -> get_SPCFileName(This,pbstr)
  2720. #define ICEnroll4_put_SPCFileName(This,bstr) \
  2721. (This)->lpVtbl -> put_SPCFileName(This,bstr)
  2722. #define ICEnroll4_get_PVKFileName(This,pbstr) \
  2723. (This)->lpVtbl -> get_PVKFileName(This,pbstr)
  2724. #define ICEnroll4_put_PVKFileName(This,bstr) \
  2725. (This)->lpVtbl -> put_PVKFileName(This,bstr)
  2726. #define ICEnroll4_get_HashAlgorithm(This,pbstr) \
  2727. (This)->lpVtbl -> get_HashAlgorithm(This,pbstr)
  2728. #define ICEnroll4_put_HashAlgorithm(This,bstr) \
  2729. (This)->lpVtbl -> put_HashAlgorithm(This,bstr)
  2730. #define ICEnroll4_addCertTypeToRequest(This,CertType) \
  2731. (This)->lpVtbl -> addCertTypeToRequest(This,CertType)
  2732. #define ICEnroll4_addNameValuePairToSignature(This,Name,Value) \
  2733. (This)->lpVtbl -> addNameValuePairToSignature(This,Name,Value)
  2734. #define ICEnroll4_get_WriteCertToUserDS(This,fBool) \
  2735. (This)->lpVtbl -> get_WriteCertToUserDS(This,fBool)
  2736. #define ICEnroll4_put_WriteCertToUserDS(This,fBool) \
  2737. (This)->lpVtbl -> put_WriteCertToUserDS(This,fBool)
  2738. #define ICEnroll4_get_EnableT61DNEncoding(This,fBool) \
  2739. (This)->lpVtbl -> get_EnableT61DNEncoding(This,fBool)
  2740. #define ICEnroll4_put_EnableT61DNEncoding(This,fBool) \
  2741. (This)->lpVtbl -> put_EnableT61DNEncoding(This,fBool)
  2742. #define ICEnroll4_InstallPKCS7(This,PKCS7) \
  2743. (This)->lpVtbl -> InstallPKCS7(This,PKCS7)
  2744. #define ICEnroll4_Reset(This) \
  2745. (This)->lpVtbl -> Reset(This)
  2746. #define ICEnroll4_GetSupportedKeySpec(This,pdwKeySpec) \
  2747. (This)->lpVtbl -> GetSupportedKeySpec(This,pdwKeySpec)
  2748. #define ICEnroll4_GetKeyLen(This,fMin,fExchange,pdwKeySize) \
  2749. (This)->lpVtbl -> GetKeyLen(This,fMin,fExchange,pdwKeySize)
  2750. #define ICEnroll4_EnumAlgs(This,dwIndex,algClass,pdwAlgID) \
  2751. (This)->lpVtbl -> EnumAlgs(This,dwIndex,algClass,pdwAlgID)
  2752. #define ICEnroll4_GetAlgName(This,algID,pbstr) \
  2753. (This)->lpVtbl -> GetAlgName(This,algID,pbstr)
  2754. #define ICEnroll4_put_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew) \
  2755. (This)->lpVtbl -> put_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew)
  2756. #define ICEnroll4_get_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew) \
  2757. (This)->lpVtbl -> get_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew)
  2758. #define ICEnroll4_put_HashAlgID(This,hashAlgID) \
  2759. (This)->lpVtbl -> put_HashAlgID(This,hashAlgID)
  2760. #define ICEnroll4_get_HashAlgID(This,hashAlgID) \
  2761. (This)->lpVtbl -> get_HashAlgID(This,hashAlgID)
  2762. #define ICEnroll4_put_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment) \
  2763. (This)->lpVtbl -> put_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment)
  2764. #define ICEnroll4_get_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment) \
  2765. (This)->lpVtbl -> get_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment)
  2766. #define ICEnroll4_put_EnableSMIMECapabilities(This,fEnableSMIMECapabilities) \
  2767. (This)->lpVtbl -> put_EnableSMIMECapabilities(This,fEnableSMIMECapabilities)
  2768. #define ICEnroll4_get_EnableSMIMECapabilities(This,fEnableSMIMECapabilities) \
  2769. (This)->lpVtbl -> get_EnableSMIMECapabilities(This,fEnableSMIMECapabilities)
  2770. #define ICEnroll4_put_PrivateKeyArchiveCertificate(This,bstrCert) \
  2771. (This)->lpVtbl -> put_PrivateKeyArchiveCertificate(This,bstrCert)
  2772. #define ICEnroll4_get_PrivateKeyArchiveCertificate(This,pbstrCert) \
  2773. (This)->lpVtbl -> get_PrivateKeyArchiveCertificate(This,pbstrCert)
  2774. #define ICEnroll4_put_ThumbPrint(This,bstrThumbPrint) \
  2775. (This)->lpVtbl -> put_ThumbPrint(This,bstrThumbPrint)
  2776. #define ICEnroll4_get_ThumbPrint(This,pbstrThumbPrint) \
  2777. (This)->lpVtbl -> get_ThumbPrint(This,pbstrThumbPrint)
  2778. #define ICEnroll4_binaryToString(This,Flags,strBinary,pstrEncoded) \
  2779. (This)->lpVtbl -> binaryToString(This,Flags,strBinary,pstrEncoded)
  2780. #define ICEnroll4_stringToBinary(This,Flags,strEncoded,pstrBinary) \
  2781. (This)->lpVtbl -> stringToBinary(This,Flags,strEncoded,pstrBinary)
  2782. #define ICEnroll4_addExtensionToRequest(This,Flags,strName,strValue) \
  2783. (This)->lpVtbl -> addExtensionToRequest(This,Flags,strName,strValue)
  2784. #define ICEnroll4_addAttributeToRequest(This,Flags,strName,strValue) \
  2785. (This)->lpVtbl -> addAttributeToRequest(This,Flags,strName,strValue)
  2786. #define ICEnroll4_addNameValuePairToRequest(This,Flags,strName,strValue) \
  2787. (This)->lpVtbl -> addNameValuePairToRequest(This,Flags,strName,strValue)
  2788. #define ICEnroll4_resetExtensions(This) \
  2789. (This)->lpVtbl -> resetExtensions(This)
  2790. #define ICEnroll4_resetAttributes(This) \
  2791. (This)->lpVtbl -> resetAttributes(This)
  2792. #define ICEnroll4_createRequest(This,Flags,strDNName,Usage,pstrRequest) \
  2793. (This)->lpVtbl -> createRequest(This,Flags,strDNName,Usage,pstrRequest)
  2794. #define ICEnroll4_createFileRequest(This,Flags,strDNName,strUsage,strRequestFileName) \
  2795. (This)->lpVtbl -> createFileRequest(This,Flags,strDNName,strUsage,strRequestFileName)
  2796. #define ICEnroll4_acceptResponse(This,strResponse) \
  2797. (This)->lpVtbl -> acceptResponse(This,strResponse)
  2798. #define ICEnroll4_acceptFileResponse(This,strResponseFileName) \
  2799. (This)->lpVtbl -> acceptFileResponse(This,strResponseFileName)
  2800. #define ICEnroll4_getCertFromResponse(This,strResponse,pstrCert) \
  2801. (This)->lpVtbl -> getCertFromResponse(This,strResponse,pstrCert)
  2802. #define ICEnroll4_getCertFromFileResponse(This,strResponseFileName,pstrCert) \
  2803. (This)->lpVtbl -> getCertFromFileResponse(This,strResponseFileName,pstrCert)
  2804. #define ICEnroll4_createPFX(This,strPassword,pstrPFX) \
  2805. (This)->lpVtbl -> createPFX(This,strPassword,pstrPFX)
  2806. #define ICEnroll4_createFilePFX(This,strPassword,strPFXFileName) \
  2807. (This)->lpVtbl -> createFilePFX(This,strPassword,strPFXFileName)
  2808. #define ICEnroll4_setPendingRequestInfo(This,lRequestID,strCADNS,strCAName,strFriendlyName) \
  2809. (This)->lpVtbl -> setPendingRequestInfo(This,lRequestID,strCADNS,strCAName,strFriendlyName)
  2810. #define ICEnroll4_enumPendingRequest(This,lIndex,lDesiredProperty,pvarProperty) \
  2811. (This)->lpVtbl -> enumPendingRequest(This,lIndex,lDesiredProperty,pvarProperty)
  2812. #define ICEnroll4_removePendingRequest(This,strThumbprint) \
  2813. (This)->lpVtbl -> removePendingRequest(This,strThumbprint)
  2814. #define ICEnroll4_GetKeyLenEx(This,lSizeSpec,lKeySpec,pdwKeySize) \
  2815. (This)->lpVtbl -> GetKeyLenEx(This,lSizeSpec,lKeySpec,pdwKeySize)
  2816. #define ICEnroll4_InstallPKCS7Ex(This,PKCS7,plCertInstalled) \
  2817. (This)->lpVtbl -> InstallPKCS7Ex(This,PKCS7,plCertInstalled)
  2818. #define ICEnroll4_addCertTypeToRequestEx(This,lType,bstrOIDOrName,lMajorVersion,fMinorVersion,lMinorVersion) \
  2819. (This)->lpVtbl -> addCertTypeToRequestEx(This,lType,bstrOIDOrName,lMajorVersion,fMinorVersion,lMinorVersion)
  2820. #define ICEnroll4_getProviderType(This,strProvName,plProvType) \
  2821. (This)->lpVtbl -> getProviderType(This,strProvName,plProvType)
  2822. #define ICEnroll4_put_SignerCertificate(This,bstrCert) \
  2823. (This)->lpVtbl -> put_SignerCertificate(This,bstrCert)
  2824. #define ICEnroll4_put_ClientId(This,lClientId) \
  2825. (This)->lpVtbl -> put_ClientId(This,lClientId)
  2826. #define ICEnroll4_get_ClientId(This,plClientId) \
  2827. (This)->lpVtbl -> get_ClientId(This,plClientId)
  2828. #define ICEnroll4_addBlobPropertyToCertificate(This,lPropertyId,lReserved,bstrProperty) \
  2829. (This)->lpVtbl -> addBlobPropertyToCertificate(This,lPropertyId,lReserved,bstrProperty)
  2830. #define ICEnroll4_resetBlobProperties(This) \
  2831. (This)->lpVtbl -> resetBlobProperties(This)
  2832. #define ICEnroll4_put_IncludeSubjectKeyID(This,fInclude) \
  2833. (This)->lpVtbl -> put_IncludeSubjectKeyID(This,fInclude)
  2834. #define ICEnroll4_get_IncludeSubjectKeyID(This,pfInclude) \
  2835. (This)->lpVtbl -> get_IncludeSubjectKeyID(This,pfInclude)
  2836. #endif /* COBJMACROS */
  2837. #endif /* C style interface */
  2838. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll4_put_PrivateKeyArchiveCertificate_Proxy(
  2839. ICEnroll4 * This,
  2840. /* [in] */ BSTR bstrCert);
  2841. void __RPC_STUB ICEnroll4_put_PrivateKeyArchiveCertificate_Stub(
  2842. IRpcStubBuffer *This,
  2843. IRpcChannelBuffer *_pRpcChannelBuffer,
  2844. PRPC_MESSAGE _pRpcMessage,
  2845. DWORD *_pdwStubPhase);
  2846. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll4_get_PrivateKeyArchiveCertificate_Proxy(
  2847. ICEnroll4 * This,
  2848. /* [retval][out] */ BSTR *pbstrCert);
  2849. void __RPC_STUB ICEnroll4_get_PrivateKeyArchiveCertificate_Stub(
  2850. IRpcStubBuffer *This,
  2851. IRpcChannelBuffer *_pRpcChannelBuffer,
  2852. PRPC_MESSAGE _pRpcMessage,
  2853. DWORD *_pdwStubPhase);
  2854. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll4_put_ThumbPrint_Proxy(
  2855. ICEnroll4 * This,
  2856. /* [in] */ BSTR bstrThumbPrint);
  2857. void __RPC_STUB ICEnroll4_put_ThumbPrint_Stub(
  2858. IRpcStubBuffer *This,
  2859. IRpcChannelBuffer *_pRpcChannelBuffer,
  2860. PRPC_MESSAGE _pRpcMessage,
  2861. DWORD *_pdwStubPhase);
  2862. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll4_get_ThumbPrint_Proxy(
  2863. ICEnroll4 * This,
  2864. /* [retval][out] */ BSTR *pbstrThumbPrint);
  2865. void __RPC_STUB ICEnroll4_get_ThumbPrint_Stub(
  2866. IRpcStubBuffer *This,
  2867. IRpcChannelBuffer *_pRpcChannelBuffer,
  2868. PRPC_MESSAGE _pRpcMessage,
  2869. DWORD *_pdwStubPhase);
  2870. HRESULT STDMETHODCALLTYPE ICEnroll4_binaryToString_Proxy(
  2871. ICEnroll4 * This,
  2872. /* [in] */ LONG Flags,
  2873. /* [in] */ BSTR strBinary,
  2874. /* [retval][out] */ BSTR *pstrEncoded);
  2875. void __RPC_STUB ICEnroll4_binaryToString_Stub(
  2876. IRpcStubBuffer *This,
  2877. IRpcChannelBuffer *_pRpcChannelBuffer,
  2878. PRPC_MESSAGE _pRpcMessage,
  2879. DWORD *_pdwStubPhase);
  2880. HRESULT STDMETHODCALLTYPE ICEnroll4_stringToBinary_Proxy(
  2881. ICEnroll4 * This,
  2882. /* [in] */ LONG Flags,
  2883. /* [in] */ BSTR strEncoded,
  2884. /* [retval][out] */ BSTR *pstrBinary);
  2885. void __RPC_STUB ICEnroll4_stringToBinary_Stub(
  2886. IRpcStubBuffer *This,
  2887. IRpcChannelBuffer *_pRpcChannelBuffer,
  2888. PRPC_MESSAGE _pRpcMessage,
  2889. DWORD *_pdwStubPhase);
  2890. HRESULT STDMETHODCALLTYPE ICEnroll4_addExtensionToRequest_Proxy(
  2891. ICEnroll4 * This,
  2892. /* [in] */ LONG Flags,
  2893. /* [in] */ BSTR strName,
  2894. /* [in] */ BSTR strValue);
  2895. void __RPC_STUB ICEnroll4_addExtensionToRequest_Stub(
  2896. IRpcStubBuffer *This,
  2897. IRpcChannelBuffer *_pRpcChannelBuffer,
  2898. PRPC_MESSAGE _pRpcMessage,
  2899. DWORD *_pdwStubPhase);
  2900. HRESULT STDMETHODCALLTYPE ICEnroll4_addAttributeToRequest_Proxy(
  2901. ICEnroll4 * This,
  2902. /* [in] */ LONG Flags,
  2903. /* [in] */ BSTR strName,
  2904. /* [in] */ BSTR strValue);
  2905. void __RPC_STUB ICEnroll4_addAttributeToRequest_Stub(
  2906. IRpcStubBuffer *This,
  2907. IRpcChannelBuffer *_pRpcChannelBuffer,
  2908. PRPC_MESSAGE _pRpcMessage,
  2909. DWORD *_pdwStubPhase);
  2910. HRESULT STDMETHODCALLTYPE ICEnroll4_addNameValuePairToRequest_Proxy(
  2911. ICEnroll4 * This,
  2912. /* [in] */ LONG Flags,
  2913. /* [in] */ BSTR strName,
  2914. /* [in] */ BSTR strValue);
  2915. void __RPC_STUB ICEnroll4_addNameValuePairToRequest_Stub(
  2916. IRpcStubBuffer *This,
  2917. IRpcChannelBuffer *_pRpcChannelBuffer,
  2918. PRPC_MESSAGE _pRpcMessage,
  2919. DWORD *_pdwStubPhase);
  2920. HRESULT STDMETHODCALLTYPE ICEnroll4_resetExtensions_Proxy(
  2921. ICEnroll4 * This);
  2922. void __RPC_STUB ICEnroll4_resetExtensions_Stub(
  2923. IRpcStubBuffer *This,
  2924. IRpcChannelBuffer *_pRpcChannelBuffer,
  2925. PRPC_MESSAGE _pRpcMessage,
  2926. DWORD *_pdwStubPhase);
  2927. HRESULT STDMETHODCALLTYPE ICEnroll4_resetAttributes_Proxy(
  2928. ICEnroll4 * This);
  2929. void __RPC_STUB ICEnroll4_resetAttributes_Stub(
  2930. IRpcStubBuffer *This,
  2931. IRpcChannelBuffer *_pRpcChannelBuffer,
  2932. PRPC_MESSAGE _pRpcMessage,
  2933. DWORD *_pdwStubPhase);
  2934. HRESULT STDMETHODCALLTYPE ICEnroll4_createRequest_Proxy(
  2935. ICEnroll4 * This,
  2936. /* [in] */ LONG Flags,
  2937. /* [in] */ BSTR strDNName,
  2938. /* [in] */ BSTR Usage,
  2939. /* [retval][out] */ BSTR *pstrRequest);
  2940. void __RPC_STUB ICEnroll4_createRequest_Stub(
  2941. IRpcStubBuffer *This,
  2942. IRpcChannelBuffer *_pRpcChannelBuffer,
  2943. PRPC_MESSAGE _pRpcMessage,
  2944. DWORD *_pdwStubPhase);
  2945. HRESULT STDMETHODCALLTYPE ICEnroll4_createFileRequest_Proxy(
  2946. ICEnroll4 * This,
  2947. /* [in] */ LONG Flags,
  2948. /* [in] */ BSTR strDNName,
  2949. /* [in] */ BSTR strUsage,
  2950. /* [in] */ BSTR strRequestFileName);
  2951. void __RPC_STUB ICEnroll4_createFileRequest_Stub(
  2952. IRpcStubBuffer *This,
  2953. IRpcChannelBuffer *_pRpcChannelBuffer,
  2954. PRPC_MESSAGE _pRpcMessage,
  2955. DWORD *_pdwStubPhase);
  2956. HRESULT STDMETHODCALLTYPE ICEnroll4_acceptResponse_Proxy(
  2957. ICEnroll4 * This,
  2958. /* [in] */ BSTR strResponse);
  2959. void __RPC_STUB ICEnroll4_acceptResponse_Stub(
  2960. IRpcStubBuffer *This,
  2961. IRpcChannelBuffer *_pRpcChannelBuffer,
  2962. PRPC_MESSAGE _pRpcMessage,
  2963. DWORD *_pdwStubPhase);
  2964. HRESULT STDMETHODCALLTYPE ICEnroll4_acceptFileResponse_Proxy(
  2965. ICEnroll4 * This,
  2966. /* [in] */ BSTR strResponseFileName);
  2967. void __RPC_STUB ICEnroll4_acceptFileResponse_Stub(
  2968. IRpcStubBuffer *This,
  2969. IRpcChannelBuffer *_pRpcChannelBuffer,
  2970. PRPC_MESSAGE _pRpcMessage,
  2971. DWORD *_pdwStubPhase);
  2972. HRESULT STDMETHODCALLTYPE ICEnroll4_getCertFromResponse_Proxy(
  2973. ICEnroll4 * This,
  2974. /* [in] */ BSTR strResponse,
  2975. /* [retval][out] */ BSTR *pstrCert);
  2976. void __RPC_STUB ICEnroll4_getCertFromResponse_Stub(
  2977. IRpcStubBuffer *This,
  2978. IRpcChannelBuffer *_pRpcChannelBuffer,
  2979. PRPC_MESSAGE _pRpcMessage,
  2980. DWORD *_pdwStubPhase);
  2981. HRESULT STDMETHODCALLTYPE ICEnroll4_getCertFromFileResponse_Proxy(
  2982. ICEnroll4 * This,
  2983. /* [in] */ BSTR strResponseFileName,
  2984. /* [retval][out] */ BSTR *pstrCert);
  2985. void __RPC_STUB ICEnroll4_getCertFromFileResponse_Stub(
  2986. IRpcStubBuffer *This,
  2987. IRpcChannelBuffer *_pRpcChannelBuffer,
  2988. PRPC_MESSAGE _pRpcMessage,
  2989. DWORD *_pdwStubPhase);
  2990. HRESULT STDMETHODCALLTYPE ICEnroll4_createPFX_Proxy(
  2991. ICEnroll4 * This,
  2992. /* [in] */ BSTR strPassword,
  2993. /* [retval][out] */ BSTR *pstrPFX);
  2994. void __RPC_STUB ICEnroll4_createPFX_Stub(
  2995. IRpcStubBuffer *This,
  2996. IRpcChannelBuffer *_pRpcChannelBuffer,
  2997. PRPC_MESSAGE _pRpcMessage,
  2998. DWORD *_pdwStubPhase);
  2999. HRESULT STDMETHODCALLTYPE ICEnroll4_createFilePFX_Proxy(
  3000. ICEnroll4 * This,
  3001. /* [in] */ BSTR strPassword,
  3002. /* [in] */ BSTR strPFXFileName);
  3003. void __RPC_STUB ICEnroll4_createFilePFX_Stub(
  3004. IRpcStubBuffer *This,
  3005. IRpcChannelBuffer *_pRpcChannelBuffer,
  3006. PRPC_MESSAGE _pRpcMessage,
  3007. DWORD *_pdwStubPhase);
  3008. HRESULT STDMETHODCALLTYPE ICEnroll4_setPendingRequestInfo_Proxy(
  3009. ICEnroll4 * This,
  3010. /* [in] */ LONG lRequestID,
  3011. /* [in] */ BSTR strCADNS,
  3012. /* [in] */ BSTR strCAName,
  3013. /* [in] */ BSTR strFriendlyName);
  3014. void __RPC_STUB ICEnroll4_setPendingRequestInfo_Stub(
  3015. IRpcStubBuffer *This,
  3016. IRpcChannelBuffer *_pRpcChannelBuffer,
  3017. PRPC_MESSAGE _pRpcMessage,
  3018. DWORD *_pdwStubPhase);
  3019. HRESULT STDMETHODCALLTYPE ICEnroll4_enumPendingRequest_Proxy(
  3020. ICEnroll4 * This,
  3021. /* [in] */ LONG lIndex,
  3022. /* [in] */ LONG lDesiredProperty,
  3023. /* [retval][out] */ VARIANT *pvarProperty);
  3024. void __RPC_STUB ICEnroll4_enumPendingRequest_Stub(
  3025. IRpcStubBuffer *This,
  3026. IRpcChannelBuffer *_pRpcChannelBuffer,
  3027. PRPC_MESSAGE _pRpcMessage,
  3028. DWORD *_pdwStubPhase);
  3029. HRESULT STDMETHODCALLTYPE ICEnroll4_removePendingRequest_Proxy(
  3030. ICEnroll4 * This,
  3031. /* [in] */ BSTR strThumbprint);
  3032. void __RPC_STUB ICEnroll4_removePendingRequest_Stub(
  3033. IRpcStubBuffer *This,
  3034. IRpcChannelBuffer *_pRpcChannelBuffer,
  3035. PRPC_MESSAGE _pRpcMessage,
  3036. DWORD *_pdwStubPhase);
  3037. HRESULT STDMETHODCALLTYPE ICEnroll4_GetKeyLenEx_Proxy(
  3038. ICEnroll4 * This,
  3039. /* [in] */ LONG lSizeSpec,
  3040. /* [in] */ LONG lKeySpec,
  3041. /* [retval][out] */ LONG *pdwKeySize);
  3042. void __RPC_STUB ICEnroll4_GetKeyLenEx_Stub(
  3043. IRpcStubBuffer *This,
  3044. IRpcChannelBuffer *_pRpcChannelBuffer,
  3045. PRPC_MESSAGE _pRpcMessage,
  3046. DWORD *_pdwStubPhase);
  3047. HRESULT STDMETHODCALLTYPE ICEnroll4_InstallPKCS7Ex_Proxy(
  3048. ICEnroll4 * This,
  3049. /* [in] */ BSTR PKCS7,
  3050. /* [retval][out] */ LONG *plCertInstalled);
  3051. void __RPC_STUB ICEnroll4_InstallPKCS7Ex_Stub(
  3052. IRpcStubBuffer *This,
  3053. IRpcChannelBuffer *_pRpcChannelBuffer,
  3054. PRPC_MESSAGE _pRpcMessage,
  3055. DWORD *_pdwStubPhase);
  3056. HRESULT STDMETHODCALLTYPE ICEnroll4_addCertTypeToRequestEx_Proxy(
  3057. ICEnroll4 * This,
  3058. /* [in] */ LONG lType,
  3059. /* [in] */ BSTR bstrOIDOrName,
  3060. /* [in] */ LONG lMajorVersion,
  3061. /* [in] */ BOOL fMinorVersion,
  3062. /* [in] */ LONG lMinorVersion);
  3063. void __RPC_STUB ICEnroll4_addCertTypeToRequestEx_Stub(
  3064. IRpcStubBuffer *This,
  3065. IRpcChannelBuffer *_pRpcChannelBuffer,
  3066. PRPC_MESSAGE _pRpcMessage,
  3067. DWORD *_pdwStubPhase);
  3068. HRESULT STDMETHODCALLTYPE ICEnroll4_getProviderType_Proxy(
  3069. ICEnroll4 * This,
  3070. /* [in] */ BSTR strProvName,
  3071. /* [retval][out] */ LONG *plProvType);
  3072. void __RPC_STUB ICEnroll4_getProviderType_Stub(
  3073. IRpcStubBuffer *This,
  3074. IRpcChannelBuffer *_pRpcChannelBuffer,
  3075. PRPC_MESSAGE _pRpcMessage,
  3076. DWORD *_pdwStubPhase);
  3077. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll4_put_SignerCertificate_Proxy(
  3078. ICEnroll4 * This,
  3079. /* [in] */ BSTR bstrCert);
  3080. void __RPC_STUB ICEnroll4_put_SignerCertificate_Stub(
  3081. IRpcStubBuffer *This,
  3082. IRpcChannelBuffer *_pRpcChannelBuffer,
  3083. PRPC_MESSAGE _pRpcMessage,
  3084. DWORD *_pdwStubPhase);
  3085. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll4_put_ClientId_Proxy(
  3086. ICEnroll4 * This,
  3087. /* [in] */ LONG lClientId);
  3088. void __RPC_STUB ICEnroll4_put_ClientId_Stub(
  3089. IRpcStubBuffer *This,
  3090. IRpcChannelBuffer *_pRpcChannelBuffer,
  3091. PRPC_MESSAGE _pRpcMessage,
  3092. DWORD *_pdwStubPhase);
  3093. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll4_get_ClientId_Proxy(
  3094. ICEnroll4 * This,
  3095. /* [retval][out] */ LONG *plClientId);
  3096. void __RPC_STUB ICEnroll4_get_ClientId_Stub(
  3097. IRpcStubBuffer *This,
  3098. IRpcChannelBuffer *_pRpcChannelBuffer,
  3099. PRPC_MESSAGE _pRpcMessage,
  3100. DWORD *_pdwStubPhase);
  3101. HRESULT STDMETHODCALLTYPE ICEnroll4_addBlobPropertyToCertificate_Proxy(
  3102. ICEnroll4 * This,
  3103. /* [in] */ LONG lPropertyId,
  3104. /* [in] */ LONG lReserved,
  3105. /* [in] */ BSTR bstrProperty);
  3106. void __RPC_STUB ICEnroll4_addBlobPropertyToCertificate_Stub(
  3107. IRpcStubBuffer *This,
  3108. IRpcChannelBuffer *_pRpcChannelBuffer,
  3109. PRPC_MESSAGE _pRpcMessage,
  3110. DWORD *_pdwStubPhase);
  3111. HRESULT STDMETHODCALLTYPE ICEnroll4_resetBlobProperties_Proxy(
  3112. ICEnroll4 * This);
  3113. void __RPC_STUB ICEnroll4_resetBlobProperties_Stub(
  3114. IRpcStubBuffer *This,
  3115. IRpcChannelBuffer *_pRpcChannelBuffer,
  3116. PRPC_MESSAGE _pRpcMessage,
  3117. DWORD *_pdwStubPhase);
  3118. /* [propput] */ HRESULT STDMETHODCALLTYPE ICEnroll4_put_IncludeSubjectKeyID_Proxy(
  3119. ICEnroll4 * This,
  3120. /* [in] */ BOOL fInclude);
  3121. void __RPC_STUB ICEnroll4_put_IncludeSubjectKeyID_Stub(
  3122. IRpcStubBuffer *This,
  3123. IRpcChannelBuffer *_pRpcChannelBuffer,
  3124. PRPC_MESSAGE _pRpcMessage,
  3125. DWORD *_pdwStubPhase);
  3126. /* [propget] */ HRESULT STDMETHODCALLTYPE ICEnroll4_get_IncludeSubjectKeyID_Proxy(
  3127. ICEnroll4 * This,
  3128. /* [retval][out] */ BOOL *pfInclude);
  3129. void __RPC_STUB ICEnroll4_get_IncludeSubjectKeyID_Stub(
  3130. IRpcStubBuffer *This,
  3131. IRpcChannelBuffer *_pRpcChannelBuffer,
  3132. PRPC_MESSAGE _pRpcMessage,
  3133. DWORD *_pdwStubPhase);
  3134. #endif /* __ICEnroll4_INTERFACE_DEFINED__ */
  3135. #ifndef __IEnroll_INTERFACE_DEFINED__
  3136. #define __IEnroll_INTERFACE_DEFINED__
  3137. /* interface IEnroll */
  3138. /* [unique][helpstring][local][uuid][object] */
  3139. EXTERN_C const IID IID_IEnroll;
  3140. #if defined(__cplusplus) && !defined(CINTERFACE)
  3141. MIDL_INTERFACE("acaa7838-4585-11d1-ab57-00c04fc295e1")
  3142. IEnroll : public IUnknown
  3143. {
  3144. public:
  3145. virtual HRESULT STDMETHODCALLTYPE createFilePKCS10WStr(
  3146. /* [in] */ LPCWSTR DNName,
  3147. /* [in] */ LPCWSTR Usage,
  3148. /* [in] */ LPCWSTR wszPKCS10FileName) = 0;
  3149. virtual HRESULT STDMETHODCALLTYPE acceptFilePKCS7WStr(
  3150. /* [in] */ LPCWSTR wszPKCS7FileName) = 0;
  3151. virtual HRESULT STDMETHODCALLTYPE createPKCS10WStr(
  3152. /* [in] */ LPCWSTR DNName,
  3153. /* [in] */ LPCWSTR Usage,
  3154. /* [out] */ PCRYPT_DATA_BLOB pPkcs10Blob) = 0;
  3155. virtual HRESULT STDMETHODCALLTYPE acceptPKCS7Blob(
  3156. /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7) = 0;
  3157. virtual PCCERT_CONTEXT STDMETHODCALLTYPE getCertContextFromPKCS7(
  3158. /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7) = 0;
  3159. virtual HCERTSTORE STDMETHODCALLTYPE getMyStore( void) = 0;
  3160. virtual HCERTSTORE STDMETHODCALLTYPE getCAStore( void) = 0;
  3161. virtual HCERTSTORE STDMETHODCALLTYPE getROOTHStore( void) = 0;
  3162. virtual HRESULT STDMETHODCALLTYPE enumProvidersWStr(
  3163. /* [in] */ LONG dwIndex,
  3164. /* [in] */ LONG dwFlags,
  3165. /* [out] */ LPWSTR *pbstrProvName) = 0;
  3166. virtual HRESULT STDMETHODCALLTYPE enumContainersWStr(
  3167. /* [in] */ LONG dwIndex,
  3168. /* [out] */ LPWSTR *pbstr) = 0;
  3169. virtual HRESULT STDMETHODCALLTYPE freeRequestInfoBlob(
  3170. /* [in] */ CRYPT_DATA_BLOB pkcs7OrPkcs10) = 0;
  3171. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MyStoreNameWStr(
  3172. /* [out] */ LPWSTR *szwName) = 0;
  3173. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MyStoreNameWStr(
  3174. /* [in] */ LPWSTR szwName) = 0;
  3175. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MyStoreTypeWStr(
  3176. /* [out] */ LPWSTR *szwType) = 0;
  3177. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MyStoreTypeWStr(
  3178. /* [in] */ LPWSTR szwType) = 0;
  3179. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MyStoreFlags(
  3180. /* [out] */ LONG *pdwFlags) = 0;
  3181. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MyStoreFlags(
  3182. /* [in] */ LONG dwFlags) = 0;
  3183. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CAStoreNameWStr(
  3184. /* [out] */ LPWSTR *szwName) = 0;
  3185. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CAStoreNameWStr(
  3186. /* [in] */ LPWSTR szwName) = 0;
  3187. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CAStoreTypeWStr(
  3188. /* [out] */ LPWSTR *szwType) = 0;
  3189. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CAStoreTypeWStr(
  3190. /* [in] */ LPWSTR szwType) = 0;
  3191. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CAStoreFlags(
  3192. /* [out] */ LONG *pdwFlags) = 0;
  3193. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CAStoreFlags(
  3194. /* [in] */ LONG dwFlags) = 0;
  3195. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RootStoreNameWStr(
  3196. /* [out] */ LPWSTR *szwName) = 0;
  3197. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RootStoreNameWStr(
  3198. /* [in] */ LPWSTR szwName) = 0;
  3199. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RootStoreTypeWStr(
  3200. /* [out] */ LPWSTR *szwType) = 0;
  3201. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RootStoreTypeWStr(
  3202. /* [in] */ LPWSTR szwType) = 0;
  3203. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RootStoreFlags(
  3204. /* [out] */ LONG *pdwFlags) = 0;
  3205. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RootStoreFlags(
  3206. /* [in] */ LONG dwFlags) = 0;
  3207. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RequestStoreNameWStr(
  3208. /* [out] */ LPWSTR *szwName) = 0;
  3209. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RequestStoreNameWStr(
  3210. /* [in] */ LPWSTR szwName) = 0;
  3211. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RequestStoreTypeWStr(
  3212. /* [out] */ LPWSTR *szwType) = 0;
  3213. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RequestStoreTypeWStr(
  3214. /* [in] */ LPWSTR szwType) = 0;
  3215. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RequestStoreFlags(
  3216. /* [out] */ LONG *pdwFlags) = 0;
  3217. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RequestStoreFlags(
  3218. /* [in] */ LONG dwFlags) = 0;
  3219. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ContainerNameWStr(
  3220. /* [out] */ LPWSTR *szwContainer) = 0;
  3221. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ContainerNameWStr(
  3222. /* [in] */ LPWSTR szwContainer) = 0;
  3223. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProviderNameWStr(
  3224. /* [out] */ LPWSTR *szwProvider) = 0;
  3225. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ProviderNameWStr(
  3226. /* [in] */ LPWSTR szwProvider) = 0;
  3227. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProviderType(
  3228. /* [out] */ LONG *pdwType) = 0;
  3229. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ProviderType(
  3230. /* [in] */ LONG dwType) = 0;
  3231. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KeySpec(
  3232. /* [out] */ LONG *pdw) = 0;
  3233. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_KeySpec(
  3234. /* [in] */ LONG dw) = 0;
  3235. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProviderFlags(
  3236. /* [out] */ LONG *pdwFlags) = 0;
  3237. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ProviderFlags(
  3238. /* [in] */ LONG dwFlags) = 0;
  3239. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UseExistingKeySet(
  3240. /* [out] */ BOOL *fUseExistingKeys) = 0;
  3241. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_UseExistingKeySet(
  3242. /* [in] */ BOOL fUseExistingKeys) = 0;
  3243. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_GenKeyFlags(
  3244. /* [out] */ LONG *pdwFlags) = 0;
  3245. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_GenKeyFlags(
  3246. /* [in] */ LONG dwFlags) = 0;
  3247. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DeleteRequestCert(
  3248. /* [out] */ BOOL *fDelete) = 0;
  3249. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DeleteRequestCert(
  3250. /* [in] */ BOOL fDelete) = 0;
  3251. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_WriteCertToUserDS(
  3252. /* [out] */ BOOL *fBool) = 0;
  3253. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_WriteCertToUserDS(
  3254. /* [in] */ BOOL fBool) = 0;
  3255. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EnableT61DNEncoding(
  3256. /* [out] */ BOOL *fBool) = 0;
  3257. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_EnableT61DNEncoding(
  3258. /* [in] */ BOOL fBool) = 0;
  3259. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_WriteCertToCSP(
  3260. /* [out] */ BOOL *fBool) = 0;
  3261. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_WriteCertToCSP(
  3262. /* [in] */ BOOL fBool) = 0;
  3263. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SPCFileNameWStr(
  3264. /* [out] */ LPWSTR *szw) = 0;
  3265. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SPCFileNameWStr(
  3266. /* [in] */ LPWSTR szw) = 0;
  3267. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PVKFileNameWStr(
  3268. /* [out] */ LPWSTR *szw) = 0;
  3269. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PVKFileNameWStr(
  3270. /* [in] */ LPWSTR szw) = 0;
  3271. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HashAlgorithmWStr(
  3272. /* [out] */ LPWSTR *szw) = 0;
  3273. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HashAlgorithmWStr(
  3274. /* [in] */ LPWSTR szw) = 0;
  3275. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RenewalCertificate(
  3276. /* [out] */ PCCERT_CONTEXT *ppCertContext) = 0;
  3277. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RenewalCertificate(
  3278. /* [in] */ PCCERT_CONTEXT pCertContext) = 0;
  3279. virtual HRESULT STDMETHODCALLTYPE AddCertTypeToRequestWStr(
  3280. /* [in] */ LPWSTR szw) = 0;
  3281. virtual HRESULT STDMETHODCALLTYPE AddNameValuePairToSignatureWStr(
  3282. /* [in] */ LPWSTR Name,
  3283. /* [in] */ LPWSTR Value) = 0;
  3284. virtual HRESULT STDMETHODCALLTYPE AddExtensionsToRequest(
  3285. /* [in] */ PCERT_EXTENSIONS pCertExtensions) = 0;
  3286. virtual HRESULT STDMETHODCALLTYPE AddAuthenticatedAttributesToPKCS7Request(
  3287. /* [in] */ PCRYPT_ATTRIBUTES pAttributes) = 0;
  3288. virtual HRESULT STDMETHODCALLTYPE CreatePKCS7RequestFromRequest(
  3289. /* [in] */ PCRYPT_DATA_BLOB pRequest,
  3290. /* [in] */ PCCERT_CONTEXT pSigningCertContext,
  3291. /* [out] */ PCRYPT_DATA_BLOB pPkcs7Blob) = 0;
  3292. };
  3293. #else /* C style interface */
  3294. typedef struct IEnrollVtbl
  3295. {
  3296. BEGIN_INTERFACE
  3297. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3298. IEnroll * This,
  3299. /* [in] */ REFIID riid,
  3300. /* [iid_is][out] */ void **ppvObject);
  3301. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3302. IEnroll * This);
  3303. ULONG ( STDMETHODCALLTYPE *Release )(
  3304. IEnroll * This);
  3305. HRESULT ( STDMETHODCALLTYPE *createFilePKCS10WStr )(
  3306. IEnroll * This,
  3307. /* [in] */ LPCWSTR DNName,
  3308. /* [in] */ LPCWSTR Usage,
  3309. /* [in] */ LPCWSTR wszPKCS10FileName);
  3310. HRESULT ( STDMETHODCALLTYPE *acceptFilePKCS7WStr )(
  3311. IEnroll * This,
  3312. /* [in] */ LPCWSTR wszPKCS7FileName);
  3313. HRESULT ( STDMETHODCALLTYPE *createPKCS10WStr )(
  3314. IEnroll * This,
  3315. /* [in] */ LPCWSTR DNName,
  3316. /* [in] */ LPCWSTR Usage,
  3317. /* [out] */ PCRYPT_DATA_BLOB pPkcs10Blob);
  3318. HRESULT ( STDMETHODCALLTYPE *acceptPKCS7Blob )(
  3319. IEnroll * This,
  3320. /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7);
  3321. PCCERT_CONTEXT ( STDMETHODCALLTYPE *getCertContextFromPKCS7 )(
  3322. IEnroll * This,
  3323. /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7);
  3324. HCERTSTORE ( STDMETHODCALLTYPE *getMyStore )(
  3325. IEnroll * This);
  3326. HCERTSTORE ( STDMETHODCALLTYPE *getCAStore )(
  3327. IEnroll * This);
  3328. HCERTSTORE ( STDMETHODCALLTYPE *getROOTHStore )(
  3329. IEnroll * This);
  3330. HRESULT ( STDMETHODCALLTYPE *enumProvidersWStr )(
  3331. IEnroll * This,
  3332. /* [in] */ LONG dwIndex,
  3333. /* [in] */ LONG dwFlags,
  3334. /* [out] */ LPWSTR *pbstrProvName);
  3335. HRESULT ( STDMETHODCALLTYPE *enumContainersWStr )(
  3336. IEnroll * This,
  3337. /* [in] */ LONG dwIndex,
  3338. /* [out] */ LPWSTR *pbstr);
  3339. HRESULT ( STDMETHODCALLTYPE *freeRequestInfoBlob )(
  3340. IEnroll * This,
  3341. /* [in] */ CRYPT_DATA_BLOB pkcs7OrPkcs10);
  3342. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreNameWStr )(
  3343. IEnroll * This,
  3344. /* [out] */ LPWSTR *szwName);
  3345. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreNameWStr )(
  3346. IEnroll * This,
  3347. /* [in] */ LPWSTR szwName);
  3348. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreTypeWStr )(
  3349. IEnroll * This,
  3350. /* [out] */ LPWSTR *szwType);
  3351. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreTypeWStr )(
  3352. IEnroll * This,
  3353. /* [in] */ LPWSTR szwType);
  3354. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreFlags )(
  3355. IEnroll * This,
  3356. /* [out] */ LONG *pdwFlags);
  3357. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreFlags )(
  3358. IEnroll * This,
  3359. /* [in] */ LONG dwFlags);
  3360. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreNameWStr )(
  3361. IEnroll * This,
  3362. /* [out] */ LPWSTR *szwName);
  3363. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreNameWStr )(
  3364. IEnroll * This,
  3365. /* [in] */ LPWSTR szwName);
  3366. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreTypeWStr )(
  3367. IEnroll * This,
  3368. /* [out] */ LPWSTR *szwType);
  3369. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreTypeWStr )(
  3370. IEnroll * This,
  3371. /* [in] */ LPWSTR szwType);
  3372. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreFlags )(
  3373. IEnroll * This,
  3374. /* [out] */ LONG *pdwFlags);
  3375. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreFlags )(
  3376. IEnroll * This,
  3377. /* [in] */ LONG dwFlags);
  3378. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreNameWStr )(
  3379. IEnroll * This,
  3380. /* [out] */ LPWSTR *szwName);
  3381. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreNameWStr )(
  3382. IEnroll * This,
  3383. /* [in] */ LPWSTR szwName);
  3384. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreTypeWStr )(
  3385. IEnroll * This,
  3386. /* [out] */ LPWSTR *szwType);
  3387. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreTypeWStr )(
  3388. IEnroll * This,
  3389. /* [in] */ LPWSTR szwType);
  3390. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreFlags )(
  3391. IEnroll * This,
  3392. /* [out] */ LONG *pdwFlags);
  3393. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreFlags )(
  3394. IEnroll * This,
  3395. /* [in] */ LONG dwFlags);
  3396. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreNameWStr )(
  3397. IEnroll * This,
  3398. /* [out] */ LPWSTR *szwName);
  3399. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreNameWStr )(
  3400. IEnroll * This,
  3401. /* [in] */ LPWSTR szwName);
  3402. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreTypeWStr )(
  3403. IEnroll * This,
  3404. /* [out] */ LPWSTR *szwType);
  3405. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreTypeWStr )(
  3406. IEnroll * This,
  3407. /* [in] */ LPWSTR szwType);
  3408. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreFlags )(
  3409. IEnroll * This,
  3410. /* [out] */ LONG *pdwFlags);
  3411. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreFlags )(
  3412. IEnroll * This,
  3413. /* [in] */ LONG dwFlags);
  3414. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainerNameWStr )(
  3415. IEnroll * This,
  3416. /* [out] */ LPWSTR *szwContainer);
  3417. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ContainerNameWStr )(
  3418. IEnroll * This,
  3419. /* [in] */ LPWSTR szwContainer);
  3420. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderNameWStr )(
  3421. IEnroll * This,
  3422. /* [out] */ LPWSTR *szwProvider);
  3423. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderNameWStr )(
  3424. IEnroll * This,
  3425. /* [in] */ LPWSTR szwProvider);
  3426. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderType )(
  3427. IEnroll * This,
  3428. /* [out] */ LONG *pdwType);
  3429. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderType )(
  3430. IEnroll * This,
  3431. /* [in] */ LONG dwType);
  3432. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeySpec )(
  3433. IEnroll * This,
  3434. /* [out] */ LONG *pdw);
  3435. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_KeySpec )(
  3436. IEnroll * This,
  3437. /* [in] */ LONG dw);
  3438. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderFlags )(
  3439. IEnroll * This,
  3440. /* [out] */ LONG *pdwFlags);
  3441. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderFlags )(
  3442. IEnroll * This,
  3443. /* [in] */ LONG dwFlags);
  3444. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UseExistingKeySet )(
  3445. IEnroll * This,
  3446. /* [out] */ BOOL *fUseExistingKeys);
  3447. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UseExistingKeySet )(
  3448. IEnroll * This,
  3449. /* [in] */ BOOL fUseExistingKeys);
  3450. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GenKeyFlags )(
  3451. IEnroll * This,
  3452. /* [out] */ LONG *pdwFlags);
  3453. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_GenKeyFlags )(
  3454. IEnroll * This,
  3455. /* [in] */ LONG dwFlags);
  3456. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DeleteRequestCert )(
  3457. IEnroll * This,
  3458. /* [out] */ BOOL *fDelete);
  3459. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DeleteRequestCert )(
  3460. IEnroll * This,
  3461. /* [in] */ BOOL fDelete);
  3462. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WriteCertToUserDS )(
  3463. IEnroll * This,
  3464. /* [out] */ BOOL *fBool);
  3465. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_WriteCertToUserDS )(
  3466. IEnroll * This,
  3467. /* [in] */ BOOL fBool);
  3468. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnableT61DNEncoding )(
  3469. IEnroll * This,
  3470. /* [out] */ BOOL *fBool);
  3471. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnableT61DNEncoding )(
  3472. IEnroll * This,
  3473. /* [in] */ BOOL fBool);
  3474. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WriteCertToCSP )(
  3475. IEnroll * This,
  3476. /* [out] */ BOOL *fBool);
  3477. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_WriteCertToCSP )(
  3478. IEnroll * This,
  3479. /* [in] */ BOOL fBool);
  3480. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SPCFileNameWStr )(
  3481. IEnroll * This,
  3482. /* [out] */ LPWSTR *szw);
  3483. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SPCFileNameWStr )(
  3484. IEnroll * This,
  3485. /* [in] */ LPWSTR szw);
  3486. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PVKFileNameWStr )(
  3487. IEnroll * This,
  3488. /* [out] */ LPWSTR *szw);
  3489. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PVKFileNameWStr )(
  3490. IEnroll * This,
  3491. /* [in] */ LPWSTR szw);
  3492. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HashAlgorithmWStr )(
  3493. IEnroll * This,
  3494. /* [out] */ LPWSTR *szw);
  3495. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HashAlgorithmWStr )(
  3496. IEnroll * This,
  3497. /* [in] */ LPWSTR szw);
  3498. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RenewalCertificate )(
  3499. IEnroll * This,
  3500. /* [out] */ PCCERT_CONTEXT *ppCertContext);
  3501. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RenewalCertificate )(
  3502. IEnroll * This,
  3503. /* [in] */ PCCERT_CONTEXT pCertContext);
  3504. HRESULT ( STDMETHODCALLTYPE *AddCertTypeToRequestWStr )(
  3505. IEnroll * This,
  3506. /* [in] */ LPWSTR szw);
  3507. HRESULT ( STDMETHODCALLTYPE *AddNameValuePairToSignatureWStr )(
  3508. IEnroll * This,
  3509. /* [in] */ LPWSTR Name,
  3510. /* [in] */ LPWSTR Value);
  3511. HRESULT ( STDMETHODCALLTYPE *AddExtensionsToRequest )(
  3512. IEnroll * This,
  3513. /* [in] */ PCERT_EXTENSIONS pCertExtensions);
  3514. HRESULT ( STDMETHODCALLTYPE *AddAuthenticatedAttributesToPKCS7Request )(
  3515. IEnroll * This,
  3516. /* [in] */ PCRYPT_ATTRIBUTES pAttributes);
  3517. HRESULT ( STDMETHODCALLTYPE *CreatePKCS7RequestFromRequest )(
  3518. IEnroll * This,
  3519. /* [in] */ PCRYPT_DATA_BLOB pRequest,
  3520. /* [in] */ PCCERT_CONTEXT pSigningCertContext,
  3521. /* [out] */ PCRYPT_DATA_BLOB pPkcs7Blob);
  3522. END_INTERFACE
  3523. } IEnrollVtbl;
  3524. interface IEnroll
  3525. {
  3526. CONST_VTBL struct IEnrollVtbl *lpVtbl;
  3527. };
  3528. #ifdef COBJMACROS
  3529. #define IEnroll_QueryInterface(This,riid,ppvObject) \
  3530. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3531. #define IEnroll_AddRef(This) \
  3532. (This)->lpVtbl -> AddRef(This)
  3533. #define IEnroll_Release(This) \
  3534. (This)->lpVtbl -> Release(This)
  3535. #define IEnroll_createFilePKCS10WStr(This,DNName,Usage,wszPKCS10FileName) \
  3536. (This)->lpVtbl -> createFilePKCS10WStr(This,DNName,Usage,wszPKCS10FileName)
  3537. #define IEnroll_acceptFilePKCS7WStr(This,wszPKCS7FileName) \
  3538. (This)->lpVtbl -> acceptFilePKCS7WStr(This,wszPKCS7FileName)
  3539. #define IEnroll_createPKCS10WStr(This,DNName,Usage,pPkcs10Blob) \
  3540. (This)->lpVtbl -> createPKCS10WStr(This,DNName,Usage,pPkcs10Blob)
  3541. #define IEnroll_acceptPKCS7Blob(This,pBlobPKCS7) \
  3542. (This)->lpVtbl -> acceptPKCS7Blob(This,pBlobPKCS7)
  3543. #define IEnroll_getCertContextFromPKCS7(This,pBlobPKCS7) \
  3544. (This)->lpVtbl -> getCertContextFromPKCS7(This,pBlobPKCS7)
  3545. #define IEnroll_getMyStore(This) \
  3546. (This)->lpVtbl -> getMyStore(This)
  3547. #define IEnroll_getCAStore(This) \
  3548. (This)->lpVtbl -> getCAStore(This)
  3549. #define IEnroll_getROOTHStore(This) \
  3550. (This)->lpVtbl -> getROOTHStore(This)
  3551. #define IEnroll_enumProvidersWStr(This,dwIndex,dwFlags,pbstrProvName) \
  3552. (This)->lpVtbl -> enumProvidersWStr(This,dwIndex,dwFlags,pbstrProvName)
  3553. #define IEnroll_enumContainersWStr(This,dwIndex,pbstr) \
  3554. (This)->lpVtbl -> enumContainersWStr(This,dwIndex,pbstr)
  3555. #define IEnroll_freeRequestInfoBlob(This,pkcs7OrPkcs10) \
  3556. (This)->lpVtbl -> freeRequestInfoBlob(This,pkcs7OrPkcs10)
  3557. #define IEnroll_get_MyStoreNameWStr(This,szwName) \
  3558. (This)->lpVtbl -> get_MyStoreNameWStr(This,szwName)
  3559. #define IEnroll_put_MyStoreNameWStr(This,szwName) \
  3560. (This)->lpVtbl -> put_MyStoreNameWStr(This,szwName)
  3561. #define IEnroll_get_MyStoreTypeWStr(This,szwType) \
  3562. (This)->lpVtbl -> get_MyStoreTypeWStr(This,szwType)
  3563. #define IEnroll_put_MyStoreTypeWStr(This,szwType) \
  3564. (This)->lpVtbl -> put_MyStoreTypeWStr(This,szwType)
  3565. #define IEnroll_get_MyStoreFlags(This,pdwFlags) \
  3566. (This)->lpVtbl -> get_MyStoreFlags(This,pdwFlags)
  3567. #define IEnroll_put_MyStoreFlags(This,dwFlags) \
  3568. (This)->lpVtbl -> put_MyStoreFlags(This,dwFlags)
  3569. #define IEnroll_get_CAStoreNameWStr(This,szwName) \
  3570. (This)->lpVtbl -> get_CAStoreNameWStr(This,szwName)
  3571. #define IEnroll_put_CAStoreNameWStr(This,szwName) \
  3572. (This)->lpVtbl -> put_CAStoreNameWStr(This,szwName)
  3573. #define IEnroll_get_CAStoreTypeWStr(This,szwType) \
  3574. (This)->lpVtbl -> get_CAStoreTypeWStr(This,szwType)
  3575. #define IEnroll_put_CAStoreTypeWStr(This,szwType) \
  3576. (This)->lpVtbl -> put_CAStoreTypeWStr(This,szwType)
  3577. #define IEnroll_get_CAStoreFlags(This,pdwFlags) \
  3578. (This)->lpVtbl -> get_CAStoreFlags(This,pdwFlags)
  3579. #define IEnroll_put_CAStoreFlags(This,dwFlags) \
  3580. (This)->lpVtbl -> put_CAStoreFlags(This,dwFlags)
  3581. #define IEnroll_get_RootStoreNameWStr(This,szwName) \
  3582. (This)->lpVtbl -> get_RootStoreNameWStr(This,szwName)
  3583. #define IEnroll_put_RootStoreNameWStr(This,szwName) \
  3584. (This)->lpVtbl -> put_RootStoreNameWStr(This,szwName)
  3585. #define IEnroll_get_RootStoreTypeWStr(This,szwType) \
  3586. (This)->lpVtbl -> get_RootStoreTypeWStr(This,szwType)
  3587. #define IEnroll_put_RootStoreTypeWStr(This,szwType) \
  3588. (This)->lpVtbl -> put_RootStoreTypeWStr(This,szwType)
  3589. #define IEnroll_get_RootStoreFlags(This,pdwFlags) \
  3590. (This)->lpVtbl -> get_RootStoreFlags(This,pdwFlags)
  3591. #define IEnroll_put_RootStoreFlags(This,dwFlags) \
  3592. (This)->lpVtbl -> put_RootStoreFlags(This,dwFlags)
  3593. #define IEnroll_get_RequestStoreNameWStr(This,szwName) \
  3594. (This)->lpVtbl -> get_RequestStoreNameWStr(This,szwName)
  3595. #define IEnroll_put_RequestStoreNameWStr(This,szwName) \
  3596. (This)->lpVtbl -> put_RequestStoreNameWStr(This,szwName)
  3597. #define IEnroll_get_RequestStoreTypeWStr(This,szwType) \
  3598. (This)->lpVtbl -> get_RequestStoreTypeWStr(This,szwType)
  3599. #define IEnroll_put_RequestStoreTypeWStr(This,szwType) \
  3600. (This)->lpVtbl -> put_RequestStoreTypeWStr(This,szwType)
  3601. #define IEnroll_get_RequestStoreFlags(This,pdwFlags) \
  3602. (This)->lpVtbl -> get_RequestStoreFlags(This,pdwFlags)
  3603. #define IEnroll_put_RequestStoreFlags(This,dwFlags) \
  3604. (This)->lpVtbl -> put_RequestStoreFlags(This,dwFlags)
  3605. #define IEnroll_get_ContainerNameWStr(This,szwContainer) \
  3606. (This)->lpVtbl -> get_ContainerNameWStr(This,szwContainer)
  3607. #define IEnroll_put_ContainerNameWStr(This,szwContainer) \
  3608. (This)->lpVtbl -> put_ContainerNameWStr(This,szwContainer)
  3609. #define IEnroll_get_ProviderNameWStr(This,szwProvider) \
  3610. (This)->lpVtbl -> get_ProviderNameWStr(This,szwProvider)
  3611. #define IEnroll_put_ProviderNameWStr(This,szwProvider) \
  3612. (This)->lpVtbl -> put_ProviderNameWStr(This,szwProvider)
  3613. #define IEnroll_get_ProviderType(This,pdwType) \
  3614. (This)->lpVtbl -> get_ProviderType(This,pdwType)
  3615. #define IEnroll_put_ProviderType(This,dwType) \
  3616. (This)->lpVtbl -> put_ProviderType(This,dwType)
  3617. #define IEnroll_get_KeySpec(This,pdw) \
  3618. (This)->lpVtbl -> get_KeySpec(This,pdw)
  3619. #define IEnroll_put_KeySpec(This,dw) \
  3620. (This)->lpVtbl -> put_KeySpec(This,dw)
  3621. #define IEnroll_get_ProviderFlags(This,pdwFlags) \
  3622. (This)->lpVtbl -> get_ProviderFlags(This,pdwFlags)
  3623. #define IEnroll_put_ProviderFlags(This,dwFlags) \
  3624. (This)->lpVtbl -> put_ProviderFlags(This,dwFlags)
  3625. #define IEnroll_get_UseExistingKeySet(This,fUseExistingKeys) \
  3626. (This)->lpVtbl -> get_UseExistingKeySet(This,fUseExistingKeys)
  3627. #define IEnroll_put_UseExistingKeySet(This,fUseExistingKeys) \
  3628. (This)->lpVtbl -> put_UseExistingKeySet(This,fUseExistingKeys)
  3629. #define IEnroll_get_GenKeyFlags(This,pdwFlags) \
  3630. (This)->lpVtbl -> get_GenKeyFlags(This,pdwFlags)
  3631. #define IEnroll_put_GenKeyFlags(This,dwFlags) \
  3632. (This)->lpVtbl -> put_GenKeyFlags(This,dwFlags)
  3633. #define IEnroll_get_DeleteRequestCert(This,fDelete) \
  3634. (This)->lpVtbl -> get_DeleteRequestCert(This,fDelete)
  3635. #define IEnroll_put_DeleteRequestCert(This,fDelete) \
  3636. (This)->lpVtbl -> put_DeleteRequestCert(This,fDelete)
  3637. #define IEnroll_get_WriteCertToUserDS(This,fBool) \
  3638. (This)->lpVtbl -> get_WriteCertToUserDS(This,fBool)
  3639. #define IEnroll_put_WriteCertToUserDS(This,fBool) \
  3640. (This)->lpVtbl -> put_WriteCertToUserDS(This,fBool)
  3641. #define IEnroll_get_EnableT61DNEncoding(This,fBool) \
  3642. (This)->lpVtbl -> get_EnableT61DNEncoding(This,fBool)
  3643. #define IEnroll_put_EnableT61DNEncoding(This,fBool) \
  3644. (This)->lpVtbl -> put_EnableT61DNEncoding(This,fBool)
  3645. #define IEnroll_get_WriteCertToCSP(This,fBool) \
  3646. (This)->lpVtbl -> get_WriteCertToCSP(This,fBool)
  3647. #define IEnroll_put_WriteCertToCSP(This,fBool) \
  3648. (This)->lpVtbl -> put_WriteCertToCSP(This,fBool)
  3649. #define IEnroll_get_SPCFileNameWStr(This,szw) \
  3650. (This)->lpVtbl -> get_SPCFileNameWStr(This,szw)
  3651. #define IEnroll_put_SPCFileNameWStr(This,szw) \
  3652. (This)->lpVtbl -> put_SPCFileNameWStr(This,szw)
  3653. #define IEnroll_get_PVKFileNameWStr(This,szw) \
  3654. (This)->lpVtbl -> get_PVKFileNameWStr(This,szw)
  3655. #define IEnroll_put_PVKFileNameWStr(This,szw) \
  3656. (This)->lpVtbl -> put_PVKFileNameWStr(This,szw)
  3657. #define IEnroll_get_HashAlgorithmWStr(This,szw) \
  3658. (This)->lpVtbl -> get_HashAlgorithmWStr(This,szw)
  3659. #define IEnroll_put_HashAlgorithmWStr(This,szw) \
  3660. (This)->lpVtbl -> put_HashAlgorithmWStr(This,szw)
  3661. #define IEnroll_get_RenewalCertificate(This,ppCertContext) \
  3662. (This)->lpVtbl -> get_RenewalCertificate(This,ppCertContext)
  3663. #define IEnroll_put_RenewalCertificate(This,pCertContext) \
  3664. (This)->lpVtbl -> put_RenewalCertificate(This,pCertContext)
  3665. #define IEnroll_AddCertTypeToRequestWStr(This,szw) \
  3666. (This)->lpVtbl -> AddCertTypeToRequestWStr(This,szw)
  3667. #define IEnroll_AddNameValuePairToSignatureWStr(This,Name,Value) \
  3668. (This)->lpVtbl -> AddNameValuePairToSignatureWStr(This,Name,Value)
  3669. #define IEnroll_AddExtensionsToRequest(This,pCertExtensions) \
  3670. (This)->lpVtbl -> AddExtensionsToRequest(This,pCertExtensions)
  3671. #define IEnroll_AddAuthenticatedAttributesToPKCS7Request(This,pAttributes) \
  3672. (This)->lpVtbl -> AddAuthenticatedAttributesToPKCS7Request(This,pAttributes)
  3673. #define IEnroll_CreatePKCS7RequestFromRequest(This,pRequest,pSigningCertContext,pPkcs7Blob) \
  3674. (This)->lpVtbl -> CreatePKCS7RequestFromRequest(This,pRequest,pSigningCertContext,pPkcs7Blob)
  3675. #endif /* COBJMACROS */
  3676. #endif /* C style interface */
  3677. HRESULT STDMETHODCALLTYPE IEnroll_createFilePKCS10WStr_Proxy(
  3678. IEnroll * This,
  3679. /* [in] */ LPCWSTR DNName,
  3680. /* [in] */ LPCWSTR Usage,
  3681. /* [in] */ LPCWSTR wszPKCS10FileName);
  3682. void __RPC_STUB IEnroll_createFilePKCS10WStr_Stub(
  3683. IRpcStubBuffer *This,
  3684. IRpcChannelBuffer *_pRpcChannelBuffer,
  3685. PRPC_MESSAGE _pRpcMessage,
  3686. DWORD *_pdwStubPhase);
  3687. HRESULT STDMETHODCALLTYPE IEnroll_acceptFilePKCS7WStr_Proxy(
  3688. IEnroll * This,
  3689. /* [in] */ LPCWSTR wszPKCS7FileName);
  3690. void __RPC_STUB IEnroll_acceptFilePKCS7WStr_Stub(
  3691. IRpcStubBuffer *This,
  3692. IRpcChannelBuffer *_pRpcChannelBuffer,
  3693. PRPC_MESSAGE _pRpcMessage,
  3694. DWORD *_pdwStubPhase);
  3695. HRESULT STDMETHODCALLTYPE IEnroll_createPKCS10WStr_Proxy(
  3696. IEnroll * This,
  3697. /* [in] */ LPCWSTR DNName,
  3698. /* [in] */ LPCWSTR Usage,
  3699. /* [out] */ PCRYPT_DATA_BLOB pPkcs10Blob);
  3700. void __RPC_STUB IEnroll_createPKCS10WStr_Stub(
  3701. IRpcStubBuffer *This,
  3702. IRpcChannelBuffer *_pRpcChannelBuffer,
  3703. PRPC_MESSAGE _pRpcMessage,
  3704. DWORD *_pdwStubPhase);
  3705. HRESULT STDMETHODCALLTYPE IEnroll_acceptPKCS7Blob_Proxy(
  3706. IEnroll * This,
  3707. /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7);
  3708. void __RPC_STUB IEnroll_acceptPKCS7Blob_Stub(
  3709. IRpcStubBuffer *This,
  3710. IRpcChannelBuffer *_pRpcChannelBuffer,
  3711. PRPC_MESSAGE _pRpcMessage,
  3712. DWORD *_pdwStubPhase);
  3713. PCCERT_CONTEXT STDMETHODCALLTYPE IEnroll_getCertContextFromPKCS7_Proxy(
  3714. IEnroll * This,
  3715. /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7);
  3716. void __RPC_STUB IEnroll_getCertContextFromPKCS7_Stub(
  3717. IRpcStubBuffer *This,
  3718. IRpcChannelBuffer *_pRpcChannelBuffer,
  3719. PRPC_MESSAGE _pRpcMessage,
  3720. DWORD *_pdwStubPhase);
  3721. HCERTSTORE STDMETHODCALLTYPE IEnroll_getMyStore_Proxy(
  3722. IEnroll * This);
  3723. void __RPC_STUB IEnroll_getMyStore_Stub(
  3724. IRpcStubBuffer *This,
  3725. IRpcChannelBuffer *_pRpcChannelBuffer,
  3726. PRPC_MESSAGE _pRpcMessage,
  3727. DWORD *_pdwStubPhase);
  3728. HCERTSTORE STDMETHODCALLTYPE IEnroll_getCAStore_Proxy(
  3729. IEnroll * This);
  3730. void __RPC_STUB IEnroll_getCAStore_Stub(
  3731. IRpcStubBuffer *This,
  3732. IRpcChannelBuffer *_pRpcChannelBuffer,
  3733. PRPC_MESSAGE _pRpcMessage,
  3734. DWORD *_pdwStubPhase);
  3735. HCERTSTORE STDMETHODCALLTYPE IEnroll_getROOTHStore_Proxy(
  3736. IEnroll * This);
  3737. void __RPC_STUB IEnroll_getROOTHStore_Stub(
  3738. IRpcStubBuffer *This,
  3739. IRpcChannelBuffer *_pRpcChannelBuffer,
  3740. PRPC_MESSAGE _pRpcMessage,
  3741. DWORD *_pdwStubPhase);
  3742. HRESULT STDMETHODCALLTYPE IEnroll_enumProvidersWStr_Proxy(
  3743. IEnroll * This,
  3744. /* [in] */ LONG dwIndex,
  3745. /* [in] */ LONG dwFlags,
  3746. /* [out] */ LPWSTR *pbstrProvName);
  3747. void __RPC_STUB IEnroll_enumProvidersWStr_Stub(
  3748. IRpcStubBuffer *This,
  3749. IRpcChannelBuffer *_pRpcChannelBuffer,
  3750. PRPC_MESSAGE _pRpcMessage,
  3751. DWORD *_pdwStubPhase);
  3752. HRESULT STDMETHODCALLTYPE IEnroll_enumContainersWStr_Proxy(
  3753. IEnroll * This,
  3754. /* [in] */ LONG dwIndex,
  3755. /* [out] */ LPWSTR *pbstr);
  3756. void __RPC_STUB IEnroll_enumContainersWStr_Stub(
  3757. IRpcStubBuffer *This,
  3758. IRpcChannelBuffer *_pRpcChannelBuffer,
  3759. PRPC_MESSAGE _pRpcMessage,
  3760. DWORD *_pdwStubPhase);
  3761. HRESULT STDMETHODCALLTYPE IEnroll_freeRequestInfoBlob_Proxy(
  3762. IEnroll * This,
  3763. /* [in] */ CRYPT_DATA_BLOB pkcs7OrPkcs10);
  3764. void __RPC_STUB IEnroll_freeRequestInfoBlob_Stub(
  3765. IRpcStubBuffer *This,
  3766. IRpcChannelBuffer *_pRpcChannelBuffer,
  3767. PRPC_MESSAGE _pRpcMessage,
  3768. DWORD *_pdwStubPhase);
  3769. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_MyStoreNameWStr_Proxy(
  3770. IEnroll * This,
  3771. /* [out] */ LPWSTR *szwName);
  3772. void __RPC_STUB IEnroll_get_MyStoreNameWStr_Stub(
  3773. IRpcStubBuffer *This,
  3774. IRpcChannelBuffer *_pRpcChannelBuffer,
  3775. PRPC_MESSAGE _pRpcMessage,
  3776. DWORD *_pdwStubPhase);
  3777. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_MyStoreNameWStr_Proxy(
  3778. IEnroll * This,
  3779. /* [in] */ LPWSTR szwName);
  3780. void __RPC_STUB IEnroll_put_MyStoreNameWStr_Stub(
  3781. IRpcStubBuffer *This,
  3782. IRpcChannelBuffer *_pRpcChannelBuffer,
  3783. PRPC_MESSAGE _pRpcMessage,
  3784. DWORD *_pdwStubPhase);
  3785. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_MyStoreTypeWStr_Proxy(
  3786. IEnroll * This,
  3787. /* [out] */ LPWSTR *szwType);
  3788. void __RPC_STUB IEnroll_get_MyStoreTypeWStr_Stub(
  3789. IRpcStubBuffer *This,
  3790. IRpcChannelBuffer *_pRpcChannelBuffer,
  3791. PRPC_MESSAGE _pRpcMessage,
  3792. DWORD *_pdwStubPhase);
  3793. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_MyStoreTypeWStr_Proxy(
  3794. IEnroll * This,
  3795. /* [in] */ LPWSTR szwType);
  3796. void __RPC_STUB IEnroll_put_MyStoreTypeWStr_Stub(
  3797. IRpcStubBuffer *This,
  3798. IRpcChannelBuffer *_pRpcChannelBuffer,
  3799. PRPC_MESSAGE _pRpcMessage,
  3800. DWORD *_pdwStubPhase);
  3801. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_MyStoreFlags_Proxy(
  3802. IEnroll * This,
  3803. /* [out] */ LONG *pdwFlags);
  3804. void __RPC_STUB IEnroll_get_MyStoreFlags_Stub(
  3805. IRpcStubBuffer *This,
  3806. IRpcChannelBuffer *_pRpcChannelBuffer,
  3807. PRPC_MESSAGE _pRpcMessage,
  3808. DWORD *_pdwStubPhase);
  3809. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_MyStoreFlags_Proxy(
  3810. IEnroll * This,
  3811. /* [in] */ LONG dwFlags);
  3812. void __RPC_STUB IEnroll_put_MyStoreFlags_Stub(
  3813. IRpcStubBuffer *This,
  3814. IRpcChannelBuffer *_pRpcChannelBuffer,
  3815. PRPC_MESSAGE _pRpcMessage,
  3816. DWORD *_pdwStubPhase);
  3817. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_CAStoreNameWStr_Proxy(
  3818. IEnroll * This,
  3819. /* [out] */ LPWSTR *szwName);
  3820. void __RPC_STUB IEnroll_get_CAStoreNameWStr_Stub(
  3821. IRpcStubBuffer *This,
  3822. IRpcChannelBuffer *_pRpcChannelBuffer,
  3823. PRPC_MESSAGE _pRpcMessage,
  3824. DWORD *_pdwStubPhase);
  3825. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_CAStoreNameWStr_Proxy(
  3826. IEnroll * This,
  3827. /* [in] */ LPWSTR szwName);
  3828. void __RPC_STUB IEnroll_put_CAStoreNameWStr_Stub(
  3829. IRpcStubBuffer *This,
  3830. IRpcChannelBuffer *_pRpcChannelBuffer,
  3831. PRPC_MESSAGE _pRpcMessage,
  3832. DWORD *_pdwStubPhase);
  3833. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_CAStoreTypeWStr_Proxy(
  3834. IEnroll * This,
  3835. /* [out] */ LPWSTR *szwType);
  3836. void __RPC_STUB IEnroll_get_CAStoreTypeWStr_Stub(
  3837. IRpcStubBuffer *This,
  3838. IRpcChannelBuffer *_pRpcChannelBuffer,
  3839. PRPC_MESSAGE _pRpcMessage,
  3840. DWORD *_pdwStubPhase);
  3841. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_CAStoreTypeWStr_Proxy(
  3842. IEnroll * This,
  3843. /* [in] */ LPWSTR szwType);
  3844. void __RPC_STUB IEnroll_put_CAStoreTypeWStr_Stub(
  3845. IRpcStubBuffer *This,
  3846. IRpcChannelBuffer *_pRpcChannelBuffer,
  3847. PRPC_MESSAGE _pRpcMessage,
  3848. DWORD *_pdwStubPhase);
  3849. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_CAStoreFlags_Proxy(
  3850. IEnroll * This,
  3851. /* [out] */ LONG *pdwFlags);
  3852. void __RPC_STUB IEnroll_get_CAStoreFlags_Stub(
  3853. IRpcStubBuffer *This,
  3854. IRpcChannelBuffer *_pRpcChannelBuffer,
  3855. PRPC_MESSAGE _pRpcMessage,
  3856. DWORD *_pdwStubPhase);
  3857. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_CAStoreFlags_Proxy(
  3858. IEnroll * This,
  3859. /* [in] */ LONG dwFlags);
  3860. void __RPC_STUB IEnroll_put_CAStoreFlags_Stub(
  3861. IRpcStubBuffer *This,
  3862. IRpcChannelBuffer *_pRpcChannelBuffer,
  3863. PRPC_MESSAGE _pRpcMessage,
  3864. DWORD *_pdwStubPhase);
  3865. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_RootStoreNameWStr_Proxy(
  3866. IEnroll * This,
  3867. /* [out] */ LPWSTR *szwName);
  3868. void __RPC_STUB IEnroll_get_RootStoreNameWStr_Stub(
  3869. IRpcStubBuffer *This,
  3870. IRpcChannelBuffer *_pRpcChannelBuffer,
  3871. PRPC_MESSAGE _pRpcMessage,
  3872. DWORD *_pdwStubPhase);
  3873. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_RootStoreNameWStr_Proxy(
  3874. IEnroll * This,
  3875. /* [in] */ LPWSTR szwName);
  3876. void __RPC_STUB IEnroll_put_RootStoreNameWStr_Stub(
  3877. IRpcStubBuffer *This,
  3878. IRpcChannelBuffer *_pRpcChannelBuffer,
  3879. PRPC_MESSAGE _pRpcMessage,
  3880. DWORD *_pdwStubPhase);
  3881. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_RootStoreTypeWStr_Proxy(
  3882. IEnroll * This,
  3883. /* [out] */ LPWSTR *szwType);
  3884. void __RPC_STUB IEnroll_get_RootStoreTypeWStr_Stub(
  3885. IRpcStubBuffer *This,
  3886. IRpcChannelBuffer *_pRpcChannelBuffer,
  3887. PRPC_MESSAGE _pRpcMessage,
  3888. DWORD *_pdwStubPhase);
  3889. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_RootStoreTypeWStr_Proxy(
  3890. IEnroll * This,
  3891. /* [in] */ LPWSTR szwType);
  3892. void __RPC_STUB IEnroll_put_RootStoreTypeWStr_Stub(
  3893. IRpcStubBuffer *This,
  3894. IRpcChannelBuffer *_pRpcChannelBuffer,
  3895. PRPC_MESSAGE _pRpcMessage,
  3896. DWORD *_pdwStubPhase);
  3897. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_RootStoreFlags_Proxy(
  3898. IEnroll * This,
  3899. /* [out] */ LONG *pdwFlags);
  3900. void __RPC_STUB IEnroll_get_RootStoreFlags_Stub(
  3901. IRpcStubBuffer *This,
  3902. IRpcChannelBuffer *_pRpcChannelBuffer,
  3903. PRPC_MESSAGE _pRpcMessage,
  3904. DWORD *_pdwStubPhase);
  3905. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_RootStoreFlags_Proxy(
  3906. IEnroll * This,
  3907. /* [in] */ LONG dwFlags);
  3908. void __RPC_STUB IEnroll_put_RootStoreFlags_Stub(
  3909. IRpcStubBuffer *This,
  3910. IRpcChannelBuffer *_pRpcChannelBuffer,
  3911. PRPC_MESSAGE _pRpcMessage,
  3912. DWORD *_pdwStubPhase);
  3913. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_RequestStoreNameWStr_Proxy(
  3914. IEnroll * This,
  3915. /* [out] */ LPWSTR *szwName);
  3916. void __RPC_STUB IEnroll_get_RequestStoreNameWStr_Stub(
  3917. IRpcStubBuffer *This,
  3918. IRpcChannelBuffer *_pRpcChannelBuffer,
  3919. PRPC_MESSAGE _pRpcMessage,
  3920. DWORD *_pdwStubPhase);
  3921. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_RequestStoreNameWStr_Proxy(
  3922. IEnroll * This,
  3923. /* [in] */ LPWSTR szwName);
  3924. void __RPC_STUB IEnroll_put_RequestStoreNameWStr_Stub(
  3925. IRpcStubBuffer *This,
  3926. IRpcChannelBuffer *_pRpcChannelBuffer,
  3927. PRPC_MESSAGE _pRpcMessage,
  3928. DWORD *_pdwStubPhase);
  3929. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_RequestStoreTypeWStr_Proxy(
  3930. IEnroll * This,
  3931. /* [out] */ LPWSTR *szwType);
  3932. void __RPC_STUB IEnroll_get_RequestStoreTypeWStr_Stub(
  3933. IRpcStubBuffer *This,
  3934. IRpcChannelBuffer *_pRpcChannelBuffer,
  3935. PRPC_MESSAGE _pRpcMessage,
  3936. DWORD *_pdwStubPhase);
  3937. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_RequestStoreTypeWStr_Proxy(
  3938. IEnroll * This,
  3939. /* [in] */ LPWSTR szwType);
  3940. void __RPC_STUB IEnroll_put_RequestStoreTypeWStr_Stub(
  3941. IRpcStubBuffer *This,
  3942. IRpcChannelBuffer *_pRpcChannelBuffer,
  3943. PRPC_MESSAGE _pRpcMessage,
  3944. DWORD *_pdwStubPhase);
  3945. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_RequestStoreFlags_Proxy(
  3946. IEnroll * This,
  3947. /* [out] */ LONG *pdwFlags);
  3948. void __RPC_STUB IEnroll_get_RequestStoreFlags_Stub(
  3949. IRpcStubBuffer *This,
  3950. IRpcChannelBuffer *_pRpcChannelBuffer,
  3951. PRPC_MESSAGE _pRpcMessage,
  3952. DWORD *_pdwStubPhase);
  3953. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_RequestStoreFlags_Proxy(
  3954. IEnroll * This,
  3955. /* [in] */ LONG dwFlags);
  3956. void __RPC_STUB IEnroll_put_RequestStoreFlags_Stub(
  3957. IRpcStubBuffer *This,
  3958. IRpcChannelBuffer *_pRpcChannelBuffer,
  3959. PRPC_MESSAGE _pRpcMessage,
  3960. DWORD *_pdwStubPhase);
  3961. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_ContainerNameWStr_Proxy(
  3962. IEnroll * This,
  3963. /* [out] */ LPWSTR *szwContainer);
  3964. void __RPC_STUB IEnroll_get_ContainerNameWStr_Stub(
  3965. IRpcStubBuffer *This,
  3966. IRpcChannelBuffer *_pRpcChannelBuffer,
  3967. PRPC_MESSAGE _pRpcMessage,
  3968. DWORD *_pdwStubPhase);
  3969. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_ContainerNameWStr_Proxy(
  3970. IEnroll * This,
  3971. /* [in] */ LPWSTR szwContainer);
  3972. void __RPC_STUB IEnroll_put_ContainerNameWStr_Stub(
  3973. IRpcStubBuffer *This,
  3974. IRpcChannelBuffer *_pRpcChannelBuffer,
  3975. PRPC_MESSAGE _pRpcMessage,
  3976. DWORD *_pdwStubPhase);
  3977. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_ProviderNameWStr_Proxy(
  3978. IEnroll * This,
  3979. /* [out] */ LPWSTR *szwProvider);
  3980. void __RPC_STUB IEnroll_get_ProviderNameWStr_Stub(
  3981. IRpcStubBuffer *This,
  3982. IRpcChannelBuffer *_pRpcChannelBuffer,
  3983. PRPC_MESSAGE _pRpcMessage,
  3984. DWORD *_pdwStubPhase);
  3985. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_ProviderNameWStr_Proxy(
  3986. IEnroll * This,
  3987. /* [in] */ LPWSTR szwProvider);
  3988. void __RPC_STUB IEnroll_put_ProviderNameWStr_Stub(
  3989. IRpcStubBuffer *This,
  3990. IRpcChannelBuffer *_pRpcChannelBuffer,
  3991. PRPC_MESSAGE _pRpcMessage,
  3992. DWORD *_pdwStubPhase);
  3993. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_ProviderType_Proxy(
  3994. IEnroll * This,
  3995. /* [out] */ LONG *pdwType);
  3996. void __RPC_STUB IEnroll_get_ProviderType_Stub(
  3997. IRpcStubBuffer *This,
  3998. IRpcChannelBuffer *_pRpcChannelBuffer,
  3999. PRPC_MESSAGE _pRpcMessage,
  4000. DWORD *_pdwStubPhase);
  4001. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_ProviderType_Proxy(
  4002. IEnroll * This,
  4003. /* [in] */ LONG dwType);
  4004. void __RPC_STUB IEnroll_put_ProviderType_Stub(
  4005. IRpcStubBuffer *This,
  4006. IRpcChannelBuffer *_pRpcChannelBuffer,
  4007. PRPC_MESSAGE _pRpcMessage,
  4008. DWORD *_pdwStubPhase);
  4009. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_KeySpec_Proxy(
  4010. IEnroll * This,
  4011. /* [out] */ LONG *pdw);
  4012. void __RPC_STUB IEnroll_get_KeySpec_Stub(
  4013. IRpcStubBuffer *This,
  4014. IRpcChannelBuffer *_pRpcChannelBuffer,
  4015. PRPC_MESSAGE _pRpcMessage,
  4016. DWORD *_pdwStubPhase);
  4017. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_KeySpec_Proxy(
  4018. IEnroll * This,
  4019. /* [in] */ LONG dw);
  4020. void __RPC_STUB IEnroll_put_KeySpec_Stub(
  4021. IRpcStubBuffer *This,
  4022. IRpcChannelBuffer *_pRpcChannelBuffer,
  4023. PRPC_MESSAGE _pRpcMessage,
  4024. DWORD *_pdwStubPhase);
  4025. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_ProviderFlags_Proxy(
  4026. IEnroll * This,
  4027. /* [out] */ LONG *pdwFlags);
  4028. void __RPC_STUB IEnroll_get_ProviderFlags_Stub(
  4029. IRpcStubBuffer *This,
  4030. IRpcChannelBuffer *_pRpcChannelBuffer,
  4031. PRPC_MESSAGE _pRpcMessage,
  4032. DWORD *_pdwStubPhase);
  4033. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_ProviderFlags_Proxy(
  4034. IEnroll * This,
  4035. /* [in] */ LONG dwFlags);
  4036. void __RPC_STUB IEnroll_put_ProviderFlags_Stub(
  4037. IRpcStubBuffer *This,
  4038. IRpcChannelBuffer *_pRpcChannelBuffer,
  4039. PRPC_MESSAGE _pRpcMessage,
  4040. DWORD *_pdwStubPhase);
  4041. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_UseExistingKeySet_Proxy(
  4042. IEnroll * This,
  4043. /* [out] */ BOOL *fUseExistingKeys);
  4044. void __RPC_STUB IEnroll_get_UseExistingKeySet_Stub(
  4045. IRpcStubBuffer *This,
  4046. IRpcChannelBuffer *_pRpcChannelBuffer,
  4047. PRPC_MESSAGE _pRpcMessage,
  4048. DWORD *_pdwStubPhase);
  4049. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_UseExistingKeySet_Proxy(
  4050. IEnroll * This,
  4051. /* [in] */ BOOL fUseExistingKeys);
  4052. void __RPC_STUB IEnroll_put_UseExistingKeySet_Stub(
  4053. IRpcStubBuffer *This,
  4054. IRpcChannelBuffer *_pRpcChannelBuffer,
  4055. PRPC_MESSAGE _pRpcMessage,
  4056. DWORD *_pdwStubPhase);
  4057. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_GenKeyFlags_Proxy(
  4058. IEnroll * This,
  4059. /* [out] */ LONG *pdwFlags);
  4060. void __RPC_STUB IEnroll_get_GenKeyFlags_Stub(
  4061. IRpcStubBuffer *This,
  4062. IRpcChannelBuffer *_pRpcChannelBuffer,
  4063. PRPC_MESSAGE _pRpcMessage,
  4064. DWORD *_pdwStubPhase);
  4065. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_GenKeyFlags_Proxy(
  4066. IEnroll * This,
  4067. /* [in] */ LONG dwFlags);
  4068. void __RPC_STUB IEnroll_put_GenKeyFlags_Stub(
  4069. IRpcStubBuffer *This,
  4070. IRpcChannelBuffer *_pRpcChannelBuffer,
  4071. PRPC_MESSAGE _pRpcMessage,
  4072. DWORD *_pdwStubPhase);
  4073. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_DeleteRequestCert_Proxy(
  4074. IEnroll * This,
  4075. /* [out] */ BOOL *fDelete);
  4076. void __RPC_STUB IEnroll_get_DeleteRequestCert_Stub(
  4077. IRpcStubBuffer *This,
  4078. IRpcChannelBuffer *_pRpcChannelBuffer,
  4079. PRPC_MESSAGE _pRpcMessage,
  4080. DWORD *_pdwStubPhase);
  4081. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_DeleteRequestCert_Proxy(
  4082. IEnroll * This,
  4083. /* [in] */ BOOL fDelete);
  4084. void __RPC_STUB IEnroll_put_DeleteRequestCert_Stub(
  4085. IRpcStubBuffer *This,
  4086. IRpcChannelBuffer *_pRpcChannelBuffer,
  4087. PRPC_MESSAGE _pRpcMessage,
  4088. DWORD *_pdwStubPhase);
  4089. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_WriteCertToUserDS_Proxy(
  4090. IEnroll * This,
  4091. /* [out] */ BOOL *fBool);
  4092. void __RPC_STUB IEnroll_get_WriteCertToUserDS_Stub(
  4093. IRpcStubBuffer *This,
  4094. IRpcChannelBuffer *_pRpcChannelBuffer,
  4095. PRPC_MESSAGE _pRpcMessage,
  4096. DWORD *_pdwStubPhase);
  4097. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_WriteCertToUserDS_Proxy(
  4098. IEnroll * This,
  4099. /* [in] */ BOOL fBool);
  4100. void __RPC_STUB IEnroll_put_WriteCertToUserDS_Stub(
  4101. IRpcStubBuffer *This,
  4102. IRpcChannelBuffer *_pRpcChannelBuffer,
  4103. PRPC_MESSAGE _pRpcMessage,
  4104. DWORD *_pdwStubPhase);
  4105. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_EnableT61DNEncoding_Proxy(
  4106. IEnroll * This,
  4107. /* [out] */ BOOL *fBool);
  4108. void __RPC_STUB IEnroll_get_EnableT61DNEncoding_Stub(
  4109. IRpcStubBuffer *This,
  4110. IRpcChannelBuffer *_pRpcChannelBuffer,
  4111. PRPC_MESSAGE _pRpcMessage,
  4112. DWORD *_pdwStubPhase);
  4113. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_EnableT61DNEncoding_Proxy(
  4114. IEnroll * This,
  4115. /* [in] */ BOOL fBool);
  4116. void __RPC_STUB IEnroll_put_EnableT61DNEncoding_Stub(
  4117. IRpcStubBuffer *This,
  4118. IRpcChannelBuffer *_pRpcChannelBuffer,
  4119. PRPC_MESSAGE _pRpcMessage,
  4120. DWORD *_pdwStubPhase);
  4121. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_WriteCertToCSP_Proxy(
  4122. IEnroll * This,
  4123. /* [out] */ BOOL *fBool);
  4124. void __RPC_STUB IEnroll_get_WriteCertToCSP_Stub(
  4125. IRpcStubBuffer *This,
  4126. IRpcChannelBuffer *_pRpcChannelBuffer,
  4127. PRPC_MESSAGE _pRpcMessage,
  4128. DWORD *_pdwStubPhase);
  4129. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_WriteCertToCSP_Proxy(
  4130. IEnroll * This,
  4131. /* [in] */ BOOL fBool);
  4132. void __RPC_STUB IEnroll_put_WriteCertToCSP_Stub(
  4133. IRpcStubBuffer *This,
  4134. IRpcChannelBuffer *_pRpcChannelBuffer,
  4135. PRPC_MESSAGE _pRpcMessage,
  4136. DWORD *_pdwStubPhase);
  4137. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_SPCFileNameWStr_Proxy(
  4138. IEnroll * This,
  4139. /* [out] */ LPWSTR *szw);
  4140. void __RPC_STUB IEnroll_get_SPCFileNameWStr_Stub(
  4141. IRpcStubBuffer *This,
  4142. IRpcChannelBuffer *_pRpcChannelBuffer,
  4143. PRPC_MESSAGE _pRpcMessage,
  4144. DWORD *_pdwStubPhase);
  4145. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_SPCFileNameWStr_Proxy(
  4146. IEnroll * This,
  4147. /* [in] */ LPWSTR szw);
  4148. void __RPC_STUB IEnroll_put_SPCFileNameWStr_Stub(
  4149. IRpcStubBuffer *This,
  4150. IRpcChannelBuffer *_pRpcChannelBuffer,
  4151. PRPC_MESSAGE _pRpcMessage,
  4152. DWORD *_pdwStubPhase);
  4153. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_PVKFileNameWStr_Proxy(
  4154. IEnroll * This,
  4155. /* [out] */ LPWSTR *szw);
  4156. void __RPC_STUB IEnroll_get_PVKFileNameWStr_Stub(
  4157. IRpcStubBuffer *This,
  4158. IRpcChannelBuffer *_pRpcChannelBuffer,
  4159. PRPC_MESSAGE _pRpcMessage,
  4160. DWORD *_pdwStubPhase);
  4161. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_PVKFileNameWStr_Proxy(
  4162. IEnroll * This,
  4163. /* [in] */ LPWSTR szw);
  4164. void __RPC_STUB IEnroll_put_PVKFileNameWStr_Stub(
  4165. IRpcStubBuffer *This,
  4166. IRpcChannelBuffer *_pRpcChannelBuffer,
  4167. PRPC_MESSAGE _pRpcMessage,
  4168. DWORD *_pdwStubPhase);
  4169. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_HashAlgorithmWStr_Proxy(
  4170. IEnroll * This,
  4171. /* [out] */ LPWSTR *szw);
  4172. void __RPC_STUB IEnroll_get_HashAlgorithmWStr_Stub(
  4173. IRpcStubBuffer *This,
  4174. IRpcChannelBuffer *_pRpcChannelBuffer,
  4175. PRPC_MESSAGE _pRpcMessage,
  4176. DWORD *_pdwStubPhase);
  4177. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_HashAlgorithmWStr_Proxy(
  4178. IEnroll * This,
  4179. /* [in] */ LPWSTR szw);
  4180. void __RPC_STUB IEnroll_put_HashAlgorithmWStr_Stub(
  4181. IRpcStubBuffer *This,
  4182. IRpcChannelBuffer *_pRpcChannelBuffer,
  4183. PRPC_MESSAGE _pRpcMessage,
  4184. DWORD *_pdwStubPhase);
  4185. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll_get_RenewalCertificate_Proxy(
  4186. IEnroll * This,
  4187. /* [out] */ PCCERT_CONTEXT *ppCertContext);
  4188. void __RPC_STUB IEnroll_get_RenewalCertificate_Stub(
  4189. IRpcStubBuffer *This,
  4190. IRpcChannelBuffer *_pRpcChannelBuffer,
  4191. PRPC_MESSAGE _pRpcMessage,
  4192. DWORD *_pdwStubPhase);
  4193. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll_put_RenewalCertificate_Proxy(
  4194. IEnroll * This,
  4195. /* [in] */ PCCERT_CONTEXT pCertContext);
  4196. void __RPC_STUB IEnroll_put_RenewalCertificate_Stub(
  4197. IRpcStubBuffer *This,
  4198. IRpcChannelBuffer *_pRpcChannelBuffer,
  4199. PRPC_MESSAGE _pRpcMessage,
  4200. DWORD *_pdwStubPhase);
  4201. HRESULT STDMETHODCALLTYPE IEnroll_AddCertTypeToRequestWStr_Proxy(
  4202. IEnroll * This,
  4203. /* [in] */ LPWSTR szw);
  4204. void __RPC_STUB IEnroll_AddCertTypeToRequestWStr_Stub(
  4205. IRpcStubBuffer *This,
  4206. IRpcChannelBuffer *_pRpcChannelBuffer,
  4207. PRPC_MESSAGE _pRpcMessage,
  4208. DWORD *_pdwStubPhase);
  4209. HRESULT STDMETHODCALLTYPE IEnroll_AddNameValuePairToSignatureWStr_Proxy(
  4210. IEnroll * This,
  4211. /* [in] */ LPWSTR Name,
  4212. /* [in] */ LPWSTR Value);
  4213. void __RPC_STUB IEnroll_AddNameValuePairToSignatureWStr_Stub(
  4214. IRpcStubBuffer *This,
  4215. IRpcChannelBuffer *_pRpcChannelBuffer,
  4216. PRPC_MESSAGE _pRpcMessage,
  4217. DWORD *_pdwStubPhase);
  4218. HRESULT STDMETHODCALLTYPE IEnroll_AddExtensionsToRequest_Proxy(
  4219. IEnroll * This,
  4220. /* [in] */ PCERT_EXTENSIONS pCertExtensions);
  4221. void __RPC_STUB IEnroll_AddExtensionsToRequest_Stub(
  4222. IRpcStubBuffer *This,
  4223. IRpcChannelBuffer *_pRpcChannelBuffer,
  4224. PRPC_MESSAGE _pRpcMessage,
  4225. DWORD *_pdwStubPhase);
  4226. HRESULT STDMETHODCALLTYPE IEnroll_AddAuthenticatedAttributesToPKCS7Request_Proxy(
  4227. IEnroll * This,
  4228. /* [in] */ PCRYPT_ATTRIBUTES pAttributes);
  4229. void __RPC_STUB IEnroll_AddAuthenticatedAttributesToPKCS7Request_Stub(
  4230. IRpcStubBuffer *This,
  4231. IRpcChannelBuffer *_pRpcChannelBuffer,
  4232. PRPC_MESSAGE _pRpcMessage,
  4233. DWORD *_pdwStubPhase);
  4234. HRESULT STDMETHODCALLTYPE IEnroll_CreatePKCS7RequestFromRequest_Proxy(
  4235. IEnroll * This,
  4236. /* [in] */ PCRYPT_DATA_BLOB pRequest,
  4237. /* [in] */ PCCERT_CONTEXT pSigningCertContext,
  4238. /* [out] */ PCRYPT_DATA_BLOB pPkcs7Blob);
  4239. void __RPC_STUB IEnroll_CreatePKCS7RequestFromRequest_Stub(
  4240. IRpcStubBuffer *This,
  4241. IRpcChannelBuffer *_pRpcChannelBuffer,
  4242. PRPC_MESSAGE _pRpcMessage,
  4243. DWORD *_pdwStubPhase);
  4244. #endif /* __IEnroll_INTERFACE_DEFINED__ */
  4245. #ifndef __IEnroll2_INTERFACE_DEFINED__
  4246. #define __IEnroll2_INTERFACE_DEFINED__
  4247. /* interface IEnroll2 */
  4248. /* [unique][helpstring][local][uuid][object] */
  4249. EXTERN_C const IID IID_IEnroll2;
  4250. #if defined(__cplusplus) && !defined(CINTERFACE)
  4251. MIDL_INTERFACE("c080e199-b7df-11d2-a421-00c04f79fe8e")
  4252. IEnroll2 : public IEnroll
  4253. {
  4254. public:
  4255. virtual HRESULT STDMETHODCALLTYPE InstallPKCS7Blob(
  4256. /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7) = 0;
  4257. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  4258. virtual HRESULT STDMETHODCALLTYPE GetSupportedKeySpec(
  4259. /* [out] */ LONG *pdwKeySpec) = 0;
  4260. virtual HRESULT STDMETHODCALLTYPE GetKeyLen(
  4261. /* [in] */ BOOL fMin,
  4262. /* [in] */ BOOL fExchange,
  4263. /* [out] */ LONG *pdwKeySize) = 0;
  4264. virtual HRESULT STDMETHODCALLTYPE EnumAlgs(
  4265. /* [in] */ LONG dwIndex,
  4266. /* [in] */ LONG algClass,
  4267. /* [out] */ LONG *pdwAlgID) = 0;
  4268. virtual HRESULT STDMETHODCALLTYPE GetAlgNameWStr(
  4269. /* [in] */ LONG algID,
  4270. /* [out] */ LPWSTR *ppwsz) = 0;
  4271. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ReuseHardwareKeyIfUnableToGenNew(
  4272. /* [in] */ BOOL fReuseHardwareKeyIfUnableToGenNew) = 0;
  4273. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ReuseHardwareKeyIfUnableToGenNew(
  4274. /* [out] */ BOOL *fReuseHardwareKeyIfUnableToGenNew) = 0;
  4275. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HashAlgID(
  4276. /* [in] */ LONG hashAlgID) = 0;
  4277. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HashAlgID(
  4278. /* [retval][out] */ LONG *hashAlgID) = 0;
  4279. virtual HRESULT STDMETHODCALLTYPE SetHStoreMy(
  4280. /* [in] */ HCERTSTORE hStore) = 0;
  4281. virtual HRESULT STDMETHODCALLTYPE SetHStoreCA(
  4282. /* [in] */ HCERTSTORE hStore) = 0;
  4283. virtual HRESULT STDMETHODCALLTYPE SetHStoreROOT(
  4284. /* [in] */ HCERTSTORE hStore) = 0;
  4285. virtual HRESULT STDMETHODCALLTYPE SetHStoreRequest(
  4286. /* [in] */ HCERTSTORE hStore) = 0;
  4287. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LimitExchangeKeyToEncipherment(
  4288. /* [in] */ BOOL fLimitExchangeKeyToEncipherment) = 0;
  4289. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LimitExchangeKeyToEncipherment(
  4290. /* [retval][out] */ BOOL *fLimitExchangeKeyToEncipherment) = 0;
  4291. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_EnableSMIMECapabilities(
  4292. /* [in] */ BOOL fEnableSMIMECapabilities) = 0;
  4293. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EnableSMIMECapabilities(
  4294. /* [retval][out] */ BOOL *fEnableSMIMECapabilities) = 0;
  4295. };
  4296. #else /* C style interface */
  4297. typedef struct IEnroll2Vtbl
  4298. {
  4299. BEGIN_INTERFACE
  4300. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4301. IEnroll2 * This,
  4302. /* [in] */ REFIID riid,
  4303. /* [iid_is][out] */ void **ppvObject);
  4304. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4305. IEnroll2 * This);
  4306. ULONG ( STDMETHODCALLTYPE *Release )(
  4307. IEnroll2 * This);
  4308. HRESULT ( STDMETHODCALLTYPE *createFilePKCS10WStr )(
  4309. IEnroll2 * This,
  4310. /* [in] */ LPCWSTR DNName,
  4311. /* [in] */ LPCWSTR Usage,
  4312. /* [in] */ LPCWSTR wszPKCS10FileName);
  4313. HRESULT ( STDMETHODCALLTYPE *acceptFilePKCS7WStr )(
  4314. IEnroll2 * This,
  4315. /* [in] */ LPCWSTR wszPKCS7FileName);
  4316. HRESULT ( STDMETHODCALLTYPE *createPKCS10WStr )(
  4317. IEnroll2 * This,
  4318. /* [in] */ LPCWSTR DNName,
  4319. /* [in] */ LPCWSTR Usage,
  4320. /* [out] */ PCRYPT_DATA_BLOB pPkcs10Blob);
  4321. HRESULT ( STDMETHODCALLTYPE *acceptPKCS7Blob )(
  4322. IEnroll2 * This,
  4323. /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7);
  4324. PCCERT_CONTEXT ( STDMETHODCALLTYPE *getCertContextFromPKCS7 )(
  4325. IEnroll2 * This,
  4326. /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7);
  4327. HCERTSTORE ( STDMETHODCALLTYPE *getMyStore )(
  4328. IEnroll2 * This);
  4329. HCERTSTORE ( STDMETHODCALLTYPE *getCAStore )(
  4330. IEnroll2 * This);
  4331. HCERTSTORE ( STDMETHODCALLTYPE *getROOTHStore )(
  4332. IEnroll2 * This);
  4333. HRESULT ( STDMETHODCALLTYPE *enumProvidersWStr )(
  4334. IEnroll2 * This,
  4335. /* [in] */ LONG dwIndex,
  4336. /* [in] */ LONG dwFlags,
  4337. /* [out] */ LPWSTR *pbstrProvName);
  4338. HRESULT ( STDMETHODCALLTYPE *enumContainersWStr )(
  4339. IEnroll2 * This,
  4340. /* [in] */ LONG dwIndex,
  4341. /* [out] */ LPWSTR *pbstr);
  4342. HRESULT ( STDMETHODCALLTYPE *freeRequestInfoBlob )(
  4343. IEnroll2 * This,
  4344. /* [in] */ CRYPT_DATA_BLOB pkcs7OrPkcs10);
  4345. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreNameWStr )(
  4346. IEnroll2 * This,
  4347. /* [out] */ LPWSTR *szwName);
  4348. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreNameWStr )(
  4349. IEnroll2 * This,
  4350. /* [in] */ LPWSTR szwName);
  4351. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreTypeWStr )(
  4352. IEnroll2 * This,
  4353. /* [out] */ LPWSTR *szwType);
  4354. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreTypeWStr )(
  4355. IEnroll2 * This,
  4356. /* [in] */ LPWSTR szwType);
  4357. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreFlags )(
  4358. IEnroll2 * This,
  4359. /* [out] */ LONG *pdwFlags);
  4360. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreFlags )(
  4361. IEnroll2 * This,
  4362. /* [in] */ LONG dwFlags);
  4363. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreNameWStr )(
  4364. IEnroll2 * This,
  4365. /* [out] */ LPWSTR *szwName);
  4366. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreNameWStr )(
  4367. IEnroll2 * This,
  4368. /* [in] */ LPWSTR szwName);
  4369. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreTypeWStr )(
  4370. IEnroll2 * This,
  4371. /* [out] */ LPWSTR *szwType);
  4372. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreTypeWStr )(
  4373. IEnroll2 * This,
  4374. /* [in] */ LPWSTR szwType);
  4375. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreFlags )(
  4376. IEnroll2 * This,
  4377. /* [out] */ LONG *pdwFlags);
  4378. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreFlags )(
  4379. IEnroll2 * This,
  4380. /* [in] */ LONG dwFlags);
  4381. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreNameWStr )(
  4382. IEnroll2 * This,
  4383. /* [out] */ LPWSTR *szwName);
  4384. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreNameWStr )(
  4385. IEnroll2 * This,
  4386. /* [in] */ LPWSTR szwName);
  4387. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreTypeWStr )(
  4388. IEnroll2 * This,
  4389. /* [out] */ LPWSTR *szwType);
  4390. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreTypeWStr )(
  4391. IEnroll2 * This,
  4392. /* [in] */ LPWSTR szwType);
  4393. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreFlags )(
  4394. IEnroll2 * This,
  4395. /* [out] */ LONG *pdwFlags);
  4396. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreFlags )(
  4397. IEnroll2 * This,
  4398. /* [in] */ LONG dwFlags);
  4399. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreNameWStr )(
  4400. IEnroll2 * This,
  4401. /* [out] */ LPWSTR *szwName);
  4402. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreNameWStr )(
  4403. IEnroll2 * This,
  4404. /* [in] */ LPWSTR szwName);
  4405. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreTypeWStr )(
  4406. IEnroll2 * This,
  4407. /* [out] */ LPWSTR *szwType);
  4408. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreTypeWStr )(
  4409. IEnroll2 * This,
  4410. /* [in] */ LPWSTR szwType);
  4411. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreFlags )(
  4412. IEnroll2 * This,
  4413. /* [out] */ LONG *pdwFlags);
  4414. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreFlags )(
  4415. IEnroll2 * This,
  4416. /* [in] */ LONG dwFlags);
  4417. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainerNameWStr )(
  4418. IEnroll2 * This,
  4419. /* [out] */ LPWSTR *szwContainer);
  4420. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ContainerNameWStr )(
  4421. IEnroll2 * This,
  4422. /* [in] */ LPWSTR szwContainer);
  4423. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderNameWStr )(
  4424. IEnroll2 * This,
  4425. /* [out] */ LPWSTR *szwProvider);
  4426. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderNameWStr )(
  4427. IEnroll2 * This,
  4428. /* [in] */ LPWSTR szwProvider);
  4429. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderType )(
  4430. IEnroll2 * This,
  4431. /* [out] */ LONG *pdwType);
  4432. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderType )(
  4433. IEnroll2 * This,
  4434. /* [in] */ LONG dwType);
  4435. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeySpec )(
  4436. IEnroll2 * This,
  4437. /* [out] */ LONG *pdw);
  4438. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_KeySpec )(
  4439. IEnroll2 * This,
  4440. /* [in] */ LONG dw);
  4441. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderFlags )(
  4442. IEnroll2 * This,
  4443. /* [out] */ LONG *pdwFlags);
  4444. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderFlags )(
  4445. IEnroll2 * This,
  4446. /* [in] */ LONG dwFlags);
  4447. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UseExistingKeySet )(
  4448. IEnroll2 * This,
  4449. /* [out] */ BOOL *fUseExistingKeys);
  4450. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UseExistingKeySet )(
  4451. IEnroll2 * This,
  4452. /* [in] */ BOOL fUseExistingKeys);
  4453. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GenKeyFlags )(
  4454. IEnroll2 * This,
  4455. /* [out] */ LONG *pdwFlags);
  4456. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_GenKeyFlags )(
  4457. IEnroll2 * This,
  4458. /* [in] */ LONG dwFlags);
  4459. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DeleteRequestCert )(
  4460. IEnroll2 * This,
  4461. /* [out] */ BOOL *fDelete);
  4462. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DeleteRequestCert )(
  4463. IEnroll2 * This,
  4464. /* [in] */ BOOL fDelete);
  4465. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WriteCertToUserDS )(
  4466. IEnroll2 * This,
  4467. /* [out] */ BOOL *fBool);
  4468. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_WriteCertToUserDS )(
  4469. IEnroll2 * This,
  4470. /* [in] */ BOOL fBool);
  4471. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnableT61DNEncoding )(
  4472. IEnroll2 * This,
  4473. /* [out] */ BOOL *fBool);
  4474. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnableT61DNEncoding )(
  4475. IEnroll2 * This,
  4476. /* [in] */ BOOL fBool);
  4477. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WriteCertToCSP )(
  4478. IEnroll2 * This,
  4479. /* [out] */ BOOL *fBool);
  4480. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_WriteCertToCSP )(
  4481. IEnroll2 * This,
  4482. /* [in] */ BOOL fBool);
  4483. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SPCFileNameWStr )(
  4484. IEnroll2 * This,
  4485. /* [out] */ LPWSTR *szw);
  4486. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SPCFileNameWStr )(
  4487. IEnroll2 * This,
  4488. /* [in] */ LPWSTR szw);
  4489. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PVKFileNameWStr )(
  4490. IEnroll2 * This,
  4491. /* [out] */ LPWSTR *szw);
  4492. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PVKFileNameWStr )(
  4493. IEnroll2 * This,
  4494. /* [in] */ LPWSTR szw);
  4495. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HashAlgorithmWStr )(
  4496. IEnroll2 * This,
  4497. /* [out] */ LPWSTR *szw);
  4498. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HashAlgorithmWStr )(
  4499. IEnroll2 * This,
  4500. /* [in] */ LPWSTR szw);
  4501. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RenewalCertificate )(
  4502. IEnroll2 * This,
  4503. /* [out] */ PCCERT_CONTEXT *ppCertContext);
  4504. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RenewalCertificate )(
  4505. IEnroll2 * This,
  4506. /* [in] */ PCCERT_CONTEXT pCertContext);
  4507. HRESULT ( STDMETHODCALLTYPE *AddCertTypeToRequestWStr )(
  4508. IEnroll2 * This,
  4509. /* [in] */ LPWSTR szw);
  4510. HRESULT ( STDMETHODCALLTYPE *AddNameValuePairToSignatureWStr )(
  4511. IEnroll2 * This,
  4512. /* [in] */ LPWSTR Name,
  4513. /* [in] */ LPWSTR Value);
  4514. HRESULT ( STDMETHODCALLTYPE *AddExtensionsToRequest )(
  4515. IEnroll2 * This,
  4516. /* [in] */ PCERT_EXTENSIONS pCertExtensions);
  4517. HRESULT ( STDMETHODCALLTYPE *AddAuthenticatedAttributesToPKCS7Request )(
  4518. IEnroll2 * This,
  4519. /* [in] */ PCRYPT_ATTRIBUTES pAttributes);
  4520. HRESULT ( STDMETHODCALLTYPE *CreatePKCS7RequestFromRequest )(
  4521. IEnroll2 * This,
  4522. /* [in] */ PCRYPT_DATA_BLOB pRequest,
  4523. /* [in] */ PCCERT_CONTEXT pSigningCertContext,
  4524. /* [out] */ PCRYPT_DATA_BLOB pPkcs7Blob);
  4525. HRESULT ( STDMETHODCALLTYPE *InstallPKCS7Blob )(
  4526. IEnroll2 * This,
  4527. /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7);
  4528. HRESULT ( STDMETHODCALLTYPE *Reset )(
  4529. IEnroll2 * This);
  4530. HRESULT ( STDMETHODCALLTYPE *GetSupportedKeySpec )(
  4531. IEnroll2 * This,
  4532. /* [out] */ LONG *pdwKeySpec);
  4533. HRESULT ( STDMETHODCALLTYPE *GetKeyLen )(
  4534. IEnroll2 * This,
  4535. /* [in] */ BOOL fMin,
  4536. /* [in] */ BOOL fExchange,
  4537. /* [out] */ LONG *pdwKeySize);
  4538. HRESULT ( STDMETHODCALLTYPE *EnumAlgs )(
  4539. IEnroll2 * This,
  4540. /* [in] */ LONG dwIndex,
  4541. /* [in] */ LONG algClass,
  4542. /* [out] */ LONG *pdwAlgID);
  4543. HRESULT ( STDMETHODCALLTYPE *GetAlgNameWStr )(
  4544. IEnroll2 * This,
  4545. /* [in] */ LONG algID,
  4546. /* [out] */ LPWSTR *ppwsz);
  4547. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ReuseHardwareKeyIfUnableToGenNew )(
  4548. IEnroll2 * This,
  4549. /* [in] */ BOOL fReuseHardwareKeyIfUnableToGenNew);
  4550. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReuseHardwareKeyIfUnableToGenNew )(
  4551. IEnroll2 * This,
  4552. /* [out] */ BOOL *fReuseHardwareKeyIfUnableToGenNew);
  4553. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HashAlgID )(
  4554. IEnroll2 * This,
  4555. /* [in] */ LONG hashAlgID);
  4556. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HashAlgID )(
  4557. IEnroll2 * This,
  4558. /* [retval][out] */ LONG *hashAlgID);
  4559. HRESULT ( STDMETHODCALLTYPE *SetHStoreMy )(
  4560. IEnroll2 * This,
  4561. /* [in] */ HCERTSTORE hStore);
  4562. HRESULT ( STDMETHODCALLTYPE *SetHStoreCA )(
  4563. IEnroll2 * This,
  4564. /* [in] */ HCERTSTORE hStore);
  4565. HRESULT ( STDMETHODCALLTYPE *SetHStoreROOT )(
  4566. IEnroll2 * This,
  4567. /* [in] */ HCERTSTORE hStore);
  4568. HRESULT ( STDMETHODCALLTYPE *SetHStoreRequest )(
  4569. IEnroll2 * This,
  4570. /* [in] */ HCERTSTORE hStore);
  4571. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_LimitExchangeKeyToEncipherment )(
  4572. IEnroll2 * This,
  4573. /* [in] */ BOOL fLimitExchangeKeyToEncipherment);
  4574. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LimitExchangeKeyToEncipherment )(
  4575. IEnroll2 * This,
  4576. /* [retval][out] */ BOOL *fLimitExchangeKeyToEncipherment);
  4577. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnableSMIMECapabilities )(
  4578. IEnroll2 * This,
  4579. /* [in] */ BOOL fEnableSMIMECapabilities);
  4580. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnableSMIMECapabilities )(
  4581. IEnroll2 * This,
  4582. /* [retval][out] */ BOOL *fEnableSMIMECapabilities);
  4583. END_INTERFACE
  4584. } IEnroll2Vtbl;
  4585. interface IEnroll2
  4586. {
  4587. CONST_VTBL struct IEnroll2Vtbl *lpVtbl;
  4588. };
  4589. #ifdef COBJMACROS
  4590. #define IEnroll2_QueryInterface(This,riid,ppvObject) \
  4591. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4592. #define IEnroll2_AddRef(This) \
  4593. (This)->lpVtbl -> AddRef(This)
  4594. #define IEnroll2_Release(This) \
  4595. (This)->lpVtbl -> Release(This)
  4596. #define IEnroll2_createFilePKCS10WStr(This,DNName,Usage,wszPKCS10FileName) \
  4597. (This)->lpVtbl -> createFilePKCS10WStr(This,DNName,Usage,wszPKCS10FileName)
  4598. #define IEnroll2_acceptFilePKCS7WStr(This,wszPKCS7FileName) \
  4599. (This)->lpVtbl -> acceptFilePKCS7WStr(This,wszPKCS7FileName)
  4600. #define IEnroll2_createPKCS10WStr(This,DNName,Usage,pPkcs10Blob) \
  4601. (This)->lpVtbl -> createPKCS10WStr(This,DNName,Usage,pPkcs10Blob)
  4602. #define IEnroll2_acceptPKCS7Blob(This,pBlobPKCS7) \
  4603. (This)->lpVtbl -> acceptPKCS7Blob(This,pBlobPKCS7)
  4604. #define IEnroll2_getCertContextFromPKCS7(This,pBlobPKCS7) \
  4605. (This)->lpVtbl -> getCertContextFromPKCS7(This,pBlobPKCS7)
  4606. #define IEnroll2_getMyStore(This) \
  4607. (This)->lpVtbl -> getMyStore(This)
  4608. #define IEnroll2_getCAStore(This) \
  4609. (This)->lpVtbl -> getCAStore(This)
  4610. #define IEnroll2_getROOTHStore(This) \
  4611. (This)->lpVtbl -> getROOTHStore(This)
  4612. #define IEnroll2_enumProvidersWStr(This,dwIndex,dwFlags,pbstrProvName) \
  4613. (This)->lpVtbl -> enumProvidersWStr(This,dwIndex,dwFlags,pbstrProvName)
  4614. #define IEnroll2_enumContainersWStr(This,dwIndex,pbstr) \
  4615. (This)->lpVtbl -> enumContainersWStr(This,dwIndex,pbstr)
  4616. #define IEnroll2_freeRequestInfoBlob(This,pkcs7OrPkcs10) \
  4617. (This)->lpVtbl -> freeRequestInfoBlob(This,pkcs7OrPkcs10)
  4618. #define IEnroll2_get_MyStoreNameWStr(This,szwName) \
  4619. (This)->lpVtbl -> get_MyStoreNameWStr(This,szwName)
  4620. #define IEnroll2_put_MyStoreNameWStr(This,szwName) \
  4621. (This)->lpVtbl -> put_MyStoreNameWStr(This,szwName)
  4622. #define IEnroll2_get_MyStoreTypeWStr(This,szwType) \
  4623. (This)->lpVtbl -> get_MyStoreTypeWStr(This,szwType)
  4624. #define IEnroll2_put_MyStoreTypeWStr(This,szwType) \
  4625. (This)->lpVtbl -> put_MyStoreTypeWStr(This,szwType)
  4626. #define IEnroll2_get_MyStoreFlags(This,pdwFlags) \
  4627. (This)->lpVtbl -> get_MyStoreFlags(This,pdwFlags)
  4628. #define IEnroll2_put_MyStoreFlags(This,dwFlags) \
  4629. (This)->lpVtbl -> put_MyStoreFlags(This,dwFlags)
  4630. #define IEnroll2_get_CAStoreNameWStr(This,szwName) \
  4631. (This)->lpVtbl -> get_CAStoreNameWStr(This,szwName)
  4632. #define IEnroll2_put_CAStoreNameWStr(This,szwName) \
  4633. (This)->lpVtbl -> put_CAStoreNameWStr(This,szwName)
  4634. #define IEnroll2_get_CAStoreTypeWStr(This,szwType) \
  4635. (This)->lpVtbl -> get_CAStoreTypeWStr(This,szwType)
  4636. #define IEnroll2_put_CAStoreTypeWStr(This,szwType) \
  4637. (This)->lpVtbl -> put_CAStoreTypeWStr(This,szwType)
  4638. #define IEnroll2_get_CAStoreFlags(This,pdwFlags) \
  4639. (This)->lpVtbl -> get_CAStoreFlags(This,pdwFlags)
  4640. #define IEnroll2_put_CAStoreFlags(This,dwFlags) \
  4641. (This)->lpVtbl -> put_CAStoreFlags(This,dwFlags)
  4642. #define IEnroll2_get_RootStoreNameWStr(This,szwName) \
  4643. (This)->lpVtbl -> get_RootStoreNameWStr(This,szwName)
  4644. #define IEnroll2_put_RootStoreNameWStr(This,szwName) \
  4645. (This)->lpVtbl -> put_RootStoreNameWStr(This,szwName)
  4646. #define IEnroll2_get_RootStoreTypeWStr(This,szwType) \
  4647. (This)->lpVtbl -> get_RootStoreTypeWStr(This,szwType)
  4648. #define IEnroll2_put_RootStoreTypeWStr(This,szwType) \
  4649. (This)->lpVtbl -> put_RootStoreTypeWStr(This,szwType)
  4650. #define IEnroll2_get_RootStoreFlags(This,pdwFlags) \
  4651. (This)->lpVtbl -> get_RootStoreFlags(This,pdwFlags)
  4652. #define IEnroll2_put_RootStoreFlags(This,dwFlags) \
  4653. (This)->lpVtbl -> put_RootStoreFlags(This,dwFlags)
  4654. #define IEnroll2_get_RequestStoreNameWStr(This,szwName) \
  4655. (This)->lpVtbl -> get_RequestStoreNameWStr(This,szwName)
  4656. #define IEnroll2_put_RequestStoreNameWStr(This,szwName) \
  4657. (This)->lpVtbl -> put_RequestStoreNameWStr(This,szwName)
  4658. #define IEnroll2_get_RequestStoreTypeWStr(This,szwType) \
  4659. (This)->lpVtbl -> get_RequestStoreTypeWStr(This,szwType)
  4660. #define IEnroll2_put_RequestStoreTypeWStr(This,szwType) \
  4661. (This)->lpVtbl -> put_RequestStoreTypeWStr(This,szwType)
  4662. #define IEnroll2_get_RequestStoreFlags(This,pdwFlags) \
  4663. (This)->lpVtbl -> get_RequestStoreFlags(This,pdwFlags)
  4664. #define IEnroll2_put_RequestStoreFlags(This,dwFlags) \
  4665. (This)->lpVtbl -> put_RequestStoreFlags(This,dwFlags)
  4666. #define IEnroll2_get_ContainerNameWStr(This,szwContainer) \
  4667. (This)->lpVtbl -> get_ContainerNameWStr(This,szwContainer)
  4668. #define IEnroll2_put_ContainerNameWStr(This,szwContainer) \
  4669. (This)->lpVtbl -> put_ContainerNameWStr(This,szwContainer)
  4670. #define IEnroll2_get_ProviderNameWStr(This,szwProvider) \
  4671. (This)->lpVtbl -> get_ProviderNameWStr(This,szwProvider)
  4672. #define IEnroll2_put_ProviderNameWStr(This,szwProvider) \
  4673. (This)->lpVtbl -> put_ProviderNameWStr(This,szwProvider)
  4674. #define IEnroll2_get_ProviderType(This,pdwType) \
  4675. (This)->lpVtbl -> get_ProviderType(This,pdwType)
  4676. #define IEnroll2_put_ProviderType(This,dwType) \
  4677. (This)->lpVtbl -> put_ProviderType(This,dwType)
  4678. #define IEnroll2_get_KeySpec(This,pdw) \
  4679. (This)->lpVtbl -> get_KeySpec(This,pdw)
  4680. #define IEnroll2_put_KeySpec(This,dw) \
  4681. (This)->lpVtbl -> put_KeySpec(This,dw)
  4682. #define IEnroll2_get_ProviderFlags(This,pdwFlags) \
  4683. (This)->lpVtbl -> get_ProviderFlags(This,pdwFlags)
  4684. #define IEnroll2_put_ProviderFlags(This,dwFlags) \
  4685. (This)->lpVtbl -> put_ProviderFlags(This,dwFlags)
  4686. #define IEnroll2_get_UseExistingKeySet(This,fUseExistingKeys) \
  4687. (This)->lpVtbl -> get_UseExistingKeySet(This,fUseExistingKeys)
  4688. #define IEnroll2_put_UseExistingKeySet(This,fUseExistingKeys) \
  4689. (This)->lpVtbl -> put_UseExistingKeySet(This,fUseExistingKeys)
  4690. #define IEnroll2_get_GenKeyFlags(This,pdwFlags) \
  4691. (This)->lpVtbl -> get_GenKeyFlags(This,pdwFlags)
  4692. #define IEnroll2_put_GenKeyFlags(This,dwFlags) \
  4693. (This)->lpVtbl -> put_GenKeyFlags(This,dwFlags)
  4694. #define IEnroll2_get_DeleteRequestCert(This,fDelete) \
  4695. (This)->lpVtbl -> get_DeleteRequestCert(This,fDelete)
  4696. #define IEnroll2_put_DeleteRequestCert(This,fDelete) \
  4697. (This)->lpVtbl -> put_DeleteRequestCert(This,fDelete)
  4698. #define IEnroll2_get_WriteCertToUserDS(This,fBool) \
  4699. (This)->lpVtbl -> get_WriteCertToUserDS(This,fBool)
  4700. #define IEnroll2_put_WriteCertToUserDS(This,fBool) \
  4701. (This)->lpVtbl -> put_WriteCertToUserDS(This,fBool)
  4702. #define IEnroll2_get_EnableT61DNEncoding(This,fBool) \
  4703. (This)->lpVtbl -> get_EnableT61DNEncoding(This,fBool)
  4704. #define IEnroll2_put_EnableT61DNEncoding(This,fBool) \
  4705. (This)->lpVtbl -> put_EnableT61DNEncoding(This,fBool)
  4706. #define IEnroll2_get_WriteCertToCSP(This,fBool) \
  4707. (This)->lpVtbl -> get_WriteCertToCSP(This,fBool)
  4708. #define IEnroll2_put_WriteCertToCSP(This,fBool) \
  4709. (This)->lpVtbl -> put_WriteCertToCSP(This,fBool)
  4710. #define IEnroll2_get_SPCFileNameWStr(This,szw) \
  4711. (This)->lpVtbl -> get_SPCFileNameWStr(This,szw)
  4712. #define IEnroll2_put_SPCFileNameWStr(This,szw) \
  4713. (This)->lpVtbl -> put_SPCFileNameWStr(This,szw)
  4714. #define IEnroll2_get_PVKFileNameWStr(This,szw) \
  4715. (This)->lpVtbl -> get_PVKFileNameWStr(This,szw)
  4716. #define IEnroll2_put_PVKFileNameWStr(This,szw) \
  4717. (This)->lpVtbl -> put_PVKFileNameWStr(This,szw)
  4718. #define IEnroll2_get_HashAlgorithmWStr(This,szw) \
  4719. (This)->lpVtbl -> get_HashAlgorithmWStr(This,szw)
  4720. #define IEnroll2_put_HashAlgorithmWStr(This,szw) \
  4721. (This)->lpVtbl -> put_HashAlgorithmWStr(This,szw)
  4722. #define IEnroll2_get_RenewalCertificate(This,ppCertContext) \
  4723. (This)->lpVtbl -> get_RenewalCertificate(This,ppCertContext)
  4724. #define IEnroll2_put_RenewalCertificate(This,pCertContext) \
  4725. (This)->lpVtbl -> put_RenewalCertificate(This,pCertContext)
  4726. #define IEnroll2_AddCertTypeToRequestWStr(This,szw) \
  4727. (This)->lpVtbl -> AddCertTypeToRequestWStr(This,szw)
  4728. #define IEnroll2_AddNameValuePairToSignatureWStr(This,Name,Value) \
  4729. (This)->lpVtbl -> AddNameValuePairToSignatureWStr(This,Name,Value)
  4730. #define IEnroll2_AddExtensionsToRequest(This,pCertExtensions) \
  4731. (This)->lpVtbl -> AddExtensionsToRequest(This,pCertExtensions)
  4732. #define IEnroll2_AddAuthenticatedAttributesToPKCS7Request(This,pAttributes) \
  4733. (This)->lpVtbl -> AddAuthenticatedAttributesToPKCS7Request(This,pAttributes)
  4734. #define IEnroll2_CreatePKCS7RequestFromRequest(This,pRequest,pSigningCertContext,pPkcs7Blob) \
  4735. (This)->lpVtbl -> CreatePKCS7RequestFromRequest(This,pRequest,pSigningCertContext,pPkcs7Blob)
  4736. #define IEnroll2_InstallPKCS7Blob(This,pBlobPKCS7) \
  4737. (This)->lpVtbl -> InstallPKCS7Blob(This,pBlobPKCS7)
  4738. #define IEnroll2_Reset(This) \
  4739. (This)->lpVtbl -> Reset(This)
  4740. #define IEnroll2_GetSupportedKeySpec(This,pdwKeySpec) \
  4741. (This)->lpVtbl -> GetSupportedKeySpec(This,pdwKeySpec)
  4742. #define IEnroll2_GetKeyLen(This,fMin,fExchange,pdwKeySize) \
  4743. (This)->lpVtbl -> GetKeyLen(This,fMin,fExchange,pdwKeySize)
  4744. #define IEnroll2_EnumAlgs(This,dwIndex,algClass,pdwAlgID) \
  4745. (This)->lpVtbl -> EnumAlgs(This,dwIndex,algClass,pdwAlgID)
  4746. #define IEnroll2_GetAlgNameWStr(This,algID,ppwsz) \
  4747. (This)->lpVtbl -> GetAlgNameWStr(This,algID,ppwsz)
  4748. #define IEnroll2_put_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew) \
  4749. (This)->lpVtbl -> put_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew)
  4750. #define IEnroll2_get_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew) \
  4751. (This)->lpVtbl -> get_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew)
  4752. #define IEnroll2_put_HashAlgID(This,hashAlgID) \
  4753. (This)->lpVtbl -> put_HashAlgID(This,hashAlgID)
  4754. #define IEnroll2_get_HashAlgID(This,hashAlgID) \
  4755. (This)->lpVtbl -> get_HashAlgID(This,hashAlgID)
  4756. #define IEnroll2_SetHStoreMy(This,hStore) \
  4757. (This)->lpVtbl -> SetHStoreMy(This,hStore)
  4758. #define IEnroll2_SetHStoreCA(This,hStore) \
  4759. (This)->lpVtbl -> SetHStoreCA(This,hStore)
  4760. #define IEnroll2_SetHStoreROOT(This,hStore) \
  4761. (This)->lpVtbl -> SetHStoreROOT(This,hStore)
  4762. #define IEnroll2_SetHStoreRequest(This,hStore) \
  4763. (This)->lpVtbl -> SetHStoreRequest(This,hStore)
  4764. #define IEnroll2_put_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment) \
  4765. (This)->lpVtbl -> put_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment)
  4766. #define IEnroll2_get_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment) \
  4767. (This)->lpVtbl -> get_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment)
  4768. #define IEnroll2_put_EnableSMIMECapabilities(This,fEnableSMIMECapabilities) \
  4769. (This)->lpVtbl -> put_EnableSMIMECapabilities(This,fEnableSMIMECapabilities)
  4770. #define IEnroll2_get_EnableSMIMECapabilities(This,fEnableSMIMECapabilities) \
  4771. (This)->lpVtbl -> get_EnableSMIMECapabilities(This,fEnableSMIMECapabilities)
  4772. #endif /* COBJMACROS */
  4773. #endif /* C style interface */
  4774. HRESULT STDMETHODCALLTYPE IEnroll2_InstallPKCS7Blob_Proxy(
  4775. IEnroll2 * This,
  4776. /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7);
  4777. void __RPC_STUB IEnroll2_InstallPKCS7Blob_Stub(
  4778. IRpcStubBuffer *This,
  4779. IRpcChannelBuffer *_pRpcChannelBuffer,
  4780. PRPC_MESSAGE _pRpcMessage,
  4781. DWORD *_pdwStubPhase);
  4782. HRESULT STDMETHODCALLTYPE IEnroll2_Reset_Proxy(
  4783. IEnroll2 * This);
  4784. void __RPC_STUB IEnroll2_Reset_Stub(
  4785. IRpcStubBuffer *This,
  4786. IRpcChannelBuffer *_pRpcChannelBuffer,
  4787. PRPC_MESSAGE _pRpcMessage,
  4788. DWORD *_pdwStubPhase);
  4789. HRESULT STDMETHODCALLTYPE IEnroll2_GetSupportedKeySpec_Proxy(
  4790. IEnroll2 * This,
  4791. /* [out] */ LONG *pdwKeySpec);
  4792. void __RPC_STUB IEnroll2_GetSupportedKeySpec_Stub(
  4793. IRpcStubBuffer *This,
  4794. IRpcChannelBuffer *_pRpcChannelBuffer,
  4795. PRPC_MESSAGE _pRpcMessage,
  4796. DWORD *_pdwStubPhase);
  4797. HRESULT STDMETHODCALLTYPE IEnroll2_GetKeyLen_Proxy(
  4798. IEnroll2 * This,
  4799. /* [in] */ BOOL fMin,
  4800. /* [in] */ BOOL fExchange,
  4801. /* [out] */ LONG *pdwKeySize);
  4802. void __RPC_STUB IEnroll2_GetKeyLen_Stub(
  4803. IRpcStubBuffer *This,
  4804. IRpcChannelBuffer *_pRpcChannelBuffer,
  4805. PRPC_MESSAGE _pRpcMessage,
  4806. DWORD *_pdwStubPhase);
  4807. HRESULT STDMETHODCALLTYPE IEnroll2_EnumAlgs_Proxy(
  4808. IEnroll2 * This,
  4809. /* [in] */ LONG dwIndex,
  4810. /* [in] */ LONG algClass,
  4811. /* [out] */ LONG *pdwAlgID);
  4812. void __RPC_STUB IEnroll2_EnumAlgs_Stub(
  4813. IRpcStubBuffer *This,
  4814. IRpcChannelBuffer *_pRpcChannelBuffer,
  4815. PRPC_MESSAGE _pRpcMessage,
  4816. DWORD *_pdwStubPhase);
  4817. HRESULT STDMETHODCALLTYPE IEnroll2_GetAlgNameWStr_Proxy(
  4818. IEnroll2 * This,
  4819. /* [in] */ LONG algID,
  4820. /* [out] */ LPWSTR *ppwsz);
  4821. void __RPC_STUB IEnroll2_GetAlgNameWStr_Stub(
  4822. IRpcStubBuffer *This,
  4823. IRpcChannelBuffer *_pRpcChannelBuffer,
  4824. PRPC_MESSAGE _pRpcMessage,
  4825. DWORD *_pdwStubPhase);
  4826. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll2_put_ReuseHardwareKeyIfUnableToGenNew_Proxy(
  4827. IEnroll2 * This,
  4828. /* [in] */ BOOL fReuseHardwareKeyIfUnableToGenNew);
  4829. void __RPC_STUB IEnroll2_put_ReuseHardwareKeyIfUnableToGenNew_Stub(
  4830. IRpcStubBuffer *This,
  4831. IRpcChannelBuffer *_pRpcChannelBuffer,
  4832. PRPC_MESSAGE _pRpcMessage,
  4833. DWORD *_pdwStubPhase);
  4834. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll2_get_ReuseHardwareKeyIfUnableToGenNew_Proxy(
  4835. IEnroll2 * This,
  4836. /* [out] */ BOOL *fReuseHardwareKeyIfUnableToGenNew);
  4837. void __RPC_STUB IEnroll2_get_ReuseHardwareKeyIfUnableToGenNew_Stub(
  4838. IRpcStubBuffer *This,
  4839. IRpcChannelBuffer *_pRpcChannelBuffer,
  4840. PRPC_MESSAGE _pRpcMessage,
  4841. DWORD *_pdwStubPhase);
  4842. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll2_put_HashAlgID_Proxy(
  4843. IEnroll2 * This,
  4844. /* [in] */ LONG hashAlgID);
  4845. void __RPC_STUB IEnroll2_put_HashAlgID_Stub(
  4846. IRpcStubBuffer *This,
  4847. IRpcChannelBuffer *_pRpcChannelBuffer,
  4848. PRPC_MESSAGE _pRpcMessage,
  4849. DWORD *_pdwStubPhase);
  4850. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll2_get_HashAlgID_Proxy(
  4851. IEnroll2 * This,
  4852. /* [retval][out] */ LONG *hashAlgID);
  4853. void __RPC_STUB IEnroll2_get_HashAlgID_Stub(
  4854. IRpcStubBuffer *This,
  4855. IRpcChannelBuffer *_pRpcChannelBuffer,
  4856. PRPC_MESSAGE _pRpcMessage,
  4857. DWORD *_pdwStubPhase);
  4858. HRESULT STDMETHODCALLTYPE IEnroll2_SetHStoreMy_Proxy(
  4859. IEnroll2 * This,
  4860. /* [in] */ HCERTSTORE hStore);
  4861. void __RPC_STUB IEnroll2_SetHStoreMy_Stub(
  4862. IRpcStubBuffer *This,
  4863. IRpcChannelBuffer *_pRpcChannelBuffer,
  4864. PRPC_MESSAGE _pRpcMessage,
  4865. DWORD *_pdwStubPhase);
  4866. HRESULT STDMETHODCALLTYPE IEnroll2_SetHStoreCA_Proxy(
  4867. IEnroll2 * This,
  4868. /* [in] */ HCERTSTORE hStore);
  4869. void __RPC_STUB IEnroll2_SetHStoreCA_Stub(
  4870. IRpcStubBuffer *This,
  4871. IRpcChannelBuffer *_pRpcChannelBuffer,
  4872. PRPC_MESSAGE _pRpcMessage,
  4873. DWORD *_pdwStubPhase);
  4874. HRESULT STDMETHODCALLTYPE IEnroll2_SetHStoreROOT_Proxy(
  4875. IEnroll2 * This,
  4876. /* [in] */ HCERTSTORE hStore);
  4877. void __RPC_STUB IEnroll2_SetHStoreROOT_Stub(
  4878. IRpcStubBuffer *This,
  4879. IRpcChannelBuffer *_pRpcChannelBuffer,
  4880. PRPC_MESSAGE _pRpcMessage,
  4881. DWORD *_pdwStubPhase);
  4882. HRESULT STDMETHODCALLTYPE IEnroll2_SetHStoreRequest_Proxy(
  4883. IEnroll2 * This,
  4884. /* [in] */ HCERTSTORE hStore);
  4885. void __RPC_STUB IEnroll2_SetHStoreRequest_Stub(
  4886. IRpcStubBuffer *This,
  4887. IRpcChannelBuffer *_pRpcChannelBuffer,
  4888. PRPC_MESSAGE _pRpcMessage,
  4889. DWORD *_pdwStubPhase);
  4890. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll2_put_LimitExchangeKeyToEncipherment_Proxy(
  4891. IEnroll2 * This,
  4892. /* [in] */ BOOL fLimitExchangeKeyToEncipherment);
  4893. void __RPC_STUB IEnroll2_put_LimitExchangeKeyToEncipherment_Stub(
  4894. IRpcStubBuffer *This,
  4895. IRpcChannelBuffer *_pRpcChannelBuffer,
  4896. PRPC_MESSAGE _pRpcMessage,
  4897. DWORD *_pdwStubPhase);
  4898. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll2_get_LimitExchangeKeyToEncipherment_Proxy(
  4899. IEnroll2 * This,
  4900. /* [retval][out] */ BOOL *fLimitExchangeKeyToEncipherment);
  4901. void __RPC_STUB IEnroll2_get_LimitExchangeKeyToEncipherment_Stub(
  4902. IRpcStubBuffer *This,
  4903. IRpcChannelBuffer *_pRpcChannelBuffer,
  4904. PRPC_MESSAGE _pRpcMessage,
  4905. DWORD *_pdwStubPhase);
  4906. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll2_put_EnableSMIMECapabilities_Proxy(
  4907. IEnroll2 * This,
  4908. /* [in] */ BOOL fEnableSMIMECapabilities);
  4909. void __RPC_STUB IEnroll2_put_EnableSMIMECapabilities_Stub(
  4910. IRpcStubBuffer *This,
  4911. IRpcChannelBuffer *_pRpcChannelBuffer,
  4912. PRPC_MESSAGE _pRpcMessage,
  4913. DWORD *_pdwStubPhase);
  4914. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll2_get_EnableSMIMECapabilities_Proxy(
  4915. IEnroll2 * This,
  4916. /* [retval][out] */ BOOL *fEnableSMIMECapabilities);
  4917. void __RPC_STUB IEnroll2_get_EnableSMIMECapabilities_Stub(
  4918. IRpcStubBuffer *This,
  4919. IRpcChannelBuffer *_pRpcChannelBuffer,
  4920. PRPC_MESSAGE _pRpcMessage,
  4921. DWORD *_pdwStubPhase);
  4922. #endif /* __IEnroll2_INTERFACE_DEFINED__ */
  4923. #ifndef __IEnroll4_INTERFACE_DEFINED__
  4924. #define __IEnroll4_INTERFACE_DEFINED__
  4925. /* interface IEnroll4 */
  4926. /* [unique][helpstring][local][uuid][object] */
  4927. EXTERN_C const IID IID_IEnroll4;
  4928. #if defined(__cplusplus) && !defined(CINTERFACE)
  4929. MIDL_INTERFACE("f8053fe5-78f4-448f-a0db-41d61b73446b")
  4930. IEnroll4 : public IEnroll2
  4931. {
  4932. public:
  4933. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ThumbPrintWStr(
  4934. /* [in] */ CRYPT_DATA_BLOB thumbPrintBlob) = 0;
  4935. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ThumbPrintWStr(
  4936. /* [retval][out] */ PCRYPT_DATA_BLOB thumbPrintBlob) = 0;
  4937. virtual HRESULT STDMETHODCALLTYPE SetPrivateKeyArchiveCertificate(
  4938. /* [in] */ PCCERT_CONTEXT pPrivateKeyArchiveCert) = 0;
  4939. virtual PCCERT_CONTEXT STDMETHODCALLTYPE GetPrivateKeyArchiveCertificate( void) = 0;
  4940. virtual HRESULT STDMETHODCALLTYPE binaryBlobToString(
  4941. /* [in] */ LONG Flags,
  4942. /* [in] */ PCRYPT_DATA_BLOB pblobBinary,
  4943. /* [out] */ LPWSTR *ppwszString) = 0;
  4944. virtual HRESULT STDMETHODCALLTYPE stringToBinaryBlob(
  4945. /* [in] */ LONG Flags,
  4946. /* [in] */ LPCWSTR pwszString,
  4947. /* [out] */ PCRYPT_DATA_BLOB pblobBinary,
  4948. /* [out] */ LONG *pdwSkip,
  4949. /* [out] */ LONG *pdwFlags) = 0;
  4950. virtual HRESULT STDMETHODCALLTYPE addExtensionToRequestWStr(
  4951. /* [in] */ LONG Flags,
  4952. /* [in] */ LPCWSTR pwszName,
  4953. /* [in] */ PCRYPT_DATA_BLOB pblobValue) = 0;
  4954. virtual HRESULT STDMETHODCALLTYPE addAttributeToRequestWStr(
  4955. /* [in] */ LONG Flags,
  4956. /* [in] */ LPCWSTR pwszName,
  4957. /* [in] */ PCRYPT_DATA_BLOB pblobValue) = 0;
  4958. virtual HRESULT STDMETHODCALLTYPE addNameValuePairToRequestWStr(
  4959. /* [in] */ LONG Flags,
  4960. /* [in] */ LPCWSTR pwszName,
  4961. /* [in] */ LPCWSTR pwszValue) = 0;
  4962. virtual HRESULT STDMETHODCALLTYPE resetExtensions( void) = 0;
  4963. virtual HRESULT STDMETHODCALLTYPE resetAttributes( void) = 0;
  4964. virtual HRESULT STDMETHODCALLTYPE createRequestWStr(
  4965. /* [in] */ LONG Flags,
  4966. /* [in] */ LPCWSTR pwszDNName,
  4967. /* [in] */ LPCWSTR pwszUsage,
  4968. /* [out] */ PCRYPT_DATA_BLOB pblobRequest) = 0;
  4969. virtual HRESULT STDMETHODCALLTYPE createFileRequestWStr(
  4970. /* [in] */ LONG Flags,
  4971. /* [in] */ LPCWSTR pwszDNName,
  4972. /* [in] */ LPCWSTR pwszUsage,
  4973. /* [in] */ LPCWSTR pwszRequestFileName) = 0;
  4974. virtual HRESULT STDMETHODCALLTYPE acceptResponseBlob(
  4975. /* [in] */ PCRYPT_DATA_BLOB pblobResponse) = 0;
  4976. virtual HRESULT STDMETHODCALLTYPE acceptFileResponseWStr(
  4977. /* [in] */ LPCWSTR pwszResponseFileName) = 0;
  4978. virtual HRESULT STDMETHODCALLTYPE getCertContextFromResponseBlob(
  4979. /* [in] */ PCRYPT_DATA_BLOB pblobResponse,
  4980. /* [out] */ PCCERT_CONTEXT *ppCertContext) = 0;
  4981. virtual HRESULT STDMETHODCALLTYPE getCertContextFromFileResponseWStr(
  4982. /* [in] */ LPCWSTR pwszResponseFileName,
  4983. /* [out] */ PCCERT_CONTEXT *ppCertContext) = 0;
  4984. virtual HRESULT STDMETHODCALLTYPE createPFXWStr(
  4985. /* [in] */ LPCWSTR pwszPassword,
  4986. /* [out] */ PCRYPT_DATA_BLOB pblobPFX) = 0;
  4987. virtual HRESULT STDMETHODCALLTYPE createFilePFXWStr(
  4988. /* [in] */ LPCWSTR pwszPassword,
  4989. /* [in] */ LPCWSTR pwszPFXFileName) = 0;
  4990. virtual HRESULT STDMETHODCALLTYPE setPendingRequestInfoWStr(
  4991. /* [in] */ LONG lRequestID,
  4992. /* [in] */ LPCWSTR pwszCADNS,
  4993. /* [in] */ LPCWSTR pwszCAName,
  4994. /* [in] */ LPCWSTR pwszFriendlyName) = 0;
  4995. virtual HRESULT STDMETHODCALLTYPE enumPendingRequestWStr(
  4996. /* [in] */ LONG lIndex,
  4997. /* [in] */ LONG lDesiredProperty,
  4998. /* [out] */ LPVOID ppProperty) = 0;
  4999. virtual HRESULT STDMETHODCALLTYPE removePendingRequestWStr(
  5000. /* [in] */ CRYPT_DATA_BLOB thumbPrintBlob) = 0;
  5001. virtual HRESULT STDMETHODCALLTYPE GetKeyLenEx(
  5002. /* [in] */ LONG lSizeSpec,
  5003. /* [in] */ LONG lKeySpec,
  5004. /* [retval][out] */ LONG *pdwKeySize) = 0;
  5005. virtual HRESULT STDMETHODCALLTYPE InstallPKCS7BlobEx(
  5006. /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7,
  5007. /* [retval][out] */ LONG *plCertInstalled) = 0;
  5008. virtual HRESULT STDMETHODCALLTYPE AddCertTypeToRequestWStrEx(
  5009. /* [in] */ LONG lType,
  5010. /* [in] */ LPCWSTR pwszOIDOrName,
  5011. /* [in] */ LONG lMajorVersion,
  5012. /* [in] */ BOOL fMinorVersion,
  5013. /* [in] */ LONG lMinorVersion) = 0;
  5014. virtual HRESULT STDMETHODCALLTYPE getProviderTypeWStr(
  5015. /* [in] */ LPCWSTR pwszProvName,
  5016. /* [retval][out] */ LONG *plProvType) = 0;
  5017. virtual HRESULT STDMETHODCALLTYPE addBlobPropertyToCertificateWStr(
  5018. /* [in] */ LONG lPropertyId,
  5019. /* [in] */ LONG lReserved,
  5020. /* [in] */ PCRYPT_DATA_BLOB pBlobProperty) = 0;
  5021. virtual HRESULT STDMETHODCALLTYPE SetSignerCertificate(
  5022. /* [in] */ PCCERT_CONTEXT pSignerCert) = 0;
  5023. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ClientId(
  5024. /* [in] */ LONG lClientId) = 0;
  5025. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ClientId(
  5026. /* [retval][out] */ LONG *plClientId) = 0;
  5027. virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IncludeSubjectKeyID(
  5028. /* [in] */ BOOL fInclude) = 0;
  5029. virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IncludeSubjectKeyID(
  5030. /* [retval][out] */ BOOL *pfInclude) = 0;
  5031. };
  5032. #else /* C style interface */
  5033. typedef struct IEnroll4Vtbl
  5034. {
  5035. BEGIN_INTERFACE
  5036. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5037. IEnroll4 * This,
  5038. /* [in] */ REFIID riid,
  5039. /* [iid_is][out] */ void **ppvObject);
  5040. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5041. IEnroll4 * This);
  5042. ULONG ( STDMETHODCALLTYPE *Release )(
  5043. IEnroll4 * This);
  5044. HRESULT ( STDMETHODCALLTYPE *createFilePKCS10WStr )(
  5045. IEnroll4 * This,
  5046. /* [in] */ LPCWSTR DNName,
  5047. /* [in] */ LPCWSTR Usage,
  5048. /* [in] */ LPCWSTR wszPKCS10FileName);
  5049. HRESULT ( STDMETHODCALLTYPE *acceptFilePKCS7WStr )(
  5050. IEnroll4 * This,
  5051. /* [in] */ LPCWSTR wszPKCS7FileName);
  5052. HRESULT ( STDMETHODCALLTYPE *createPKCS10WStr )(
  5053. IEnroll4 * This,
  5054. /* [in] */ LPCWSTR DNName,
  5055. /* [in] */ LPCWSTR Usage,
  5056. /* [out] */ PCRYPT_DATA_BLOB pPkcs10Blob);
  5057. HRESULT ( STDMETHODCALLTYPE *acceptPKCS7Blob )(
  5058. IEnroll4 * This,
  5059. /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7);
  5060. PCCERT_CONTEXT ( STDMETHODCALLTYPE *getCertContextFromPKCS7 )(
  5061. IEnroll4 * This,
  5062. /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7);
  5063. HCERTSTORE ( STDMETHODCALLTYPE *getMyStore )(
  5064. IEnroll4 * This);
  5065. HCERTSTORE ( STDMETHODCALLTYPE *getCAStore )(
  5066. IEnroll4 * This);
  5067. HCERTSTORE ( STDMETHODCALLTYPE *getROOTHStore )(
  5068. IEnroll4 * This);
  5069. HRESULT ( STDMETHODCALLTYPE *enumProvidersWStr )(
  5070. IEnroll4 * This,
  5071. /* [in] */ LONG dwIndex,
  5072. /* [in] */ LONG dwFlags,
  5073. /* [out] */ LPWSTR *pbstrProvName);
  5074. HRESULT ( STDMETHODCALLTYPE *enumContainersWStr )(
  5075. IEnroll4 * This,
  5076. /* [in] */ LONG dwIndex,
  5077. /* [out] */ LPWSTR *pbstr);
  5078. HRESULT ( STDMETHODCALLTYPE *freeRequestInfoBlob )(
  5079. IEnroll4 * This,
  5080. /* [in] */ CRYPT_DATA_BLOB pkcs7OrPkcs10);
  5081. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreNameWStr )(
  5082. IEnroll4 * This,
  5083. /* [out] */ LPWSTR *szwName);
  5084. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreNameWStr )(
  5085. IEnroll4 * This,
  5086. /* [in] */ LPWSTR szwName);
  5087. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreTypeWStr )(
  5088. IEnroll4 * This,
  5089. /* [out] */ LPWSTR *szwType);
  5090. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreTypeWStr )(
  5091. IEnroll4 * This,
  5092. /* [in] */ LPWSTR szwType);
  5093. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MyStoreFlags )(
  5094. IEnroll4 * This,
  5095. /* [out] */ LONG *pdwFlags);
  5096. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MyStoreFlags )(
  5097. IEnroll4 * This,
  5098. /* [in] */ LONG dwFlags);
  5099. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreNameWStr )(
  5100. IEnroll4 * This,
  5101. /* [out] */ LPWSTR *szwName);
  5102. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreNameWStr )(
  5103. IEnroll4 * This,
  5104. /* [in] */ LPWSTR szwName);
  5105. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreTypeWStr )(
  5106. IEnroll4 * This,
  5107. /* [out] */ LPWSTR *szwType);
  5108. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreTypeWStr )(
  5109. IEnroll4 * This,
  5110. /* [in] */ LPWSTR szwType);
  5111. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CAStoreFlags )(
  5112. IEnroll4 * This,
  5113. /* [out] */ LONG *pdwFlags);
  5114. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CAStoreFlags )(
  5115. IEnroll4 * This,
  5116. /* [in] */ LONG dwFlags);
  5117. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreNameWStr )(
  5118. IEnroll4 * This,
  5119. /* [out] */ LPWSTR *szwName);
  5120. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreNameWStr )(
  5121. IEnroll4 * This,
  5122. /* [in] */ LPWSTR szwName);
  5123. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreTypeWStr )(
  5124. IEnroll4 * This,
  5125. /* [out] */ LPWSTR *szwType);
  5126. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreTypeWStr )(
  5127. IEnroll4 * This,
  5128. /* [in] */ LPWSTR szwType);
  5129. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootStoreFlags )(
  5130. IEnroll4 * This,
  5131. /* [out] */ LONG *pdwFlags);
  5132. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootStoreFlags )(
  5133. IEnroll4 * This,
  5134. /* [in] */ LONG dwFlags);
  5135. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreNameWStr )(
  5136. IEnroll4 * This,
  5137. /* [out] */ LPWSTR *szwName);
  5138. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreNameWStr )(
  5139. IEnroll4 * This,
  5140. /* [in] */ LPWSTR szwName);
  5141. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreTypeWStr )(
  5142. IEnroll4 * This,
  5143. /* [out] */ LPWSTR *szwType);
  5144. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreTypeWStr )(
  5145. IEnroll4 * This,
  5146. /* [in] */ LPWSTR szwType);
  5147. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestStoreFlags )(
  5148. IEnroll4 * This,
  5149. /* [out] */ LONG *pdwFlags);
  5150. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RequestStoreFlags )(
  5151. IEnroll4 * This,
  5152. /* [in] */ LONG dwFlags);
  5153. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainerNameWStr )(
  5154. IEnroll4 * This,
  5155. /* [out] */ LPWSTR *szwContainer);
  5156. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ContainerNameWStr )(
  5157. IEnroll4 * This,
  5158. /* [in] */ LPWSTR szwContainer);
  5159. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderNameWStr )(
  5160. IEnroll4 * This,
  5161. /* [out] */ LPWSTR *szwProvider);
  5162. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderNameWStr )(
  5163. IEnroll4 * This,
  5164. /* [in] */ LPWSTR szwProvider);
  5165. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderType )(
  5166. IEnroll4 * This,
  5167. /* [out] */ LONG *pdwType);
  5168. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderType )(
  5169. IEnroll4 * This,
  5170. /* [in] */ LONG dwType);
  5171. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeySpec )(
  5172. IEnroll4 * This,
  5173. /* [out] */ LONG *pdw);
  5174. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_KeySpec )(
  5175. IEnroll4 * This,
  5176. /* [in] */ LONG dw);
  5177. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderFlags )(
  5178. IEnroll4 * This,
  5179. /* [out] */ LONG *pdwFlags);
  5180. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderFlags )(
  5181. IEnroll4 * This,
  5182. /* [in] */ LONG dwFlags);
  5183. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UseExistingKeySet )(
  5184. IEnroll4 * This,
  5185. /* [out] */ BOOL *fUseExistingKeys);
  5186. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UseExistingKeySet )(
  5187. IEnroll4 * This,
  5188. /* [in] */ BOOL fUseExistingKeys);
  5189. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GenKeyFlags )(
  5190. IEnroll4 * This,
  5191. /* [out] */ LONG *pdwFlags);
  5192. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_GenKeyFlags )(
  5193. IEnroll4 * This,
  5194. /* [in] */ LONG dwFlags);
  5195. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DeleteRequestCert )(
  5196. IEnroll4 * This,
  5197. /* [out] */ BOOL *fDelete);
  5198. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DeleteRequestCert )(
  5199. IEnroll4 * This,
  5200. /* [in] */ BOOL fDelete);
  5201. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WriteCertToUserDS )(
  5202. IEnroll4 * This,
  5203. /* [out] */ BOOL *fBool);
  5204. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_WriteCertToUserDS )(
  5205. IEnroll4 * This,
  5206. /* [in] */ BOOL fBool);
  5207. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnableT61DNEncoding )(
  5208. IEnroll4 * This,
  5209. /* [out] */ BOOL *fBool);
  5210. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnableT61DNEncoding )(
  5211. IEnroll4 * This,
  5212. /* [in] */ BOOL fBool);
  5213. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WriteCertToCSP )(
  5214. IEnroll4 * This,
  5215. /* [out] */ BOOL *fBool);
  5216. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_WriteCertToCSP )(
  5217. IEnroll4 * This,
  5218. /* [in] */ BOOL fBool);
  5219. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SPCFileNameWStr )(
  5220. IEnroll4 * This,
  5221. /* [out] */ LPWSTR *szw);
  5222. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SPCFileNameWStr )(
  5223. IEnroll4 * This,
  5224. /* [in] */ LPWSTR szw);
  5225. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PVKFileNameWStr )(
  5226. IEnroll4 * This,
  5227. /* [out] */ LPWSTR *szw);
  5228. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PVKFileNameWStr )(
  5229. IEnroll4 * This,
  5230. /* [in] */ LPWSTR szw);
  5231. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HashAlgorithmWStr )(
  5232. IEnroll4 * This,
  5233. /* [out] */ LPWSTR *szw);
  5234. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HashAlgorithmWStr )(
  5235. IEnroll4 * This,
  5236. /* [in] */ LPWSTR szw);
  5237. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RenewalCertificate )(
  5238. IEnroll4 * This,
  5239. /* [out] */ PCCERT_CONTEXT *ppCertContext);
  5240. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RenewalCertificate )(
  5241. IEnroll4 * This,
  5242. /* [in] */ PCCERT_CONTEXT pCertContext);
  5243. HRESULT ( STDMETHODCALLTYPE *AddCertTypeToRequestWStr )(
  5244. IEnroll4 * This,
  5245. /* [in] */ LPWSTR szw);
  5246. HRESULT ( STDMETHODCALLTYPE *AddNameValuePairToSignatureWStr )(
  5247. IEnroll4 * This,
  5248. /* [in] */ LPWSTR Name,
  5249. /* [in] */ LPWSTR Value);
  5250. HRESULT ( STDMETHODCALLTYPE *AddExtensionsToRequest )(
  5251. IEnroll4 * This,
  5252. /* [in] */ PCERT_EXTENSIONS pCertExtensions);
  5253. HRESULT ( STDMETHODCALLTYPE *AddAuthenticatedAttributesToPKCS7Request )(
  5254. IEnroll4 * This,
  5255. /* [in] */ PCRYPT_ATTRIBUTES pAttributes);
  5256. HRESULT ( STDMETHODCALLTYPE *CreatePKCS7RequestFromRequest )(
  5257. IEnroll4 * This,
  5258. /* [in] */ PCRYPT_DATA_BLOB pRequest,
  5259. /* [in] */ PCCERT_CONTEXT pSigningCertContext,
  5260. /* [out] */ PCRYPT_DATA_BLOB pPkcs7Blob);
  5261. HRESULT ( STDMETHODCALLTYPE *InstallPKCS7Blob )(
  5262. IEnroll4 * This,
  5263. /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7);
  5264. HRESULT ( STDMETHODCALLTYPE *Reset )(
  5265. IEnroll4 * This);
  5266. HRESULT ( STDMETHODCALLTYPE *GetSupportedKeySpec )(
  5267. IEnroll4 * This,
  5268. /* [out] */ LONG *pdwKeySpec);
  5269. HRESULT ( STDMETHODCALLTYPE *GetKeyLen )(
  5270. IEnroll4 * This,
  5271. /* [in] */ BOOL fMin,
  5272. /* [in] */ BOOL fExchange,
  5273. /* [out] */ LONG *pdwKeySize);
  5274. HRESULT ( STDMETHODCALLTYPE *EnumAlgs )(
  5275. IEnroll4 * This,
  5276. /* [in] */ LONG dwIndex,
  5277. /* [in] */ LONG algClass,
  5278. /* [out] */ LONG *pdwAlgID);
  5279. HRESULT ( STDMETHODCALLTYPE *GetAlgNameWStr )(
  5280. IEnroll4 * This,
  5281. /* [in] */ LONG algID,
  5282. /* [out] */ LPWSTR *ppwsz);
  5283. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ReuseHardwareKeyIfUnableToGenNew )(
  5284. IEnroll4 * This,
  5285. /* [in] */ BOOL fReuseHardwareKeyIfUnableToGenNew);
  5286. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReuseHardwareKeyIfUnableToGenNew )(
  5287. IEnroll4 * This,
  5288. /* [out] */ BOOL *fReuseHardwareKeyIfUnableToGenNew);
  5289. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HashAlgID )(
  5290. IEnroll4 * This,
  5291. /* [in] */ LONG hashAlgID);
  5292. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HashAlgID )(
  5293. IEnroll4 * This,
  5294. /* [retval][out] */ LONG *hashAlgID);
  5295. HRESULT ( STDMETHODCALLTYPE *SetHStoreMy )(
  5296. IEnroll4 * This,
  5297. /* [in] */ HCERTSTORE hStore);
  5298. HRESULT ( STDMETHODCALLTYPE *SetHStoreCA )(
  5299. IEnroll4 * This,
  5300. /* [in] */ HCERTSTORE hStore);
  5301. HRESULT ( STDMETHODCALLTYPE *SetHStoreROOT )(
  5302. IEnroll4 * This,
  5303. /* [in] */ HCERTSTORE hStore);
  5304. HRESULT ( STDMETHODCALLTYPE *SetHStoreRequest )(
  5305. IEnroll4 * This,
  5306. /* [in] */ HCERTSTORE hStore);
  5307. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_LimitExchangeKeyToEncipherment )(
  5308. IEnroll4 * This,
  5309. /* [in] */ BOOL fLimitExchangeKeyToEncipherment);
  5310. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LimitExchangeKeyToEncipherment )(
  5311. IEnroll4 * This,
  5312. /* [retval][out] */ BOOL *fLimitExchangeKeyToEncipherment);
  5313. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnableSMIMECapabilities )(
  5314. IEnroll4 * This,
  5315. /* [in] */ BOOL fEnableSMIMECapabilities);
  5316. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnableSMIMECapabilities )(
  5317. IEnroll4 * This,
  5318. /* [retval][out] */ BOOL *fEnableSMIMECapabilities);
  5319. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ThumbPrintWStr )(
  5320. IEnroll4 * This,
  5321. /* [in] */ CRYPT_DATA_BLOB thumbPrintBlob);
  5322. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ThumbPrintWStr )(
  5323. IEnroll4 * This,
  5324. /* [retval][out] */ PCRYPT_DATA_BLOB thumbPrintBlob);
  5325. HRESULT ( STDMETHODCALLTYPE *SetPrivateKeyArchiveCertificate )(
  5326. IEnroll4 * This,
  5327. /* [in] */ PCCERT_CONTEXT pPrivateKeyArchiveCert);
  5328. PCCERT_CONTEXT ( STDMETHODCALLTYPE *GetPrivateKeyArchiveCertificate )(
  5329. IEnroll4 * This);
  5330. HRESULT ( STDMETHODCALLTYPE *binaryBlobToString )(
  5331. IEnroll4 * This,
  5332. /* [in] */ LONG Flags,
  5333. /* [in] */ PCRYPT_DATA_BLOB pblobBinary,
  5334. /* [out] */ LPWSTR *ppwszString);
  5335. HRESULT ( STDMETHODCALLTYPE *stringToBinaryBlob )(
  5336. IEnroll4 * This,
  5337. /* [in] */ LONG Flags,
  5338. /* [in] */ LPCWSTR pwszString,
  5339. /* [out] */ PCRYPT_DATA_BLOB pblobBinary,
  5340. /* [out] */ LONG *pdwSkip,
  5341. /* [out] */ LONG *pdwFlags);
  5342. HRESULT ( STDMETHODCALLTYPE *addExtensionToRequestWStr )(
  5343. IEnroll4 * This,
  5344. /* [in] */ LONG Flags,
  5345. /* [in] */ LPCWSTR pwszName,
  5346. /* [in] */ PCRYPT_DATA_BLOB pblobValue);
  5347. HRESULT ( STDMETHODCALLTYPE *addAttributeToRequestWStr )(
  5348. IEnroll4 * This,
  5349. /* [in] */ LONG Flags,
  5350. /* [in] */ LPCWSTR pwszName,
  5351. /* [in] */ PCRYPT_DATA_BLOB pblobValue);
  5352. HRESULT ( STDMETHODCALLTYPE *addNameValuePairToRequestWStr )(
  5353. IEnroll4 * This,
  5354. /* [in] */ LONG Flags,
  5355. /* [in] */ LPCWSTR pwszName,
  5356. /* [in] */ LPCWSTR pwszValue);
  5357. HRESULT ( STDMETHODCALLTYPE *resetExtensions )(
  5358. IEnroll4 * This);
  5359. HRESULT ( STDMETHODCALLTYPE *resetAttributes )(
  5360. IEnroll4 * This);
  5361. HRESULT ( STDMETHODCALLTYPE *createRequestWStr )(
  5362. IEnroll4 * This,
  5363. /* [in] */ LONG Flags,
  5364. /* [in] */ LPCWSTR pwszDNName,
  5365. /* [in] */ LPCWSTR pwszUsage,
  5366. /* [out] */ PCRYPT_DATA_BLOB pblobRequest);
  5367. HRESULT ( STDMETHODCALLTYPE *createFileRequestWStr )(
  5368. IEnroll4 * This,
  5369. /* [in] */ LONG Flags,
  5370. /* [in] */ LPCWSTR pwszDNName,
  5371. /* [in] */ LPCWSTR pwszUsage,
  5372. /* [in] */ LPCWSTR pwszRequestFileName);
  5373. HRESULT ( STDMETHODCALLTYPE *acceptResponseBlob )(
  5374. IEnroll4 * This,
  5375. /* [in] */ PCRYPT_DATA_BLOB pblobResponse);
  5376. HRESULT ( STDMETHODCALLTYPE *acceptFileResponseWStr )(
  5377. IEnroll4 * This,
  5378. /* [in] */ LPCWSTR pwszResponseFileName);
  5379. HRESULT ( STDMETHODCALLTYPE *getCertContextFromResponseBlob )(
  5380. IEnroll4 * This,
  5381. /* [in] */ PCRYPT_DATA_BLOB pblobResponse,
  5382. /* [out] */ PCCERT_CONTEXT *ppCertContext);
  5383. HRESULT ( STDMETHODCALLTYPE *getCertContextFromFileResponseWStr )(
  5384. IEnroll4 * This,
  5385. /* [in] */ LPCWSTR pwszResponseFileName,
  5386. /* [out] */ PCCERT_CONTEXT *ppCertContext);
  5387. HRESULT ( STDMETHODCALLTYPE *createPFXWStr )(
  5388. IEnroll4 * This,
  5389. /* [in] */ LPCWSTR pwszPassword,
  5390. /* [out] */ PCRYPT_DATA_BLOB pblobPFX);
  5391. HRESULT ( STDMETHODCALLTYPE *createFilePFXWStr )(
  5392. IEnroll4 * This,
  5393. /* [in] */ LPCWSTR pwszPassword,
  5394. /* [in] */ LPCWSTR pwszPFXFileName);
  5395. HRESULT ( STDMETHODCALLTYPE *setPendingRequestInfoWStr )(
  5396. IEnroll4 * This,
  5397. /* [in] */ LONG lRequestID,
  5398. /* [in] */ LPCWSTR pwszCADNS,
  5399. /* [in] */ LPCWSTR pwszCAName,
  5400. /* [in] */ LPCWSTR pwszFriendlyName);
  5401. HRESULT ( STDMETHODCALLTYPE *enumPendingRequestWStr )(
  5402. IEnroll4 * This,
  5403. /* [in] */ LONG lIndex,
  5404. /* [in] */ LONG lDesiredProperty,
  5405. /* [out] */ LPVOID ppProperty);
  5406. HRESULT ( STDMETHODCALLTYPE *removePendingRequestWStr )(
  5407. IEnroll4 * This,
  5408. /* [in] */ CRYPT_DATA_BLOB thumbPrintBlob);
  5409. HRESULT ( STDMETHODCALLTYPE *GetKeyLenEx )(
  5410. IEnroll4 * This,
  5411. /* [in] */ LONG lSizeSpec,
  5412. /* [in] */ LONG lKeySpec,
  5413. /* [retval][out] */ LONG *pdwKeySize);
  5414. HRESULT ( STDMETHODCALLTYPE *InstallPKCS7BlobEx )(
  5415. IEnroll4 * This,
  5416. /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7,
  5417. /* [retval][out] */ LONG *plCertInstalled);
  5418. HRESULT ( STDMETHODCALLTYPE *AddCertTypeToRequestWStrEx )(
  5419. IEnroll4 * This,
  5420. /* [in] */ LONG lType,
  5421. /* [in] */ LPCWSTR pwszOIDOrName,
  5422. /* [in] */ LONG lMajorVersion,
  5423. /* [in] */ BOOL fMinorVersion,
  5424. /* [in] */ LONG lMinorVersion);
  5425. HRESULT ( STDMETHODCALLTYPE *getProviderTypeWStr )(
  5426. IEnroll4 * This,
  5427. /* [in] */ LPCWSTR pwszProvName,
  5428. /* [retval][out] */ LONG *plProvType);
  5429. HRESULT ( STDMETHODCALLTYPE *addBlobPropertyToCertificateWStr )(
  5430. IEnroll4 * This,
  5431. /* [in] */ LONG lPropertyId,
  5432. /* [in] */ LONG lReserved,
  5433. /* [in] */ PCRYPT_DATA_BLOB pBlobProperty);
  5434. HRESULT ( STDMETHODCALLTYPE *SetSignerCertificate )(
  5435. IEnroll4 * This,
  5436. /* [in] */ PCCERT_CONTEXT pSignerCert);
  5437. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClientId )(
  5438. IEnroll4 * This,
  5439. /* [in] */ LONG lClientId);
  5440. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClientId )(
  5441. IEnroll4 * This,
  5442. /* [retval][out] */ LONG *plClientId);
  5443. /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IncludeSubjectKeyID )(
  5444. IEnroll4 * This,
  5445. /* [in] */ BOOL fInclude);
  5446. /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IncludeSubjectKeyID )(
  5447. IEnroll4 * This,
  5448. /* [retval][out] */ BOOL *pfInclude);
  5449. END_INTERFACE
  5450. } IEnroll4Vtbl;
  5451. interface IEnroll4
  5452. {
  5453. CONST_VTBL struct IEnroll4Vtbl *lpVtbl;
  5454. };
  5455. #ifdef COBJMACROS
  5456. #define IEnroll4_QueryInterface(This,riid,ppvObject) \
  5457. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5458. #define IEnroll4_AddRef(This) \
  5459. (This)->lpVtbl -> AddRef(This)
  5460. #define IEnroll4_Release(This) \
  5461. (This)->lpVtbl -> Release(This)
  5462. #define IEnroll4_createFilePKCS10WStr(This,DNName,Usage,wszPKCS10FileName) \
  5463. (This)->lpVtbl -> createFilePKCS10WStr(This,DNName,Usage,wszPKCS10FileName)
  5464. #define IEnroll4_acceptFilePKCS7WStr(This,wszPKCS7FileName) \
  5465. (This)->lpVtbl -> acceptFilePKCS7WStr(This,wszPKCS7FileName)
  5466. #define IEnroll4_createPKCS10WStr(This,DNName,Usage,pPkcs10Blob) \
  5467. (This)->lpVtbl -> createPKCS10WStr(This,DNName,Usage,pPkcs10Blob)
  5468. #define IEnroll4_acceptPKCS7Blob(This,pBlobPKCS7) \
  5469. (This)->lpVtbl -> acceptPKCS7Blob(This,pBlobPKCS7)
  5470. #define IEnroll4_getCertContextFromPKCS7(This,pBlobPKCS7) \
  5471. (This)->lpVtbl -> getCertContextFromPKCS7(This,pBlobPKCS7)
  5472. #define IEnroll4_getMyStore(This) \
  5473. (This)->lpVtbl -> getMyStore(This)
  5474. #define IEnroll4_getCAStore(This) \
  5475. (This)->lpVtbl -> getCAStore(This)
  5476. #define IEnroll4_getROOTHStore(This) \
  5477. (This)->lpVtbl -> getROOTHStore(This)
  5478. #define IEnroll4_enumProvidersWStr(This,dwIndex,dwFlags,pbstrProvName) \
  5479. (This)->lpVtbl -> enumProvidersWStr(This,dwIndex,dwFlags,pbstrProvName)
  5480. #define IEnroll4_enumContainersWStr(This,dwIndex,pbstr) \
  5481. (This)->lpVtbl -> enumContainersWStr(This,dwIndex,pbstr)
  5482. #define IEnroll4_freeRequestInfoBlob(This,pkcs7OrPkcs10) \
  5483. (This)->lpVtbl -> freeRequestInfoBlob(This,pkcs7OrPkcs10)
  5484. #define IEnroll4_get_MyStoreNameWStr(This,szwName) \
  5485. (This)->lpVtbl -> get_MyStoreNameWStr(This,szwName)
  5486. #define IEnroll4_put_MyStoreNameWStr(This,szwName) \
  5487. (This)->lpVtbl -> put_MyStoreNameWStr(This,szwName)
  5488. #define IEnroll4_get_MyStoreTypeWStr(This,szwType) \
  5489. (This)->lpVtbl -> get_MyStoreTypeWStr(This,szwType)
  5490. #define IEnroll4_put_MyStoreTypeWStr(This,szwType) \
  5491. (This)->lpVtbl -> put_MyStoreTypeWStr(This,szwType)
  5492. #define IEnroll4_get_MyStoreFlags(This,pdwFlags) \
  5493. (This)->lpVtbl -> get_MyStoreFlags(This,pdwFlags)
  5494. #define IEnroll4_put_MyStoreFlags(This,dwFlags) \
  5495. (This)->lpVtbl -> put_MyStoreFlags(This,dwFlags)
  5496. #define IEnroll4_get_CAStoreNameWStr(This,szwName) \
  5497. (This)->lpVtbl -> get_CAStoreNameWStr(This,szwName)
  5498. #define IEnroll4_put_CAStoreNameWStr(This,szwName) \
  5499. (This)->lpVtbl -> put_CAStoreNameWStr(This,szwName)
  5500. #define IEnroll4_get_CAStoreTypeWStr(This,szwType) \
  5501. (This)->lpVtbl -> get_CAStoreTypeWStr(This,szwType)
  5502. #define IEnroll4_put_CAStoreTypeWStr(This,szwType) \
  5503. (This)->lpVtbl -> put_CAStoreTypeWStr(This,szwType)
  5504. #define IEnroll4_get_CAStoreFlags(This,pdwFlags) \
  5505. (This)->lpVtbl -> get_CAStoreFlags(This,pdwFlags)
  5506. #define IEnroll4_put_CAStoreFlags(This,dwFlags) \
  5507. (This)->lpVtbl -> put_CAStoreFlags(This,dwFlags)
  5508. #define IEnroll4_get_RootStoreNameWStr(This,szwName) \
  5509. (This)->lpVtbl -> get_RootStoreNameWStr(This,szwName)
  5510. #define IEnroll4_put_RootStoreNameWStr(This,szwName) \
  5511. (This)->lpVtbl -> put_RootStoreNameWStr(This,szwName)
  5512. #define IEnroll4_get_RootStoreTypeWStr(This,szwType) \
  5513. (This)->lpVtbl -> get_RootStoreTypeWStr(This,szwType)
  5514. #define IEnroll4_put_RootStoreTypeWStr(This,szwType) \
  5515. (This)->lpVtbl -> put_RootStoreTypeWStr(This,szwType)
  5516. #define IEnroll4_get_RootStoreFlags(This,pdwFlags) \
  5517. (This)->lpVtbl -> get_RootStoreFlags(This,pdwFlags)
  5518. #define IEnroll4_put_RootStoreFlags(This,dwFlags) \
  5519. (This)->lpVtbl -> put_RootStoreFlags(This,dwFlags)
  5520. #define IEnroll4_get_RequestStoreNameWStr(This,szwName) \
  5521. (This)->lpVtbl -> get_RequestStoreNameWStr(This,szwName)
  5522. #define IEnroll4_put_RequestStoreNameWStr(This,szwName) \
  5523. (This)->lpVtbl -> put_RequestStoreNameWStr(This,szwName)
  5524. #define IEnroll4_get_RequestStoreTypeWStr(This,szwType) \
  5525. (This)->lpVtbl -> get_RequestStoreTypeWStr(This,szwType)
  5526. #define IEnroll4_put_RequestStoreTypeWStr(This,szwType) \
  5527. (This)->lpVtbl -> put_RequestStoreTypeWStr(This,szwType)
  5528. #define IEnroll4_get_RequestStoreFlags(This,pdwFlags) \
  5529. (This)->lpVtbl -> get_RequestStoreFlags(This,pdwFlags)
  5530. #define IEnroll4_put_RequestStoreFlags(This,dwFlags) \
  5531. (This)->lpVtbl -> put_RequestStoreFlags(This,dwFlags)
  5532. #define IEnroll4_get_ContainerNameWStr(This,szwContainer) \
  5533. (This)->lpVtbl -> get_ContainerNameWStr(This,szwContainer)
  5534. #define IEnroll4_put_ContainerNameWStr(This,szwContainer) \
  5535. (This)->lpVtbl -> put_ContainerNameWStr(This,szwContainer)
  5536. #define IEnroll4_get_ProviderNameWStr(This,szwProvider) \
  5537. (This)->lpVtbl -> get_ProviderNameWStr(This,szwProvider)
  5538. #define IEnroll4_put_ProviderNameWStr(This,szwProvider) \
  5539. (This)->lpVtbl -> put_ProviderNameWStr(This,szwProvider)
  5540. #define IEnroll4_get_ProviderType(This,pdwType) \
  5541. (This)->lpVtbl -> get_ProviderType(This,pdwType)
  5542. #define IEnroll4_put_ProviderType(This,dwType) \
  5543. (This)->lpVtbl -> put_ProviderType(This,dwType)
  5544. #define IEnroll4_get_KeySpec(This,pdw) \
  5545. (This)->lpVtbl -> get_KeySpec(This,pdw)
  5546. #define IEnroll4_put_KeySpec(This,dw) \
  5547. (This)->lpVtbl -> put_KeySpec(This,dw)
  5548. #define IEnroll4_get_ProviderFlags(This,pdwFlags) \
  5549. (This)->lpVtbl -> get_ProviderFlags(This,pdwFlags)
  5550. #define IEnroll4_put_ProviderFlags(This,dwFlags) \
  5551. (This)->lpVtbl -> put_ProviderFlags(This,dwFlags)
  5552. #define IEnroll4_get_UseExistingKeySet(This,fUseExistingKeys) \
  5553. (This)->lpVtbl -> get_UseExistingKeySet(This,fUseExistingKeys)
  5554. #define IEnroll4_put_UseExistingKeySet(This,fUseExistingKeys) \
  5555. (This)->lpVtbl -> put_UseExistingKeySet(This,fUseExistingKeys)
  5556. #define IEnroll4_get_GenKeyFlags(This,pdwFlags) \
  5557. (This)->lpVtbl -> get_GenKeyFlags(This,pdwFlags)
  5558. #define IEnroll4_put_GenKeyFlags(This,dwFlags) \
  5559. (This)->lpVtbl -> put_GenKeyFlags(This,dwFlags)
  5560. #define IEnroll4_get_DeleteRequestCert(This,fDelete) \
  5561. (This)->lpVtbl -> get_DeleteRequestCert(This,fDelete)
  5562. #define IEnroll4_put_DeleteRequestCert(This,fDelete) \
  5563. (This)->lpVtbl -> put_DeleteRequestCert(This,fDelete)
  5564. #define IEnroll4_get_WriteCertToUserDS(This,fBool) \
  5565. (This)->lpVtbl -> get_WriteCertToUserDS(This,fBool)
  5566. #define IEnroll4_put_WriteCertToUserDS(This,fBool) \
  5567. (This)->lpVtbl -> put_WriteCertToUserDS(This,fBool)
  5568. #define IEnroll4_get_EnableT61DNEncoding(This,fBool) \
  5569. (This)->lpVtbl -> get_EnableT61DNEncoding(This,fBool)
  5570. #define IEnroll4_put_EnableT61DNEncoding(This,fBool) \
  5571. (This)->lpVtbl -> put_EnableT61DNEncoding(This,fBool)
  5572. #define IEnroll4_get_WriteCertToCSP(This,fBool) \
  5573. (This)->lpVtbl -> get_WriteCertToCSP(This,fBool)
  5574. #define IEnroll4_put_WriteCertToCSP(This,fBool) \
  5575. (This)->lpVtbl -> put_WriteCertToCSP(This,fBool)
  5576. #define IEnroll4_get_SPCFileNameWStr(This,szw) \
  5577. (This)->lpVtbl -> get_SPCFileNameWStr(This,szw)
  5578. #define IEnroll4_put_SPCFileNameWStr(This,szw) \
  5579. (This)->lpVtbl -> put_SPCFileNameWStr(This,szw)
  5580. #define IEnroll4_get_PVKFileNameWStr(This,szw) \
  5581. (This)->lpVtbl -> get_PVKFileNameWStr(This,szw)
  5582. #define IEnroll4_put_PVKFileNameWStr(This,szw) \
  5583. (This)->lpVtbl -> put_PVKFileNameWStr(This,szw)
  5584. #define IEnroll4_get_HashAlgorithmWStr(This,szw) \
  5585. (This)->lpVtbl -> get_HashAlgorithmWStr(This,szw)
  5586. #define IEnroll4_put_HashAlgorithmWStr(This,szw) \
  5587. (This)->lpVtbl -> put_HashAlgorithmWStr(This,szw)
  5588. #define IEnroll4_get_RenewalCertificate(This,ppCertContext) \
  5589. (This)->lpVtbl -> get_RenewalCertificate(This,ppCertContext)
  5590. #define IEnroll4_put_RenewalCertificate(This,pCertContext) \
  5591. (This)->lpVtbl -> put_RenewalCertificate(This,pCertContext)
  5592. #define IEnroll4_AddCertTypeToRequestWStr(This,szw) \
  5593. (This)->lpVtbl -> AddCertTypeToRequestWStr(This,szw)
  5594. #define IEnroll4_AddNameValuePairToSignatureWStr(This,Name,Value) \
  5595. (This)->lpVtbl -> AddNameValuePairToSignatureWStr(This,Name,Value)
  5596. #define IEnroll4_AddExtensionsToRequest(This,pCertExtensions) \
  5597. (This)->lpVtbl -> AddExtensionsToRequest(This,pCertExtensions)
  5598. #define IEnroll4_AddAuthenticatedAttributesToPKCS7Request(This,pAttributes) \
  5599. (This)->lpVtbl -> AddAuthenticatedAttributesToPKCS7Request(This,pAttributes)
  5600. #define IEnroll4_CreatePKCS7RequestFromRequest(This,pRequest,pSigningCertContext,pPkcs7Blob) \
  5601. (This)->lpVtbl -> CreatePKCS7RequestFromRequest(This,pRequest,pSigningCertContext,pPkcs7Blob)
  5602. #define IEnroll4_InstallPKCS7Blob(This,pBlobPKCS7) \
  5603. (This)->lpVtbl -> InstallPKCS7Blob(This,pBlobPKCS7)
  5604. #define IEnroll4_Reset(This) \
  5605. (This)->lpVtbl -> Reset(This)
  5606. #define IEnroll4_GetSupportedKeySpec(This,pdwKeySpec) \
  5607. (This)->lpVtbl -> GetSupportedKeySpec(This,pdwKeySpec)
  5608. #define IEnroll4_GetKeyLen(This,fMin,fExchange,pdwKeySize) \
  5609. (This)->lpVtbl -> GetKeyLen(This,fMin,fExchange,pdwKeySize)
  5610. #define IEnroll4_EnumAlgs(This,dwIndex,algClass,pdwAlgID) \
  5611. (This)->lpVtbl -> EnumAlgs(This,dwIndex,algClass,pdwAlgID)
  5612. #define IEnroll4_GetAlgNameWStr(This,algID,ppwsz) \
  5613. (This)->lpVtbl -> GetAlgNameWStr(This,algID,ppwsz)
  5614. #define IEnroll4_put_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew) \
  5615. (This)->lpVtbl -> put_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew)
  5616. #define IEnroll4_get_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew) \
  5617. (This)->lpVtbl -> get_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew)
  5618. #define IEnroll4_put_HashAlgID(This,hashAlgID) \
  5619. (This)->lpVtbl -> put_HashAlgID(This,hashAlgID)
  5620. #define IEnroll4_get_HashAlgID(This,hashAlgID) \
  5621. (This)->lpVtbl -> get_HashAlgID(This,hashAlgID)
  5622. #define IEnroll4_SetHStoreMy(This,hStore) \
  5623. (This)->lpVtbl -> SetHStoreMy(This,hStore)
  5624. #define IEnroll4_SetHStoreCA(This,hStore) \
  5625. (This)->lpVtbl -> SetHStoreCA(This,hStore)
  5626. #define IEnroll4_SetHStoreROOT(This,hStore) \
  5627. (This)->lpVtbl -> SetHStoreROOT(This,hStore)
  5628. #define IEnroll4_SetHStoreRequest(This,hStore) \
  5629. (This)->lpVtbl -> SetHStoreRequest(This,hStore)
  5630. #define IEnroll4_put_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment) \
  5631. (This)->lpVtbl -> put_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment)
  5632. #define IEnroll4_get_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment) \
  5633. (This)->lpVtbl -> get_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment)
  5634. #define IEnroll4_put_EnableSMIMECapabilities(This,fEnableSMIMECapabilities) \
  5635. (This)->lpVtbl -> put_EnableSMIMECapabilities(This,fEnableSMIMECapabilities)
  5636. #define IEnroll4_get_EnableSMIMECapabilities(This,fEnableSMIMECapabilities) \
  5637. (This)->lpVtbl -> get_EnableSMIMECapabilities(This,fEnableSMIMECapabilities)
  5638. #define IEnroll4_put_ThumbPrintWStr(This,thumbPrintBlob) \
  5639. (This)->lpVtbl -> put_ThumbPrintWStr(This,thumbPrintBlob)
  5640. #define IEnroll4_get_ThumbPrintWStr(This,thumbPrintBlob) \
  5641. (This)->lpVtbl -> get_ThumbPrintWStr(This,thumbPrintBlob)
  5642. #define IEnroll4_SetPrivateKeyArchiveCertificate(This,pPrivateKeyArchiveCert) \
  5643. (This)->lpVtbl -> SetPrivateKeyArchiveCertificate(This,pPrivateKeyArchiveCert)
  5644. #define IEnroll4_GetPrivateKeyArchiveCertificate(This) \
  5645. (This)->lpVtbl -> GetPrivateKeyArchiveCertificate(This)
  5646. #define IEnroll4_binaryBlobToString(This,Flags,pblobBinary,ppwszString) \
  5647. (This)->lpVtbl -> binaryBlobToString(This,Flags,pblobBinary,ppwszString)
  5648. #define IEnroll4_stringToBinaryBlob(This,Flags,pwszString,pblobBinary,pdwSkip,pdwFlags) \
  5649. (This)->lpVtbl -> stringToBinaryBlob(This,Flags,pwszString,pblobBinary,pdwSkip,pdwFlags)
  5650. #define IEnroll4_addExtensionToRequestWStr(This,Flags,pwszName,pblobValue) \
  5651. (This)->lpVtbl -> addExtensionToRequestWStr(This,Flags,pwszName,pblobValue)
  5652. #define IEnroll4_addAttributeToRequestWStr(This,Flags,pwszName,pblobValue) \
  5653. (This)->lpVtbl -> addAttributeToRequestWStr(This,Flags,pwszName,pblobValue)
  5654. #define IEnroll4_addNameValuePairToRequestWStr(This,Flags,pwszName,pwszValue) \
  5655. (This)->lpVtbl -> addNameValuePairToRequestWStr(This,Flags,pwszName,pwszValue)
  5656. #define IEnroll4_resetExtensions(This) \
  5657. (This)->lpVtbl -> resetExtensions(This)
  5658. #define IEnroll4_resetAttributes(This) \
  5659. (This)->lpVtbl -> resetAttributes(This)
  5660. #define IEnroll4_createRequestWStr(This,Flags,pwszDNName,pwszUsage,pblobRequest) \
  5661. (This)->lpVtbl -> createRequestWStr(This,Flags,pwszDNName,pwszUsage,pblobRequest)
  5662. #define IEnroll4_createFileRequestWStr(This,Flags,pwszDNName,pwszUsage,pwszRequestFileName) \
  5663. (This)->lpVtbl -> createFileRequestWStr(This,Flags,pwszDNName,pwszUsage,pwszRequestFileName)
  5664. #define IEnroll4_acceptResponseBlob(This,pblobResponse) \
  5665. (This)->lpVtbl -> acceptResponseBlob(This,pblobResponse)
  5666. #define IEnroll4_acceptFileResponseWStr(This,pwszResponseFileName) \
  5667. (This)->lpVtbl -> acceptFileResponseWStr(This,pwszResponseFileName)
  5668. #define IEnroll4_getCertContextFromResponseBlob(This,pblobResponse,ppCertContext) \
  5669. (This)->lpVtbl -> getCertContextFromResponseBlob(This,pblobResponse,ppCertContext)
  5670. #define IEnroll4_getCertContextFromFileResponseWStr(This,pwszResponseFileName,ppCertContext) \
  5671. (This)->lpVtbl -> getCertContextFromFileResponseWStr(This,pwszResponseFileName,ppCertContext)
  5672. #define IEnroll4_createPFXWStr(This,pwszPassword,pblobPFX) \
  5673. (This)->lpVtbl -> createPFXWStr(This,pwszPassword,pblobPFX)
  5674. #define IEnroll4_createFilePFXWStr(This,pwszPassword,pwszPFXFileName) \
  5675. (This)->lpVtbl -> createFilePFXWStr(This,pwszPassword,pwszPFXFileName)
  5676. #define IEnroll4_setPendingRequestInfoWStr(This,lRequestID,pwszCADNS,pwszCAName,pwszFriendlyName) \
  5677. (This)->lpVtbl -> setPendingRequestInfoWStr(This,lRequestID,pwszCADNS,pwszCAName,pwszFriendlyName)
  5678. #define IEnroll4_enumPendingRequestWStr(This,lIndex,lDesiredProperty,ppProperty) \
  5679. (This)->lpVtbl -> enumPendingRequestWStr(This,lIndex,lDesiredProperty,ppProperty)
  5680. #define IEnroll4_removePendingRequestWStr(This,thumbPrintBlob) \
  5681. (This)->lpVtbl -> removePendingRequestWStr(This,thumbPrintBlob)
  5682. #define IEnroll4_GetKeyLenEx(This,lSizeSpec,lKeySpec,pdwKeySize) \
  5683. (This)->lpVtbl -> GetKeyLenEx(This,lSizeSpec,lKeySpec,pdwKeySize)
  5684. #define IEnroll4_InstallPKCS7BlobEx(This,pBlobPKCS7,plCertInstalled) \
  5685. (This)->lpVtbl -> InstallPKCS7BlobEx(This,pBlobPKCS7,plCertInstalled)
  5686. #define IEnroll4_AddCertTypeToRequestWStrEx(This,lType,pwszOIDOrName,lMajorVersion,fMinorVersion,lMinorVersion) \
  5687. (This)->lpVtbl -> AddCertTypeToRequestWStrEx(This,lType,pwszOIDOrName,lMajorVersion,fMinorVersion,lMinorVersion)
  5688. #define IEnroll4_getProviderTypeWStr(This,pwszProvName,plProvType) \
  5689. (This)->lpVtbl -> getProviderTypeWStr(This,pwszProvName,plProvType)
  5690. #define IEnroll4_addBlobPropertyToCertificateWStr(This,lPropertyId,lReserved,pBlobProperty) \
  5691. (This)->lpVtbl -> addBlobPropertyToCertificateWStr(This,lPropertyId,lReserved,pBlobProperty)
  5692. #define IEnroll4_SetSignerCertificate(This,pSignerCert) \
  5693. (This)->lpVtbl -> SetSignerCertificate(This,pSignerCert)
  5694. #define IEnroll4_put_ClientId(This,lClientId) \
  5695. (This)->lpVtbl -> put_ClientId(This,lClientId)
  5696. #define IEnroll4_get_ClientId(This,plClientId) \
  5697. (This)->lpVtbl -> get_ClientId(This,plClientId)
  5698. #define IEnroll4_put_IncludeSubjectKeyID(This,fInclude) \
  5699. (This)->lpVtbl -> put_IncludeSubjectKeyID(This,fInclude)
  5700. #define IEnroll4_get_IncludeSubjectKeyID(This,pfInclude) \
  5701. (This)->lpVtbl -> get_IncludeSubjectKeyID(This,pfInclude)
  5702. #endif /* COBJMACROS */
  5703. #endif /* C style interface */
  5704. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll4_put_ThumbPrintWStr_Proxy(
  5705. IEnroll4 * This,
  5706. /* [in] */ CRYPT_DATA_BLOB thumbPrintBlob);
  5707. void __RPC_STUB IEnroll4_put_ThumbPrintWStr_Stub(
  5708. IRpcStubBuffer *This,
  5709. IRpcChannelBuffer *_pRpcChannelBuffer,
  5710. PRPC_MESSAGE _pRpcMessage,
  5711. DWORD *_pdwStubPhase);
  5712. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll4_get_ThumbPrintWStr_Proxy(
  5713. IEnroll4 * This,
  5714. /* [retval][out] */ PCRYPT_DATA_BLOB thumbPrintBlob);
  5715. void __RPC_STUB IEnroll4_get_ThumbPrintWStr_Stub(
  5716. IRpcStubBuffer *This,
  5717. IRpcChannelBuffer *_pRpcChannelBuffer,
  5718. PRPC_MESSAGE _pRpcMessage,
  5719. DWORD *_pdwStubPhase);
  5720. HRESULT STDMETHODCALLTYPE IEnroll4_SetPrivateKeyArchiveCertificate_Proxy(
  5721. IEnroll4 * This,
  5722. /* [in] */ PCCERT_CONTEXT pPrivateKeyArchiveCert);
  5723. void __RPC_STUB IEnroll4_SetPrivateKeyArchiveCertificate_Stub(
  5724. IRpcStubBuffer *This,
  5725. IRpcChannelBuffer *_pRpcChannelBuffer,
  5726. PRPC_MESSAGE _pRpcMessage,
  5727. DWORD *_pdwStubPhase);
  5728. PCCERT_CONTEXT STDMETHODCALLTYPE IEnroll4_GetPrivateKeyArchiveCertificate_Proxy(
  5729. IEnroll4 * This);
  5730. void __RPC_STUB IEnroll4_GetPrivateKeyArchiveCertificate_Stub(
  5731. IRpcStubBuffer *This,
  5732. IRpcChannelBuffer *_pRpcChannelBuffer,
  5733. PRPC_MESSAGE _pRpcMessage,
  5734. DWORD *_pdwStubPhase);
  5735. HRESULT STDMETHODCALLTYPE IEnroll4_binaryBlobToString_Proxy(
  5736. IEnroll4 * This,
  5737. /* [in] */ LONG Flags,
  5738. /* [in] */ PCRYPT_DATA_BLOB pblobBinary,
  5739. /* [out] */ LPWSTR *ppwszString);
  5740. void __RPC_STUB IEnroll4_binaryBlobToString_Stub(
  5741. IRpcStubBuffer *This,
  5742. IRpcChannelBuffer *_pRpcChannelBuffer,
  5743. PRPC_MESSAGE _pRpcMessage,
  5744. DWORD *_pdwStubPhase);
  5745. HRESULT STDMETHODCALLTYPE IEnroll4_stringToBinaryBlob_Proxy(
  5746. IEnroll4 * This,
  5747. /* [in] */ LONG Flags,
  5748. /* [in] */ LPCWSTR pwszString,
  5749. /* [out] */ PCRYPT_DATA_BLOB pblobBinary,
  5750. /* [out] */ LONG *pdwSkip,
  5751. /* [out] */ LONG *pdwFlags);
  5752. void __RPC_STUB IEnroll4_stringToBinaryBlob_Stub(
  5753. IRpcStubBuffer *This,
  5754. IRpcChannelBuffer *_pRpcChannelBuffer,
  5755. PRPC_MESSAGE _pRpcMessage,
  5756. DWORD *_pdwStubPhase);
  5757. HRESULT STDMETHODCALLTYPE IEnroll4_addExtensionToRequestWStr_Proxy(
  5758. IEnroll4 * This,
  5759. /* [in] */ LONG Flags,
  5760. /* [in] */ LPCWSTR pwszName,
  5761. /* [in] */ PCRYPT_DATA_BLOB pblobValue);
  5762. void __RPC_STUB IEnroll4_addExtensionToRequestWStr_Stub(
  5763. IRpcStubBuffer *This,
  5764. IRpcChannelBuffer *_pRpcChannelBuffer,
  5765. PRPC_MESSAGE _pRpcMessage,
  5766. DWORD *_pdwStubPhase);
  5767. HRESULT STDMETHODCALLTYPE IEnroll4_addAttributeToRequestWStr_Proxy(
  5768. IEnroll4 * This,
  5769. /* [in] */ LONG Flags,
  5770. /* [in] */ LPCWSTR pwszName,
  5771. /* [in] */ PCRYPT_DATA_BLOB pblobValue);
  5772. void __RPC_STUB IEnroll4_addAttributeToRequestWStr_Stub(
  5773. IRpcStubBuffer *This,
  5774. IRpcChannelBuffer *_pRpcChannelBuffer,
  5775. PRPC_MESSAGE _pRpcMessage,
  5776. DWORD *_pdwStubPhase);
  5777. HRESULT STDMETHODCALLTYPE IEnroll4_addNameValuePairToRequestWStr_Proxy(
  5778. IEnroll4 * This,
  5779. /* [in] */ LONG Flags,
  5780. /* [in] */ LPCWSTR pwszName,
  5781. /* [in] */ LPCWSTR pwszValue);
  5782. void __RPC_STUB IEnroll4_addNameValuePairToRequestWStr_Stub(
  5783. IRpcStubBuffer *This,
  5784. IRpcChannelBuffer *_pRpcChannelBuffer,
  5785. PRPC_MESSAGE _pRpcMessage,
  5786. DWORD *_pdwStubPhase);
  5787. HRESULT STDMETHODCALLTYPE IEnroll4_resetExtensions_Proxy(
  5788. IEnroll4 * This);
  5789. void __RPC_STUB IEnroll4_resetExtensions_Stub(
  5790. IRpcStubBuffer *This,
  5791. IRpcChannelBuffer *_pRpcChannelBuffer,
  5792. PRPC_MESSAGE _pRpcMessage,
  5793. DWORD *_pdwStubPhase);
  5794. HRESULT STDMETHODCALLTYPE IEnroll4_resetAttributes_Proxy(
  5795. IEnroll4 * This);
  5796. void __RPC_STUB IEnroll4_resetAttributes_Stub(
  5797. IRpcStubBuffer *This,
  5798. IRpcChannelBuffer *_pRpcChannelBuffer,
  5799. PRPC_MESSAGE _pRpcMessage,
  5800. DWORD *_pdwStubPhase);
  5801. HRESULT STDMETHODCALLTYPE IEnroll4_createRequestWStr_Proxy(
  5802. IEnroll4 * This,
  5803. /* [in] */ LONG Flags,
  5804. /* [in] */ LPCWSTR pwszDNName,
  5805. /* [in] */ LPCWSTR pwszUsage,
  5806. /* [out] */ PCRYPT_DATA_BLOB pblobRequest);
  5807. void __RPC_STUB IEnroll4_createRequestWStr_Stub(
  5808. IRpcStubBuffer *This,
  5809. IRpcChannelBuffer *_pRpcChannelBuffer,
  5810. PRPC_MESSAGE _pRpcMessage,
  5811. DWORD *_pdwStubPhase);
  5812. HRESULT STDMETHODCALLTYPE IEnroll4_createFileRequestWStr_Proxy(
  5813. IEnroll4 * This,
  5814. /* [in] */ LONG Flags,
  5815. /* [in] */ LPCWSTR pwszDNName,
  5816. /* [in] */ LPCWSTR pwszUsage,
  5817. /* [in] */ LPCWSTR pwszRequestFileName);
  5818. void __RPC_STUB IEnroll4_createFileRequestWStr_Stub(
  5819. IRpcStubBuffer *This,
  5820. IRpcChannelBuffer *_pRpcChannelBuffer,
  5821. PRPC_MESSAGE _pRpcMessage,
  5822. DWORD *_pdwStubPhase);
  5823. HRESULT STDMETHODCALLTYPE IEnroll4_acceptResponseBlob_Proxy(
  5824. IEnroll4 * This,
  5825. /* [in] */ PCRYPT_DATA_BLOB pblobResponse);
  5826. void __RPC_STUB IEnroll4_acceptResponseBlob_Stub(
  5827. IRpcStubBuffer *This,
  5828. IRpcChannelBuffer *_pRpcChannelBuffer,
  5829. PRPC_MESSAGE _pRpcMessage,
  5830. DWORD *_pdwStubPhase);
  5831. HRESULT STDMETHODCALLTYPE IEnroll4_acceptFileResponseWStr_Proxy(
  5832. IEnroll4 * This,
  5833. /* [in] */ LPCWSTR pwszResponseFileName);
  5834. void __RPC_STUB IEnroll4_acceptFileResponseWStr_Stub(
  5835. IRpcStubBuffer *This,
  5836. IRpcChannelBuffer *_pRpcChannelBuffer,
  5837. PRPC_MESSAGE _pRpcMessage,
  5838. DWORD *_pdwStubPhase);
  5839. HRESULT STDMETHODCALLTYPE IEnroll4_getCertContextFromResponseBlob_Proxy(
  5840. IEnroll4 * This,
  5841. /* [in] */ PCRYPT_DATA_BLOB pblobResponse,
  5842. /* [out] */ PCCERT_CONTEXT *ppCertContext);
  5843. void __RPC_STUB IEnroll4_getCertContextFromResponseBlob_Stub(
  5844. IRpcStubBuffer *This,
  5845. IRpcChannelBuffer *_pRpcChannelBuffer,
  5846. PRPC_MESSAGE _pRpcMessage,
  5847. DWORD *_pdwStubPhase);
  5848. HRESULT STDMETHODCALLTYPE IEnroll4_getCertContextFromFileResponseWStr_Proxy(
  5849. IEnroll4 * This,
  5850. /* [in] */ LPCWSTR pwszResponseFileName,
  5851. /* [out] */ PCCERT_CONTEXT *ppCertContext);
  5852. void __RPC_STUB IEnroll4_getCertContextFromFileResponseWStr_Stub(
  5853. IRpcStubBuffer *This,
  5854. IRpcChannelBuffer *_pRpcChannelBuffer,
  5855. PRPC_MESSAGE _pRpcMessage,
  5856. DWORD *_pdwStubPhase);
  5857. HRESULT STDMETHODCALLTYPE IEnroll4_createPFXWStr_Proxy(
  5858. IEnroll4 * This,
  5859. /* [in] */ LPCWSTR pwszPassword,
  5860. /* [out] */ PCRYPT_DATA_BLOB pblobPFX);
  5861. void __RPC_STUB IEnroll4_createPFXWStr_Stub(
  5862. IRpcStubBuffer *This,
  5863. IRpcChannelBuffer *_pRpcChannelBuffer,
  5864. PRPC_MESSAGE _pRpcMessage,
  5865. DWORD *_pdwStubPhase);
  5866. HRESULT STDMETHODCALLTYPE IEnroll4_createFilePFXWStr_Proxy(
  5867. IEnroll4 * This,
  5868. /* [in] */ LPCWSTR pwszPassword,
  5869. /* [in] */ LPCWSTR pwszPFXFileName);
  5870. void __RPC_STUB IEnroll4_createFilePFXWStr_Stub(
  5871. IRpcStubBuffer *This,
  5872. IRpcChannelBuffer *_pRpcChannelBuffer,
  5873. PRPC_MESSAGE _pRpcMessage,
  5874. DWORD *_pdwStubPhase);
  5875. HRESULT STDMETHODCALLTYPE IEnroll4_setPendingRequestInfoWStr_Proxy(
  5876. IEnroll4 * This,
  5877. /* [in] */ LONG lRequestID,
  5878. /* [in] */ LPCWSTR pwszCADNS,
  5879. /* [in] */ LPCWSTR pwszCAName,
  5880. /* [in] */ LPCWSTR pwszFriendlyName);
  5881. void __RPC_STUB IEnroll4_setPendingRequestInfoWStr_Stub(
  5882. IRpcStubBuffer *This,
  5883. IRpcChannelBuffer *_pRpcChannelBuffer,
  5884. PRPC_MESSAGE _pRpcMessage,
  5885. DWORD *_pdwStubPhase);
  5886. HRESULT STDMETHODCALLTYPE IEnroll4_enumPendingRequestWStr_Proxy(
  5887. IEnroll4 * This,
  5888. /* [in] */ LONG lIndex,
  5889. /* [in] */ LONG lDesiredProperty,
  5890. /* [out] */ LPVOID ppProperty);
  5891. void __RPC_STUB IEnroll4_enumPendingRequestWStr_Stub(
  5892. IRpcStubBuffer *This,
  5893. IRpcChannelBuffer *_pRpcChannelBuffer,
  5894. PRPC_MESSAGE _pRpcMessage,
  5895. DWORD *_pdwStubPhase);
  5896. HRESULT STDMETHODCALLTYPE IEnroll4_removePendingRequestWStr_Proxy(
  5897. IEnroll4 * This,
  5898. /* [in] */ CRYPT_DATA_BLOB thumbPrintBlob);
  5899. void __RPC_STUB IEnroll4_removePendingRequestWStr_Stub(
  5900. IRpcStubBuffer *This,
  5901. IRpcChannelBuffer *_pRpcChannelBuffer,
  5902. PRPC_MESSAGE _pRpcMessage,
  5903. DWORD *_pdwStubPhase);
  5904. HRESULT STDMETHODCALLTYPE IEnroll4_GetKeyLenEx_Proxy(
  5905. IEnroll4 * This,
  5906. /* [in] */ LONG lSizeSpec,
  5907. /* [in] */ LONG lKeySpec,
  5908. /* [retval][out] */ LONG *pdwKeySize);
  5909. void __RPC_STUB IEnroll4_GetKeyLenEx_Stub(
  5910. IRpcStubBuffer *This,
  5911. IRpcChannelBuffer *_pRpcChannelBuffer,
  5912. PRPC_MESSAGE _pRpcMessage,
  5913. DWORD *_pdwStubPhase);
  5914. HRESULT STDMETHODCALLTYPE IEnroll4_InstallPKCS7BlobEx_Proxy(
  5915. IEnroll4 * This,
  5916. /* [in] */ PCRYPT_DATA_BLOB pBlobPKCS7,
  5917. /* [retval][out] */ LONG *plCertInstalled);
  5918. void __RPC_STUB IEnroll4_InstallPKCS7BlobEx_Stub(
  5919. IRpcStubBuffer *This,
  5920. IRpcChannelBuffer *_pRpcChannelBuffer,
  5921. PRPC_MESSAGE _pRpcMessage,
  5922. DWORD *_pdwStubPhase);
  5923. HRESULT STDMETHODCALLTYPE IEnroll4_AddCertTypeToRequestWStrEx_Proxy(
  5924. IEnroll4 * This,
  5925. /* [in] */ LONG lType,
  5926. /* [in] */ LPCWSTR pwszOIDOrName,
  5927. /* [in] */ LONG lMajorVersion,
  5928. /* [in] */ BOOL fMinorVersion,
  5929. /* [in] */ LONG lMinorVersion);
  5930. void __RPC_STUB IEnroll4_AddCertTypeToRequestWStrEx_Stub(
  5931. IRpcStubBuffer *This,
  5932. IRpcChannelBuffer *_pRpcChannelBuffer,
  5933. PRPC_MESSAGE _pRpcMessage,
  5934. DWORD *_pdwStubPhase);
  5935. HRESULT STDMETHODCALLTYPE IEnroll4_getProviderTypeWStr_Proxy(
  5936. IEnroll4 * This,
  5937. /* [in] */ LPCWSTR pwszProvName,
  5938. /* [retval][out] */ LONG *plProvType);
  5939. void __RPC_STUB IEnroll4_getProviderTypeWStr_Stub(
  5940. IRpcStubBuffer *This,
  5941. IRpcChannelBuffer *_pRpcChannelBuffer,
  5942. PRPC_MESSAGE _pRpcMessage,
  5943. DWORD *_pdwStubPhase);
  5944. HRESULT STDMETHODCALLTYPE IEnroll4_addBlobPropertyToCertificateWStr_Proxy(
  5945. IEnroll4 * This,
  5946. /* [in] */ LONG lPropertyId,
  5947. /* [in] */ LONG lReserved,
  5948. /* [in] */ PCRYPT_DATA_BLOB pBlobProperty);
  5949. void __RPC_STUB IEnroll4_addBlobPropertyToCertificateWStr_Stub(
  5950. IRpcStubBuffer *This,
  5951. IRpcChannelBuffer *_pRpcChannelBuffer,
  5952. PRPC_MESSAGE _pRpcMessage,
  5953. DWORD *_pdwStubPhase);
  5954. HRESULT STDMETHODCALLTYPE IEnroll4_SetSignerCertificate_Proxy(
  5955. IEnroll4 * This,
  5956. /* [in] */ PCCERT_CONTEXT pSignerCert);
  5957. void __RPC_STUB IEnroll4_SetSignerCertificate_Stub(
  5958. IRpcStubBuffer *This,
  5959. IRpcChannelBuffer *_pRpcChannelBuffer,
  5960. PRPC_MESSAGE _pRpcMessage,
  5961. DWORD *_pdwStubPhase);
  5962. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll4_put_ClientId_Proxy(
  5963. IEnroll4 * This,
  5964. /* [in] */ LONG lClientId);
  5965. void __RPC_STUB IEnroll4_put_ClientId_Stub(
  5966. IRpcStubBuffer *This,
  5967. IRpcChannelBuffer *_pRpcChannelBuffer,
  5968. PRPC_MESSAGE _pRpcMessage,
  5969. DWORD *_pdwStubPhase);
  5970. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll4_get_ClientId_Proxy(
  5971. IEnroll4 * This,
  5972. /* [retval][out] */ LONG *plClientId);
  5973. void __RPC_STUB IEnroll4_get_ClientId_Stub(
  5974. IRpcStubBuffer *This,
  5975. IRpcChannelBuffer *_pRpcChannelBuffer,
  5976. PRPC_MESSAGE _pRpcMessage,
  5977. DWORD *_pdwStubPhase);
  5978. /* [propput] */ HRESULT STDMETHODCALLTYPE IEnroll4_put_IncludeSubjectKeyID_Proxy(
  5979. IEnroll4 * This,
  5980. /* [in] */ BOOL fInclude);
  5981. void __RPC_STUB IEnroll4_put_IncludeSubjectKeyID_Stub(
  5982. IRpcStubBuffer *This,
  5983. IRpcChannelBuffer *_pRpcChannelBuffer,
  5984. PRPC_MESSAGE _pRpcMessage,
  5985. DWORD *_pdwStubPhase);
  5986. /* [propget] */ HRESULT STDMETHODCALLTYPE IEnroll4_get_IncludeSubjectKeyID_Proxy(
  5987. IEnroll4 * This,
  5988. /* [retval][out] */ BOOL *pfInclude);
  5989. void __RPC_STUB IEnroll4_get_IncludeSubjectKeyID_Stub(
  5990. IRpcStubBuffer *This,
  5991. IRpcChannelBuffer *_pRpcChannelBuffer,
  5992. PRPC_MESSAGE _pRpcMessage,
  5993. DWORD *_pdwStubPhase);
  5994. #endif /* __IEnroll4_INTERFACE_DEFINED__ */
  5995. #ifndef __XENROLLLib_LIBRARY_DEFINED__
  5996. #define __XENROLLLib_LIBRARY_DEFINED__
  5997. /* library XENROLLLib */
  5998. /* [helpstring][version][uuid] */
  5999. EXTERN_C const IID LIBID_XENROLLLib;
  6000. EXTERN_C const CLSID CLSID_CEnroll;
  6001. #ifdef __cplusplus
  6002. class DECLSPEC_UUID("43F8F289-7A20-11D0-8F06-00C04FC295E1")
  6003. CEnroll;
  6004. #endif
  6005. #endif /* __XENROLLLib_LIBRARY_DEFINED__ */
  6006. /* interface __MIDL_itf_xenroll_0260 */
  6007. /* [local] */
  6008. extern "C" IEnroll * WINAPI PIEnrollGetNoCOM(void);
  6009. extern "C" IEnroll2 * WINAPI PIEnroll2GetNoCOM(void);
  6010. extern "C" IEnroll4 * WINAPI PIEnroll4GetNoCOM(void);
  6011. #define CRYPT_ENUM_ALL_PROVIDERS 0x1
  6012. #define XEPR_ENUM_FIRST -1
  6013. #define XEPR_CADNS 0x01
  6014. #define XEPR_CANAME 0x02
  6015. #define XEPR_CAFRIENDLYNAME 0x03
  6016. #define XEPR_REQUESTID 0x04
  6017. #define XEPR_DATE 0x05
  6018. #define XEPR_TEMPLATENAME 0x06
  6019. #define XEPR_VERSION 0x07
  6020. #define XEPR_HASH 0x08
  6021. #define XEPR_V1TEMPLATENAME 0x09
  6022. #define XEPR_V2TEMPLATEOID 0x10
  6023. #define XECR_PKCS10_V2_0 0x1
  6024. #define XECR_PKCS7 0x2
  6025. #define XECR_CMC 0x3
  6026. #define XECR_PKCS10_V1_5 0x4
  6027. #define XEKL_KEYSIZE_MIN 0x1
  6028. #define XEKL_KEYSIZE_MAX 0x2
  6029. #define XEKL_KEYSIZE_INC 0x3
  6030. #define XEKL_KEYSIZE_DEFAULT 0x4
  6031. #define XEKL_KEYSPEC_KEYX 0x1
  6032. #define XEKL_KEYSPEC_SIG 0x2
  6033. #define XECT_EXTENSION_V1 0x1
  6034. #define XECT_EXTENSION_V2 0x2
  6035. #define XECP_STRING_PROPERTY 0x1
  6036. #define XECI_DISABLE 0x0
  6037. #define XECI_XENROLL 0x1
  6038. #define XECI_AUTOENROLL 0x2
  6039. #define XECI_REQWIZARD 0x3
  6040. #define XECI_CERTREQ 0x4
  6041. extern RPC_IF_HANDLE __MIDL_itf_xenroll_0260_v0_0_c_ifspec;
  6042. extern RPC_IF_HANDLE __MIDL_itf_xenroll_0260_v0_0_s_ifspec;
  6043. /* Additional Prototypes for ALL interfaces */
  6044. unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
  6045. unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
  6046. unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
  6047. void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
  6048. unsigned long __RPC_USER VARIANT_UserSize( unsigned long *, unsigned long , VARIANT * );
  6049. unsigned char * __RPC_USER VARIANT_UserMarshal( unsigned long *, unsigned char *, VARIANT * );
  6050. unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * );
  6051. void __RPC_USER VARIANT_UserFree( unsigned long *, VARIANT * );
  6052. /* end of Additional Prototypes */
  6053. #ifdef __cplusplus
  6054. }
  6055. #endif
  6056. #endif