Leaked source code of windows server 2003
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.

8685 lines
296 KiB

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