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

5636 lines
167 KiB

  1. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3. /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for capicom.idl:
  5. Oicf, W1, Zp8, env=Win32 (32b run)
  6. protocol : dce , ms_ext, c_ext, robust
  7. error checks: allocation ref bounds_check enum stub_data
  8. VC __declspec() decoration level:
  9. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10. DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING( )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __capicom_h__
  27. #define __capicom_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __Settings_FWD_DEFINED__
  33. #define __Settings_FWD_DEFINED__
  34. #ifdef __cplusplus
  35. typedef class Settings Settings;
  36. #else
  37. typedef struct Settings Settings;
  38. #endif /* __cplusplus */
  39. #endif /* __Settings_FWD_DEFINED__ */
  40. #ifndef __EKU_FWD_DEFINED__
  41. #define __EKU_FWD_DEFINED__
  42. #ifdef __cplusplus
  43. typedef class EKU EKU;
  44. #else
  45. typedef struct EKU EKU;
  46. #endif /* __cplusplus */
  47. #endif /* __EKU_FWD_DEFINED__ */
  48. #ifndef __EKUs_FWD_DEFINED__
  49. #define __EKUs_FWD_DEFINED__
  50. #ifdef __cplusplus
  51. typedef class EKUs EKUs;
  52. #else
  53. typedef struct EKUs EKUs;
  54. #endif /* __cplusplus */
  55. #endif /* __EKUs_FWD_DEFINED__ */
  56. #ifndef __KeyUsage_FWD_DEFINED__
  57. #define __KeyUsage_FWD_DEFINED__
  58. #ifdef __cplusplus
  59. typedef class KeyUsage KeyUsage;
  60. #else
  61. typedef struct KeyUsage KeyUsage;
  62. #endif /* __cplusplus */
  63. #endif /* __KeyUsage_FWD_DEFINED__ */
  64. #ifndef __ExtendedKeyUsage_FWD_DEFINED__
  65. #define __ExtendedKeyUsage_FWD_DEFINED__
  66. #ifdef __cplusplus
  67. typedef class ExtendedKeyUsage ExtendedKeyUsage;
  68. #else
  69. typedef struct ExtendedKeyUsage ExtendedKeyUsage;
  70. #endif /* __cplusplus */
  71. #endif /* __ExtendedKeyUsage_FWD_DEFINED__ */
  72. #ifndef __BasicConstraints_FWD_DEFINED__
  73. #define __BasicConstraints_FWD_DEFINED__
  74. #ifdef __cplusplus
  75. typedef class BasicConstraints BasicConstraints;
  76. #else
  77. typedef struct BasicConstraints BasicConstraints;
  78. #endif /* __cplusplus */
  79. #endif /* __BasicConstraints_FWD_DEFINED__ */
  80. #ifndef __CertificateStatus_FWD_DEFINED__
  81. #define __CertificateStatus_FWD_DEFINED__
  82. #ifdef __cplusplus
  83. typedef class CertificateStatus CertificateStatus;
  84. #else
  85. typedef struct CertificateStatus CertificateStatus;
  86. #endif /* __cplusplus */
  87. #endif /* __CertificateStatus_FWD_DEFINED__ */
  88. #ifndef __Certificate_FWD_DEFINED__
  89. #define __Certificate_FWD_DEFINED__
  90. #ifdef __cplusplus
  91. typedef class Certificate Certificate;
  92. #else
  93. typedef struct Certificate Certificate;
  94. #endif /* __cplusplus */
  95. #endif /* __Certificate_FWD_DEFINED__ */
  96. #ifndef __Certificates_FWD_DEFINED__
  97. #define __Certificates_FWD_DEFINED__
  98. #ifdef __cplusplus
  99. typedef class Certificates Certificates;
  100. #else
  101. typedef struct Certificates Certificates;
  102. #endif /* __cplusplus */
  103. #endif /* __Certificates_FWD_DEFINED__ */
  104. #ifndef __Chain_FWD_DEFINED__
  105. #define __Chain_FWD_DEFINED__
  106. #ifdef __cplusplus
  107. typedef class Chain Chain;
  108. #else
  109. typedef struct Chain Chain;
  110. #endif /* __cplusplus */
  111. #endif /* __Chain_FWD_DEFINED__ */
  112. #ifndef __Store_FWD_DEFINED__
  113. #define __Store_FWD_DEFINED__
  114. #ifdef __cplusplus
  115. typedef class Store Store;
  116. #else
  117. typedef struct Store Store;
  118. #endif /* __cplusplus */
  119. #endif /* __Store_FWD_DEFINED__ */
  120. #ifndef __Attribute_FWD_DEFINED__
  121. #define __Attribute_FWD_DEFINED__
  122. #ifdef __cplusplus
  123. typedef class Attribute Attribute;
  124. #else
  125. typedef struct Attribute Attribute;
  126. #endif /* __cplusplus */
  127. #endif /* __Attribute_FWD_DEFINED__ */
  128. #ifndef __Attributes_FWD_DEFINED__
  129. #define __Attributes_FWD_DEFINED__
  130. #ifdef __cplusplus
  131. typedef class Attributes Attributes;
  132. #else
  133. typedef struct Attributes Attributes;
  134. #endif /* __cplusplus */
  135. #endif /* __Attributes_FWD_DEFINED__ */
  136. #ifndef __Signer_FWD_DEFINED__
  137. #define __Signer_FWD_DEFINED__
  138. #ifdef __cplusplus
  139. typedef class Signer Signer;
  140. #else
  141. typedef struct Signer Signer;
  142. #endif /* __cplusplus */
  143. #endif /* __Signer_FWD_DEFINED__ */
  144. #ifndef __Signers_FWD_DEFINED__
  145. #define __Signers_FWD_DEFINED__
  146. #ifdef __cplusplus
  147. typedef class Signers Signers;
  148. #else
  149. typedef struct Signers Signers;
  150. #endif /* __cplusplus */
  151. #endif /* __Signers_FWD_DEFINED__ */
  152. #ifndef __SignedData_FWD_DEFINED__
  153. #define __SignedData_FWD_DEFINED__
  154. #ifdef __cplusplus
  155. typedef class SignedData SignedData;
  156. #else
  157. typedef struct SignedData SignedData;
  158. #endif /* __cplusplus */
  159. #endif /* __SignedData_FWD_DEFINED__ */
  160. #ifndef __Algorithm_FWD_DEFINED__
  161. #define __Algorithm_FWD_DEFINED__
  162. #ifdef __cplusplus
  163. typedef class Algorithm Algorithm;
  164. #else
  165. typedef struct Algorithm Algorithm;
  166. #endif /* __cplusplus */
  167. #endif /* __Algorithm_FWD_DEFINED__ */
  168. #ifndef __Recipients_FWD_DEFINED__
  169. #define __Recipients_FWD_DEFINED__
  170. #ifdef __cplusplus
  171. typedef class Recipients Recipients;
  172. #else
  173. typedef struct Recipients Recipients;
  174. #endif /* __cplusplus */
  175. #endif /* __Recipients_FWD_DEFINED__ */
  176. #ifndef __EnvelopedData_FWD_DEFINED__
  177. #define __EnvelopedData_FWD_DEFINED__
  178. #ifdef __cplusplus
  179. typedef class EnvelopedData EnvelopedData;
  180. #else
  181. typedef struct EnvelopedData EnvelopedData;
  182. #endif /* __cplusplus */
  183. #endif /* __EnvelopedData_FWD_DEFINED__ */
  184. #ifndef __EncryptedData_FWD_DEFINED__
  185. #define __EncryptedData_FWD_DEFINED__
  186. #ifdef __cplusplus
  187. typedef class EncryptedData EncryptedData;
  188. #else
  189. typedef struct EncryptedData EncryptedData;
  190. #endif /* __cplusplus */
  191. #endif /* __EncryptedData_FWD_DEFINED__ */
  192. #ifndef __ISettings_FWD_DEFINED__
  193. #define __ISettings_FWD_DEFINED__
  194. typedef interface ISettings ISettings;
  195. #endif /* __ISettings_FWD_DEFINED__ */
  196. #ifndef __IEKU_FWD_DEFINED__
  197. #define __IEKU_FWD_DEFINED__
  198. typedef interface IEKU IEKU;
  199. #endif /* __IEKU_FWD_DEFINED__ */
  200. #ifndef __IEKUs_FWD_DEFINED__
  201. #define __IEKUs_FWD_DEFINED__
  202. typedef interface IEKUs IEKUs;
  203. #endif /* __IEKUs_FWD_DEFINED__ */
  204. #ifndef __IKeyUsage_FWD_DEFINED__
  205. #define __IKeyUsage_FWD_DEFINED__
  206. typedef interface IKeyUsage IKeyUsage;
  207. #endif /* __IKeyUsage_FWD_DEFINED__ */
  208. #ifndef __IExtendedKeyUsage_FWD_DEFINED__
  209. #define __IExtendedKeyUsage_FWD_DEFINED__
  210. typedef interface IExtendedKeyUsage IExtendedKeyUsage;
  211. #endif /* __IExtendedKeyUsage_FWD_DEFINED__ */
  212. #ifndef __IBasicConstraints_FWD_DEFINED__
  213. #define __IBasicConstraints_FWD_DEFINED__
  214. typedef interface IBasicConstraints IBasicConstraints;
  215. #endif /* __IBasicConstraints_FWD_DEFINED__ */
  216. #ifndef __ICertificateStatus_FWD_DEFINED__
  217. #define __ICertificateStatus_FWD_DEFINED__
  218. typedef interface ICertificateStatus ICertificateStatus;
  219. #endif /* __ICertificateStatus_FWD_DEFINED__ */
  220. #ifndef __ICertificate_FWD_DEFINED__
  221. #define __ICertificate_FWD_DEFINED__
  222. typedef interface ICertificate ICertificate;
  223. #endif /* __ICertificate_FWD_DEFINED__ */
  224. #ifndef __ICertificates_FWD_DEFINED__
  225. #define __ICertificates_FWD_DEFINED__
  226. typedef interface ICertificates ICertificates;
  227. #endif /* __ICertificates_FWD_DEFINED__ */
  228. #ifndef __IChain_FWD_DEFINED__
  229. #define __IChain_FWD_DEFINED__
  230. typedef interface IChain IChain;
  231. #endif /* __IChain_FWD_DEFINED__ */
  232. #ifndef __IStore_FWD_DEFINED__
  233. #define __IStore_FWD_DEFINED__
  234. typedef interface IStore IStore;
  235. #endif /* __IStore_FWD_DEFINED__ */
  236. #ifndef __IAttribute_FWD_DEFINED__
  237. #define __IAttribute_FWD_DEFINED__
  238. typedef interface IAttribute IAttribute;
  239. #endif /* __IAttribute_FWD_DEFINED__ */
  240. #ifndef __IAttributes_FWD_DEFINED__
  241. #define __IAttributes_FWD_DEFINED__
  242. typedef interface IAttributes IAttributes;
  243. #endif /* __IAttributes_FWD_DEFINED__ */
  244. #ifndef __ISigner_FWD_DEFINED__
  245. #define __ISigner_FWD_DEFINED__
  246. typedef interface ISigner ISigner;
  247. #endif /* __ISigner_FWD_DEFINED__ */
  248. #ifndef __ISigners_FWD_DEFINED__
  249. #define __ISigners_FWD_DEFINED__
  250. typedef interface ISigners ISigners;
  251. #endif /* __ISigners_FWD_DEFINED__ */
  252. #ifndef __ISignedData_FWD_DEFINED__
  253. #define __ISignedData_FWD_DEFINED__
  254. typedef interface ISignedData ISignedData;
  255. #endif /* __ISignedData_FWD_DEFINED__ */
  256. #ifndef __IAlgorithm_FWD_DEFINED__
  257. #define __IAlgorithm_FWD_DEFINED__
  258. typedef interface IAlgorithm IAlgorithm;
  259. #endif /* __IAlgorithm_FWD_DEFINED__ */
  260. #ifndef __IRecipients_FWD_DEFINED__
  261. #define __IRecipients_FWD_DEFINED__
  262. typedef interface IRecipients IRecipients;
  263. #endif /* __IRecipients_FWD_DEFINED__ */
  264. #ifndef __IEnvelopedData_FWD_DEFINED__
  265. #define __IEnvelopedData_FWD_DEFINED__
  266. typedef interface IEnvelopedData IEnvelopedData;
  267. #endif /* __IEnvelopedData_FWD_DEFINED__ */
  268. #ifndef __IEncryptedData_FWD_DEFINED__
  269. #define __IEncryptedData_FWD_DEFINED__
  270. typedef interface IEncryptedData IEncryptedData;
  271. #endif /* __IEncryptedData_FWD_DEFINED__ */
  272. #ifndef __ICChain_FWD_DEFINED__
  273. #define __ICChain_FWD_DEFINED__
  274. typedef interface ICChain ICChain;
  275. #endif /* __ICChain_FWD_DEFINED__ */
  276. #ifndef __ICCertificate_FWD_DEFINED__
  277. #define __ICCertificate_FWD_DEFINED__
  278. typedef interface ICCertificate ICCertificate;
  279. #endif /* __ICCertificate_FWD_DEFINED__ */
  280. /* header files for imported files */
  281. #include "oaidl.h"
  282. #include "ocidl.h"
  283. #include "wincrypt.h"
  284. #ifdef __cplusplus
  285. extern "C"{
  286. #endif
  287. void * __RPC_USER MIDL_user_allocate(size_t);
  288. void __RPC_USER MIDL_user_free( void * );
  289. #ifndef __CAPICOM_LIBRARY_DEFINED__
  290. #define __CAPICOM_LIBRARY_DEFINED__
  291. /* library CAPICOM */
  292. /* [helpstring][version][uuid] */
  293. typedef
  294. enum CAPICOM_ERROR_CODE
  295. { CAPICOM_E_ENCODE_INVALID_TYPE = 0x80880100,
  296. CAPICOM_E_EKU_INVALID_OID = 0x80880200,
  297. CAPICOM_E_EKU_OID_NOT_INITIALIZED = 0x80880201,
  298. CAPICOM_E_CERTIFICATE_NOT_INITIALIZED = 0x80880210,
  299. CAPICOM_E_CERTIFICATE_NO_PRIVATE_KEY = 0x80880211,
  300. CAPICOM_E_CHAIN_NOT_BUILT = 0x80880220,
  301. CAPICOM_E_STORE_NOT_OPENED = 0x80880230,
  302. CAPICOM_E_STORE_EMPTY = 0x80880231,
  303. CAPICOM_E_STORE_INVALID_OPEN_MODE = 0x80880232,
  304. CAPICOM_E_STORE_INVALID_SAVE_AS_TYPE = 0x80880233,
  305. CAPICOM_E_ATTRIBUTE_NAME_NOT_INITIALIZED = 0x80880240,
  306. CAPICOM_E_ATTRIBUTE_VALUE_NOT_INITIALIZED = 0x80880241,
  307. CAPICOM_E_ATTRIBUTE_INVALID_NAME = 0x80880242,
  308. CAPICOM_E_ATTRIBUTE_INVALID_VALUE = 0x80880243,
  309. CAPICOM_E_SIGNER_NOT_INITIALIZED = 0x80880250,
  310. CAPICOM_E_SIGNER_NOT_FOUND = 0x80880251,
  311. CAPICOM_E_SIGN_NOT_INITIALIZED = 0x80880260,
  312. CAPICOM_E_SIGN_INVALID_TYPE = 0x80880261,
  313. CAPICOM_E_SIGN_NOT_SIGNED = 0x80880262,
  314. CAPICOM_E_INVALID_ALGORITHM = 0x80880270,
  315. CAPICOM_E_INVALID_KEY_LENGTH = 0x80880271,
  316. CAPICOM_E_ENVELOP_NOT_INITIALIZED = 0x80880280,
  317. CAPICOM_E_ENVELOP_INVALID_TYPE = 0x80880281,
  318. CAPICOM_E_ENVELOP_NO_RECIPIENT = 0x80880282,
  319. CAPICOM_E_ENVELOP_RECIPIENT_NOT_FOUND = 0x80880283,
  320. CAPICOM_E_ENCRYPT_NOT_INITIALIZED = 0x80880290,
  321. CAPICOM_E_ENCRYPT_INVALID_TYPE = 0x80880291,
  322. CAPICOM_E_ENCRYPT_NO_SECRET = 0x80880292,
  323. CAPICOM_E_NOT_SUPPORTED = 0x80880900,
  324. CAPICOM_E_UI_DISABLED = 0x80880901,
  325. CAPICOM_E_CANCELLED = 0x80880902,
  326. CAPICOM_E_INTERNAL = 0x80880911,
  327. CAPICOM_E_UNKNOWN = 0x80880999
  328. } CAPICOM_ERROR_CODE;
  329. typedef
  330. enum CAPICOM_ENCODING_TYPE
  331. { CAPICOM_ENCODE_BASE64 = 0,
  332. CAPICOM_ENCODE_BINARY = 1
  333. } CAPICOM_ENCODING_TYPE;
  334. typedef
  335. enum CAPICOM_EKU
  336. { CAPICOM_EKU_OTHER = 0,
  337. CAPICOM_EKU_SERVER_AUTH = 1,
  338. CAPICOM_EKU_CLIENT_AUTH = 2,
  339. CAPICOM_EKU_CODE_SIGNING = 3,
  340. CAPICOM_EKU_EMAIL_PROTECTION = 4
  341. } CAPICOM_EKU;
  342. typedef
  343. enum CAPICOM_CHECK_FLAG
  344. { CAPICOM_CHECK_NONE = 0,
  345. CAPICOM_CHECK_TRUSTED_ROOT = 1,
  346. CAPICOM_CHECK_TIME_VALIDITY = 2,
  347. CAPICOM_CHECK_SIGNATURE_VALIDITY = 4,
  348. CAPICOM_CHECK_ONLINE_REVOCATION_STATUS = 8,
  349. CAPICOM_CHECK_OFFLINE_REVOCATION_STATUS = 16
  350. } CAPICOM_CHECK_FLAG;
  351. typedef
  352. enum CAPICOM_CERT_INFO_TYPE
  353. { CAPICOM_CERT_INFO_SUBJECT_SIMPLE_NAME = 0,
  354. CAPICOM_CERT_INFO_ISSUER_SIMPLE_NAME = 1,
  355. CAPICOM_CERT_INFO_SUBJECT_EMAIL_NAME = 2,
  356. CAPICOM_CERT_INFO_ISSUER_EMAIL_NAME = 3
  357. } CAPICOM_CERT_INFO_TYPE;
  358. typedef
  359. enum CAPICOM_STORE_LOCATION
  360. { CAPICOM_MEMORY_STORE = 0,
  361. CAPICOM_LOCAL_MACHINE_STORE = 1,
  362. CAPICOM_CURRENT_USER_STORE = 2,
  363. CAPICOM_ACTIVE_DIRECTORY_USER_STORE = 3
  364. } CAPICOM_STORE_LOCATION;
  365. typedef
  366. enum CAPICOM_STORE_OPEN_MODE
  367. { CAPICOM_STORE_OPEN_READ_ONLY = 0,
  368. CAPICOM_STORE_OPEN_READ_WRITE = 1,
  369. CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED = 2
  370. } CAPICOM_STORE_OPEN_MODE;
  371. typedef
  372. enum CAPICOM_ACTIVE_DIRECTORY_SEARCH_LOCATION
  373. { CAPICOM_SEARCH_ANY = 0,
  374. CAPICOM_SEARCH_GLOBAL_CATALOG = 1,
  375. CAPICOM_SEARCH_DEFAULT_DOMAIN = 2
  376. } CAPICOM_ACTIVE_DIRECTORY_SEARCH_LOCATION;
  377. typedef
  378. enum CAPICOM_STORE_SAVE_AS_TYPE
  379. { CAPICOM_STORE_SAVE_AS_SERIALIZED = 0,
  380. CAPICOM_STORE_SAVE_AS_PKCS7 = 1
  381. } CAPICOM_STORE_SAVE_AS_TYPE;
  382. typedef
  383. enum CAPICOM_ATTRIBUTE
  384. { CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME = 0,
  385. CAPICOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_NAME = 1,
  386. CAPICOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_DESCRIPTION = 2
  387. } CAPICOM_ATTRIBUTE;
  388. typedef
  389. enum CAPICOM_SIGNED_DATA_VERIFY_FLAG
  390. { CAPICOM_VERIFY_SIGNATURE_ONLY = 0,
  391. CAPICOM_VERIFY_SIGNATURE_AND_CERTIFICATE = 1
  392. } CAPICOM_SIGNED_DATA_VERIFY_FLAG;
  393. typedef
  394. enum CAPICOM_ENCRYPTION_ALGORITHM
  395. { CAPICOM_ENCRYPTION_ALGORITHM_RC2 = 0,
  396. CAPICOM_ENCRYPTION_ALGORITHM_RC4 = 1,
  397. CAPICOM_ENCRYPTION_ALGORITHM_DES = 2,
  398. CAPICOM_ENCRYPTION_ALGORITHM_3DES = 3
  399. } CAPICOM_ENCRYPTION_ALGORITHM;
  400. typedef
  401. enum CAPICOM_ENCRYPTION_KEY_LENGTH
  402. { CAPICOM_ENCRYPTION_KEY_LENGTH_MAXIMUM = 0,
  403. CAPICOM_ENCRYPTION_KEY_LENGTH_40_BITS = 1,
  404. CAPICOM_ENCRYPTION_KEY_LENGTH_56_BITS = 2,
  405. CAPICOM_ENCRYPTION_KEY_LENGTH_128_BITS = 3
  406. } CAPICOM_ENCRYPTION_KEY_LENGTH;
  407. typedef
  408. enum CAPICOM_SECRET_TYPE
  409. { CAPICOM_SECRET_PASSWORD = 0
  410. } CAPICOM_SECRET_TYPE;
  411. EXTERN_C const IID LIBID_CAPICOM;
  412. #ifndef __Constants_MODULE_DEFINED__
  413. #define __Constants_MODULE_DEFINED__
  414. /* module Constants */
  415. /* [dllname] */
  416. const LPSTR CAPICOM_VERSION_INFO = "CAPICOM v1.0";
  417. const LPSTR CAPICOM_MY_STORE = "My";
  418. const LPSTR CAPICOM_CA_STORE = "Ca";
  419. const LPSTR CAPICOM_ROOT_STORE = "Root";
  420. const LPSTR CAPICOM_OTHER_STORE = "AddressBook";
  421. const LPSTR CAPICOM_OID_SERVER_AUTH = "1.3.6.1.5.5.7.3.1";
  422. const LPSTR CAPICOM_OID_CLIENT_AUTH = "1.3.6.1.5.5.7.3.2";
  423. const LPSTR CAPICOM_OID_CODE_SIGNING = "1.3.6.1.5.5.7.3.3";
  424. const LPSTR CAPICOM_OID_EMAIL_PROTECTION = "1.3.6.1.5.5.7.3.4";
  425. const LPSTR CAPICOM_OID_IPSEC_END_SYSTEM = "1.3.6.1.5.5.7.3.5";
  426. const LPSTR CAPICOM_OID_IPSEC_TUNNEL = "1.3.6.1.5.5.7.3.6";
  427. const LPSTR CAPICOM_OID_IPSEC_USER = "1.3.6.1.5.5.7.3.7";
  428. const LPSTR CAPICOM_OID_TIME_STAMPING = "1.3.6.1.5.5.7.3.8";
  429. const LPSTR CAPICOM_OID_CTL_USAGE_SIGNING = "1.3.6.1.4.1.311.10.3.1";
  430. const LPSTR CAPICOM_OID_TIME_STAMP_SIGNING = "1.3.6.1.4.1.311.10.3.2";
  431. const LPSTR CAPICOM_OID_SERVER_GATED_CRYPTO = "1.3.6.1.4.1.311.10.3.3";
  432. const LPSTR CAPICOM_OID_ENCRYPTING_FILE_SYSTEM = "1.3.6.1.4.1.311.10.3.4";
  433. const LPSTR CAPICOM_OID_WHQL_CRYPTO = "1.3.6.1.4.1.311.10.3.5";
  434. const LPSTR CAPICOM_OID_NT5_CRYPTO = "1.3.6.1.4.1.311.10.3.6";
  435. const LPSTR CAPICOM_OID_OEM_WHQL_CRYPTO = "1.3.6.1.4.1.311.10.3.7";
  436. const LPSTR CAPICOM_OID_EMBEDED_NT_CRYPTO = "1.3.6.1.4.1.311.10.3.8";
  437. const LPSTR CAPICOM_OID_ROOT_LIST_SIGNER = "1.3.6.1.4.1.311.10.3.9";
  438. const LPSTR CAPICOM_OID_QUALIFIED_SUBORDINATION = "1.3.6.1.4.1.311.10.3.10";
  439. const LPSTR CAPICOM_OID_KEY_RECOVERY = "1.3.6.1.4.1.311.10.3.11";
  440. const LPSTR CAPICOM_OID_DIGITAL_RIGHTS = "1.3.6.1.4.1.311.10.5.1";
  441. const LPSTR CAPICOM_OID_LICENSES = "1.3.6.1.4.1.311.10.6.1";
  442. const LPSTR CAPICOM_OID_LICENSE_SERVER = "1.3.6.1.4.1.311.10.6.2";
  443. const LPSTR CAPICOM_OID_SMART_CARD_LOGON = "1.3.6.1.4.1.311.20.2.2";
  444. const long CAPICOM_TRUST_IS_NOT_TIME_VALID = 0x1;
  445. const long CAPICOM_TRUST_IS_NOT_TIME_NESTED = 0x2;
  446. const long CAPICOM_TRUST_IS_REVOKED = 0x4;
  447. const long CAPICOM_TRUST_IS_NOT_SIGNATURE_VALID = 0x8;
  448. const long CAPICOM_TRUST_IS_NOT_VALID_FOR_USAGE = 0x10;
  449. const long CAPICOM_TRUST_IS_UNTRUSTED_ROOT = 0x20;
  450. const long CAPICOM_TRUST_REVOCATION_STATUS_UNKNOWN = 0x40;
  451. const long CAPICOM_TRUST_IS_CYCLIC = 0x80;
  452. const long CAPICOM_TRUST_IS_PARTIAL_CHAIN = 0x10000;
  453. const long CAPICOM_TRUST_CTL_IS_NOT_TIME_VALID = 0x20000;
  454. const long CAPICOM_TRUST_CTL_IS_NOT_SIGNATURE_VALID = 0x40000;
  455. const long CAPICOM_TRUST_CTL_IS_NOT_VALID_FOR_USAGE = 0x80000;
  456. #endif /* __Constants_MODULE_DEFINED__ */
  457. EXTERN_C const CLSID CLSID_Settings;
  458. #ifdef __cplusplus
  459. class DECLSPEC_UUID("A996E48C-D3DC-4244-89F7-AFA33EC60679")
  460. Settings;
  461. #endif
  462. EXTERN_C const CLSID CLSID_EKU;
  463. #ifdef __cplusplus
  464. class DECLSPEC_UUID("8535F9A1-738A-40D0-8FB1-10CC8F74E7D3")
  465. EKU;
  466. #endif
  467. EXTERN_C const CLSID CLSID_EKUs;
  468. #ifdef __cplusplus
  469. class DECLSPEC_UUID("F1800663-5BFC-4D1A-8D44-56CE02DDA34F")
  470. EKUs;
  471. #endif
  472. EXTERN_C const CLSID CLSID_KeyUsage;
  473. #ifdef __cplusplus
  474. class DECLSPEC_UUID("9226C95C-38BE-4CC4-B3A2-A867F5199C13")
  475. KeyUsage;
  476. #endif
  477. EXTERN_C const CLSID CLSID_ExtendedKeyUsage;
  478. #ifdef __cplusplus
  479. class DECLSPEC_UUID("42C18607-1B4B-4126-8F1B-76E2DC7F631A")
  480. ExtendedKeyUsage;
  481. #endif
  482. EXTERN_C const CLSID CLSID_BasicConstraints;
  483. #ifdef __cplusplus
  484. class DECLSPEC_UUID("C05AAC6E-3A58-45A9-A203-56952E961E48")
  485. BasicConstraints;
  486. #endif
  487. EXTERN_C const CLSID CLSID_CertificateStatus;
  488. #ifdef __cplusplus
  489. class DECLSPEC_UUID("16951EE6-A455-47CA-A78B-F98DA566B604")
  490. CertificateStatus;
  491. #endif
  492. EXTERN_C const CLSID CLSID_Certificate;
  493. #ifdef __cplusplus
  494. class DECLSPEC_UUID("E38FD381-6404-4041-B5E9-B2739258941F")
  495. Certificate;
  496. #endif
  497. EXTERN_C const CLSID CLSID_Certificates;
  498. #ifdef __cplusplus
  499. class DECLSPEC_UUID("FBAB033B-CDD0-4C5E-81AB-AEA575CD1338")
  500. Certificates;
  501. #endif
  502. EXTERN_C const CLSID CLSID_Chain;
  503. #ifdef __cplusplus
  504. class DECLSPEC_UUID("65104D73-BA60-4160-A95A-4B4782E7AA62")
  505. Chain;
  506. #endif
  507. EXTERN_C const CLSID CLSID_Store;
  508. #ifdef __cplusplus
  509. class DECLSPEC_UUID("78E61E52-0E57-4456-A2F2-517492BCBF8F")
  510. Store;
  511. #endif
  512. EXTERN_C const CLSID CLSID_Attribute;
  513. #ifdef __cplusplus
  514. class DECLSPEC_UUID("54BA1E8F-818D-407F-949D-BAE1692C5C18")
  515. Attribute;
  516. #endif
  517. EXTERN_C const CLSID CLSID_Attributes;
  518. #ifdef __cplusplus
  519. class DECLSPEC_UUID("933013A9-64C8-4485-ACEF-4908C3692A33")
  520. Attributes;
  521. #endif
  522. EXTERN_C const CLSID CLSID_Signer;
  523. #ifdef __cplusplus
  524. class DECLSPEC_UUID("60A9863A-11FD-4080-850E-A8E184FC3A3C")
  525. Signer;
  526. #endif
  527. EXTERN_C const CLSID CLSID_Signers;
  528. #ifdef __cplusplus
  529. class DECLSPEC_UUID("1314C1D8-D3A8-4F8A-BED0-811FD7A8A633")
  530. Signers;
  531. #endif
  532. EXTERN_C const CLSID CLSID_SignedData;
  533. #ifdef __cplusplus
  534. class DECLSPEC_UUID("94AFFFCC-6C05-4814-B123-A941105AA77F")
  535. SignedData;
  536. #endif
  537. EXTERN_C const CLSID CLSID_Algorithm;
  538. #ifdef __cplusplus
  539. class DECLSPEC_UUID("A1EEF42F-5026-4A32-BC5C-2E552B70FD96")
  540. Algorithm;
  541. #endif
  542. EXTERN_C const CLSID CLSID_Recipients;
  543. #ifdef __cplusplus
  544. class DECLSPEC_UUID("96A1B8B0-8F9A-436A-84DE-E23CD6818DA5")
  545. Recipients;
  546. #endif
  547. EXTERN_C const CLSID CLSID_EnvelopedData;
  548. #ifdef __cplusplus
  549. class DECLSPEC_UUID("F3A12E08-EDE9-4160-8B51-334D982A9AD0")
  550. EnvelopedData;
  551. #endif
  552. EXTERN_C const CLSID CLSID_EncryptedData;
  553. #ifdef __cplusplus
  554. class DECLSPEC_UUID("A440BD76-CFE1-4D46-AB1F-15F238437A3D")
  555. EncryptedData;
  556. #endif
  557. #endif /* __CAPICOM_LIBRARY_DEFINED__ */
  558. #ifndef __ISettings_INTERFACE_DEFINED__
  559. #define __ISettings_INTERFACE_DEFINED__
  560. /* interface ISettings */
  561. /* [unique][helpstring][dual][uuid][object] */
  562. EXTERN_C const IID IID_ISettings;
  563. #if defined(__cplusplus) && !defined(CINTERFACE)
  564. MIDL_INTERFACE("A24104F5-46D0-4C0F-926D-665565908E91")
  565. ISettings : public IDispatch
  566. {
  567. public:
  568. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_EnablePromptForCertificateUI(
  569. /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
  570. virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_EnablePromptForCertificateUI(
  571. /* [defaultvalue][in] */ VARIANT_BOOL newVal = 0) = 0;
  572. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ActiveDirectorySearchLocation(
  573. /* [retval][out] */ CAPICOM_ACTIVE_DIRECTORY_SEARCH_LOCATION *pVal) = 0;
  574. virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ActiveDirectorySearchLocation(
  575. /* [defaultvalue][in] */ CAPICOM_ACTIVE_DIRECTORY_SEARCH_LOCATION newVal = CAPICOM_SEARCH_ANY) = 0;
  576. };
  577. #else /* C style interface */
  578. typedef struct ISettingsVtbl
  579. {
  580. BEGIN_INTERFACE
  581. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  582. ISettings * This,
  583. /* [in] */ REFIID riid,
  584. /* [iid_is][out] */ void **ppvObject);
  585. ULONG ( STDMETHODCALLTYPE *AddRef )(
  586. ISettings * This);
  587. ULONG ( STDMETHODCALLTYPE *Release )(
  588. ISettings * This);
  589. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  590. ISettings * This,
  591. /* [out] */ UINT *pctinfo);
  592. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  593. ISettings * This,
  594. /* [in] */ UINT iTInfo,
  595. /* [in] */ LCID lcid,
  596. /* [out] */ ITypeInfo **ppTInfo);
  597. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  598. ISettings * This,
  599. /* [in] */ REFIID riid,
  600. /* [size_is][in] */ LPOLESTR *rgszNames,
  601. /* [in] */ UINT cNames,
  602. /* [in] */ LCID lcid,
  603. /* [size_is][out] */ DISPID *rgDispId);
  604. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  605. ISettings * This,
  606. /* [in] */ DISPID dispIdMember,
  607. /* [in] */ REFIID riid,
  608. /* [in] */ LCID lcid,
  609. /* [in] */ WORD wFlags,
  610. /* [out][in] */ DISPPARAMS *pDispParams,
  611. /* [out] */ VARIANT *pVarResult,
  612. /* [out] */ EXCEPINFO *pExcepInfo,
  613. /* [out] */ UINT *puArgErr);
  614. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnablePromptForCertificateUI )(
  615. ISettings * This,
  616. /* [retval][out] */ VARIANT_BOOL *pVal);
  617. /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnablePromptForCertificateUI )(
  618. ISettings * This,
  619. /* [defaultvalue][in] */ VARIANT_BOOL newVal);
  620. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ActiveDirectorySearchLocation )(
  621. ISettings * This,
  622. /* [retval][out] */ CAPICOM_ACTIVE_DIRECTORY_SEARCH_LOCATION *pVal);
  623. /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ActiveDirectorySearchLocation )(
  624. ISettings * This,
  625. /* [defaultvalue][in] */ CAPICOM_ACTIVE_DIRECTORY_SEARCH_LOCATION newVal);
  626. END_INTERFACE
  627. } ISettingsVtbl;
  628. interface ISettings
  629. {
  630. CONST_VTBL struct ISettingsVtbl *lpVtbl;
  631. };
  632. #ifdef COBJMACROS
  633. #define ISettings_QueryInterface(This,riid,ppvObject) \
  634. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  635. #define ISettings_AddRef(This) \
  636. (This)->lpVtbl -> AddRef(This)
  637. #define ISettings_Release(This) \
  638. (This)->lpVtbl -> Release(This)
  639. #define ISettings_GetTypeInfoCount(This,pctinfo) \
  640. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  641. #define ISettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  642. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  643. #define ISettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  644. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  645. #define ISettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  646. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  647. #define ISettings_get_EnablePromptForCertificateUI(This,pVal) \
  648. (This)->lpVtbl -> get_EnablePromptForCertificateUI(This,pVal)
  649. #define ISettings_put_EnablePromptForCertificateUI(This,newVal) \
  650. (This)->lpVtbl -> put_EnablePromptForCertificateUI(This,newVal)
  651. #define ISettings_get_ActiveDirectorySearchLocation(This,pVal) \
  652. (This)->lpVtbl -> get_ActiveDirectorySearchLocation(This,pVal)
  653. #define ISettings_put_ActiveDirectorySearchLocation(This,newVal) \
  654. (This)->lpVtbl -> put_ActiveDirectorySearchLocation(This,newVal)
  655. #endif /* COBJMACROS */
  656. #endif /* C style interface */
  657. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISettings_get_EnablePromptForCertificateUI_Proxy(
  658. ISettings * This,
  659. /* [retval][out] */ VARIANT_BOOL *pVal);
  660. void __RPC_STUB ISettings_get_EnablePromptForCertificateUI_Stub(
  661. IRpcStubBuffer *This,
  662. IRpcChannelBuffer *_pRpcChannelBuffer,
  663. PRPC_MESSAGE _pRpcMessage,
  664. DWORD *_pdwStubPhase);
  665. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ISettings_put_EnablePromptForCertificateUI_Proxy(
  666. ISettings * This,
  667. /* [defaultvalue][in] */ VARIANT_BOOL newVal);
  668. void __RPC_STUB ISettings_put_EnablePromptForCertificateUI_Stub(
  669. IRpcStubBuffer *This,
  670. IRpcChannelBuffer *_pRpcChannelBuffer,
  671. PRPC_MESSAGE _pRpcMessage,
  672. DWORD *_pdwStubPhase);
  673. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISettings_get_ActiveDirectorySearchLocation_Proxy(
  674. ISettings * This,
  675. /* [retval][out] */ CAPICOM_ACTIVE_DIRECTORY_SEARCH_LOCATION *pVal);
  676. void __RPC_STUB ISettings_get_ActiveDirectorySearchLocation_Stub(
  677. IRpcStubBuffer *This,
  678. IRpcChannelBuffer *_pRpcChannelBuffer,
  679. PRPC_MESSAGE _pRpcMessage,
  680. DWORD *_pdwStubPhase);
  681. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ISettings_put_ActiveDirectorySearchLocation_Proxy(
  682. ISettings * This,
  683. /* [defaultvalue][in] */ CAPICOM_ACTIVE_DIRECTORY_SEARCH_LOCATION newVal);
  684. void __RPC_STUB ISettings_put_ActiveDirectorySearchLocation_Stub(
  685. IRpcStubBuffer *This,
  686. IRpcChannelBuffer *_pRpcChannelBuffer,
  687. PRPC_MESSAGE _pRpcMessage,
  688. DWORD *_pdwStubPhase);
  689. #endif /* __ISettings_INTERFACE_DEFINED__ */
  690. #ifndef __IEKU_INTERFACE_DEFINED__
  691. #define __IEKU_INTERFACE_DEFINED__
  692. /* interface IEKU */
  693. /* [unique][helpstring][dual][uuid][object] */
  694. EXTERN_C const IID IID_IEKU;
  695. #if defined(__cplusplus) && !defined(CINTERFACE)
  696. MIDL_INTERFACE("976B7E6D-1002-4051-BFD4-824A74BD74E2")
  697. IEKU : public IDispatch
  698. {
  699. public:
  700. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name(
  701. /* [retval][out] */ CAPICOM_EKU *pVal) = 0;
  702. virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name(
  703. /* [in] */ CAPICOM_EKU newVal) = 0;
  704. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_OID(
  705. /* [retval][out] */ BSTR *pVal) = 0;
  706. virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_OID(
  707. /* [in] */ BSTR newVal) = 0;
  708. };
  709. #else /* C style interface */
  710. typedef struct IEKUVtbl
  711. {
  712. BEGIN_INTERFACE
  713. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  714. IEKU * This,
  715. /* [in] */ REFIID riid,
  716. /* [iid_is][out] */ void **ppvObject);
  717. ULONG ( STDMETHODCALLTYPE *AddRef )(
  718. IEKU * This);
  719. ULONG ( STDMETHODCALLTYPE *Release )(
  720. IEKU * This);
  721. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  722. IEKU * This,
  723. /* [out] */ UINT *pctinfo);
  724. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  725. IEKU * This,
  726. /* [in] */ UINT iTInfo,
  727. /* [in] */ LCID lcid,
  728. /* [out] */ ITypeInfo **ppTInfo);
  729. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  730. IEKU * This,
  731. /* [in] */ REFIID riid,
  732. /* [size_is][in] */ LPOLESTR *rgszNames,
  733. /* [in] */ UINT cNames,
  734. /* [in] */ LCID lcid,
  735. /* [size_is][out] */ DISPID *rgDispId);
  736. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  737. IEKU * This,
  738. /* [in] */ DISPID dispIdMember,
  739. /* [in] */ REFIID riid,
  740. /* [in] */ LCID lcid,
  741. /* [in] */ WORD wFlags,
  742. /* [out][in] */ DISPPARAMS *pDispParams,
  743. /* [out] */ VARIANT *pVarResult,
  744. /* [out] */ EXCEPINFO *pExcepInfo,
  745. /* [out] */ UINT *puArgErr);
  746. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )(
  747. IEKU * This,
  748. /* [retval][out] */ CAPICOM_EKU *pVal);
  749. /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )(
  750. IEKU * This,
  751. /* [in] */ CAPICOM_EKU newVal);
  752. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OID )(
  753. IEKU * This,
  754. /* [retval][out] */ BSTR *pVal);
  755. /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_OID )(
  756. IEKU * This,
  757. /* [in] */ BSTR newVal);
  758. END_INTERFACE
  759. } IEKUVtbl;
  760. interface IEKU
  761. {
  762. CONST_VTBL struct IEKUVtbl *lpVtbl;
  763. };
  764. #ifdef COBJMACROS
  765. #define IEKU_QueryInterface(This,riid,ppvObject) \
  766. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  767. #define IEKU_AddRef(This) \
  768. (This)->lpVtbl -> AddRef(This)
  769. #define IEKU_Release(This) \
  770. (This)->lpVtbl -> Release(This)
  771. #define IEKU_GetTypeInfoCount(This,pctinfo) \
  772. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  773. #define IEKU_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  774. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  775. #define IEKU_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  776. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  777. #define IEKU_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  778. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  779. #define IEKU_get_Name(This,pVal) \
  780. (This)->lpVtbl -> get_Name(This,pVal)
  781. #define IEKU_put_Name(This,newVal) \
  782. (This)->lpVtbl -> put_Name(This,newVal)
  783. #define IEKU_get_OID(This,pVal) \
  784. (This)->lpVtbl -> get_OID(This,pVal)
  785. #define IEKU_put_OID(This,newVal) \
  786. (This)->lpVtbl -> put_OID(This,newVal)
  787. #endif /* COBJMACROS */
  788. #endif /* C style interface */
  789. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IEKU_get_Name_Proxy(
  790. IEKU * This,
  791. /* [retval][out] */ CAPICOM_EKU *pVal);
  792. void __RPC_STUB IEKU_get_Name_Stub(
  793. IRpcStubBuffer *This,
  794. IRpcChannelBuffer *_pRpcChannelBuffer,
  795. PRPC_MESSAGE _pRpcMessage,
  796. DWORD *_pdwStubPhase);
  797. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IEKU_put_Name_Proxy(
  798. IEKU * This,
  799. /* [in] */ CAPICOM_EKU newVal);
  800. void __RPC_STUB IEKU_put_Name_Stub(
  801. IRpcStubBuffer *This,
  802. IRpcChannelBuffer *_pRpcChannelBuffer,
  803. PRPC_MESSAGE _pRpcMessage,
  804. DWORD *_pdwStubPhase);
  805. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IEKU_get_OID_Proxy(
  806. IEKU * This,
  807. /* [retval][out] */ BSTR *pVal);
  808. void __RPC_STUB IEKU_get_OID_Stub(
  809. IRpcStubBuffer *This,
  810. IRpcChannelBuffer *_pRpcChannelBuffer,
  811. PRPC_MESSAGE _pRpcMessage,
  812. DWORD *_pdwStubPhase);
  813. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IEKU_put_OID_Proxy(
  814. IEKU * This,
  815. /* [in] */ BSTR newVal);
  816. void __RPC_STUB IEKU_put_OID_Stub(
  817. IRpcStubBuffer *This,
  818. IRpcChannelBuffer *_pRpcChannelBuffer,
  819. PRPC_MESSAGE _pRpcMessage,
  820. DWORD *_pdwStubPhase);
  821. #endif /* __IEKU_INTERFACE_DEFINED__ */
  822. #ifndef __IEKUs_INTERFACE_DEFINED__
  823. #define __IEKUs_INTERFACE_DEFINED__
  824. /* interface IEKUs */
  825. /* [unique][helpstring][dual][uuid][object] */
  826. EXTERN_C const IID IID_IEKUs;
  827. #if defined(__cplusplus) && !defined(CINTERFACE)
  828. MIDL_INTERFACE("47C87CEC-8C4B-4E3C-8D22-34280274EFD1")
  829. IEKUs : public IDispatch
  830. {
  831. public:
  832. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item(
  833. /* [in] */ long Index,
  834. /* [retval][out] */ VARIANT *pVal) = 0;
  835. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
  836. /* [retval][out] */ long *pVal) = 0;
  837. virtual /* [restricted][helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
  838. /* [retval][out] */ LPUNKNOWN *pVal) = 0;
  839. };
  840. #else /* C style interface */
  841. typedef struct IEKUsVtbl
  842. {
  843. BEGIN_INTERFACE
  844. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  845. IEKUs * This,
  846. /* [in] */ REFIID riid,
  847. /* [iid_is][out] */ void **ppvObject);
  848. ULONG ( STDMETHODCALLTYPE *AddRef )(
  849. IEKUs * This);
  850. ULONG ( STDMETHODCALLTYPE *Release )(
  851. IEKUs * This);
  852. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  853. IEKUs * This,
  854. /* [out] */ UINT *pctinfo);
  855. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  856. IEKUs * This,
  857. /* [in] */ UINT iTInfo,
  858. /* [in] */ LCID lcid,
  859. /* [out] */ ITypeInfo **ppTInfo);
  860. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  861. IEKUs * This,
  862. /* [in] */ REFIID riid,
  863. /* [size_is][in] */ LPOLESTR *rgszNames,
  864. /* [in] */ UINT cNames,
  865. /* [in] */ LCID lcid,
  866. /* [size_is][out] */ DISPID *rgDispId);
  867. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  868. IEKUs * This,
  869. /* [in] */ DISPID dispIdMember,
  870. /* [in] */ REFIID riid,
  871. /* [in] */ LCID lcid,
  872. /* [in] */ WORD wFlags,
  873. /* [out][in] */ DISPPARAMS *pDispParams,
  874. /* [out] */ VARIANT *pVarResult,
  875. /* [out] */ EXCEPINFO *pExcepInfo,
  876. /* [out] */ UINT *puArgErr);
  877. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )(
  878. IEKUs * This,
  879. /* [in] */ long Index,
  880. /* [retval][out] */ VARIANT *pVal);
  881. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
  882. IEKUs * This,
  883. /* [retval][out] */ long *pVal);
  884. /* [restricted][helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
  885. IEKUs * This,
  886. /* [retval][out] */ LPUNKNOWN *pVal);
  887. END_INTERFACE
  888. } IEKUsVtbl;
  889. interface IEKUs
  890. {
  891. CONST_VTBL struct IEKUsVtbl *lpVtbl;
  892. };
  893. #ifdef COBJMACROS
  894. #define IEKUs_QueryInterface(This,riid,ppvObject) \
  895. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  896. #define IEKUs_AddRef(This) \
  897. (This)->lpVtbl -> AddRef(This)
  898. #define IEKUs_Release(This) \
  899. (This)->lpVtbl -> Release(This)
  900. #define IEKUs_GetTypeInfoCount(This,pctinfo) \
  901. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  902. #define IEKUs_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  903. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  904. #define IEKUs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  905. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  906. #define IEKUs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  907. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  908. #define IEKUs_get_Item(This,Index,pVal) \
  909. (This)->lpVtbl -> get_Item(This,Index,pVal)
  910. #define IEKUs_get_Count(This,pVal) \
  911. (This)->lpVtbl -> get_Count(This,pVal)
  912. #define IEKUs_get__NewEnum(This,pVal) \
  913. (This)->lpVtbl -> get__NewEnum(This,pVal)
  914. #endif /* COBJMACROS */
  915. #endif /* C style interface */
  916. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IEKUs_get_Item_Proxy(
  917. IEKUs * This,
  918. /* [in] */ long Index,
  919. /* [retval][out] */ VARIANT *pVal);
  920. void __RPC_STUB IEKUs_get_Item_Stub(
  921. IRpcStubBuffer *This,
  922. IRpcChannelBuffer *_pRpcChannelBuffer,
  923. PRPC_MESSAGE _pRpcMessage,
  924. DWORD *_pdwStubPhase);
  925. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IEKUs_get_Count_Proxy(
  926. IEKUs * This,
  927. /* [retval][out] */ long *pVal);
  928. void __RPC_STUB IEKUs_get_Count_Stub(
  929. IRpcStubBuffer *This,
  930. IRpcChannelBuffer *_pRpcChannelBuffer,
  931. PRPC_MESSAGE _pRpcMessage,
  932. DWORD *_pdwStubPhase);
  933. /* [restricted][helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IEKUs_get__NewEnum_Proxy(
  934. IEKUs * This,
  935. /* [retval][out] */ LPUNKNOWN *pVal);
  936. void __RPC_STUB IEKUs_get__NewEnum_Stub(
  937. IRpcStubBuffer *This,
  938. IRpcChannelBuffer *_pRpcChannelBuffer,
  939. PRPC_MESSAGE _pRpcMessage,
  940. DWORD *_pdwStubPhase);
  941. #endif /* __IEKUs_INTERFACE_DEFINED__ */
  942. #ifndef __IKeyUsage_INTERFACE_DEFINED__
  943. #define __IKeyUsage_INTERFACE_DEFINED__
  944. /* interface IKeyUsage */
  945. /* [unique][helpstring][dual][uuid][object] */
  946. EXTERN_C const IID IID_IKeyUsage;
  947. #if defined(__cplusplus) && !defined(CINTERFACE)
  948. MIDL_INTERFACE("41DD35A8-9FF9-45A6-9A7C-F65B2F085D1F")
  949. IKeyUsage : public IDispatch
  950. {
  951. public:
  952. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsPresent(
  953. /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
  954. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsCritical(
  955. /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
  956. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsDigitalSignatureEnabled(
  957. /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
  958. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsNonRepudiationEnabled(
  959. /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
  960. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsKeyEnciphermentEnabled(
  961. /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
  962. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsDataEnciphermentEnabled(
  963. /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
  964. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsKeyAgreementEnabled(
  965. /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
  966. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsKeyCertSignEnabled(
  967. /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
  968. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsCRLSignEnabled(
  969. /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
  970. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsEncipherOnlyEnabled(
  971. /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
  972. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsDecipherOnlyEnabled(
  973. /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
  974. };
  975. #else /* C style interface */
  976. typedef struct IKeyUsageVtbl
  977. {
  978. BEGIN_INTERFACE
  979. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  980. IKeyUsage * This,
  981. /* [in] */ REFIID riid,
  982. /* [iid_is][out] */ void **ppvObject);
  983. ULONG ( STDMETHODCALLTYPE *AddRef )(
  984. IKeyUsage * This);
  985. ULONG ( STDMETHODCALLTYPE *Release )(
  986. IKeyUsage * This);
  987. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  988. IKeyUsage * This,
  989. /* [out] */ UINT *pctinfo);
  990. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  991. IKeyUsage * This,
  992. /* [in] */ UINT iTInfo,
  993. /* [in] */ LCID lcid,
  994. /* [out] */ ITypeInfo **ppTInfo);
  995. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  996. IKeyUsage * This,
  997. /* [in] */ REFIID riid,
  998. /* [size_is][in] */ LPOLESTR *rgszNames,
  999. /* [in] */ UINT cNames,
  1000. /* [in] */ LCID lcid,
  1001. /* [size_is][out] */ DISPID *rgDispId);
  1002. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  1003. IKeyUsage * This,
  1004. /* [in] */ DISPID dispIdMember,
  1005. /* [in] */ REFIID riid,
  1006. /* [in] */ LCID lcid,
  1007. /* [in] */ WORD wFlags,
  1008. /* [out][in] */ DISPPARAMS *pDispParams,
  1009. /* [out] */ VARIANT *pVarResult,
  1010. /* [out] */ EXCEPINFO *pExcepInfo,
  1011. /* [out] */ UINT *puArgErr);
  1012. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPresent )(
  1013. IKeyUsage * This,
  1014. /* [retval][out] */ VARIANT_BOOL *pVal);
  1015. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsCritical )(
  1016. IKeyUsage * This,
  1017. /* [retval][out] */ VARIANT_BOOL *pVal);
  1018. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDigitalSignatureEnabled )(
  1019. IKeyUsage * This,
  1020. /* [retval][out] */ VARIANT_BOOL *pVal);
  1021. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsNonRepudiationEnabled )(
  1022. IKeyUsage * This,
  1023. /* [retval][out] */ VARIANT_BOOL *pVal);
  1024. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsKeyEnciphermentEnabled )(
  1025. IKeyUsage * This,
  1026. /* [retval][out] */ VARIANT_BOOL *pVal);
  1027. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDataEnciphermentEnabled )(
  1028. IKeyUsage * This,
  1029. /* [retval][out] */ VARIANT_BOOL *pVal);
  1030. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsKeyAgreementEnabled )(
  1031. IKeyUsage * This,
  1032. /* [retval][out] */ VARIANT_BOOL *pVal);
  1033. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsKeyCertSignEnabled )(
  1034. IKeyUsage * This,
  1035. /* [retval][out] */ VARIANT_BOOL *pVal);
  1036. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsCRLSignEnabled )(
  1037. IKeyUsage * This,
  1038. /* [retval][out] */ VARIANT_BOOL *pVal);
  1039. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsEncipherOnlyEnabled )(
  1040. IKeyUsage * This,
  1041. /* [retval][out] */ VARIANT_BOOL *pVal);
  1042. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDecipherOnlyEnabled )(
  1043. IKeyUsage * This,
  1044. /* [retval][out] */ VARIANT_BOOL *pVal);
  1045. END_INTERFACE
  1046. } IKeyUsageVtbl;
  1047. interface IKeyUsage
  1048. {
  1049. CONST_VTBL struct IKeyUsageVtbl *lpVtbl;
  1050. };
  1051. #ifdef COBJMACROS
  1052. #define IKeyUsage_QueryInterface(This,riid,ppvObject) \
  1053. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1054. #define IKeyUsage_AddRef(This) \
  1055. (This)->lpVtbl -> AddRef(This)
  1056. #define IKeyUsage_Release(This) \
  1057. (This)->lpVtbl -> Release(This)
  1058. #define IKeyUsage_GetTypeInfoCount(This,pctinfo) \
  1059. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1060. #define IKeyUsage_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  1061. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1062. #define IKeyUsage_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  1063. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1064. #define IKeyUsage_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  1065. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1066. #define IKeyUsage_get_IsPresent(This,pVal) \
  1067. (This)->lpVtbl -> get_IsPresent(This,pVal)
  1068. #define IKeyUsage_get_IsCritical(This,pVal) \
  1069. (This)->lpVtbl -> get_IsCritical(This,pVal)
  1070. #define IKeyUsage_get_IsDigitalSignatureEnabled(This,pVal) \
  1071. (This)->lpVtbl -> get_IsDigitalSignatureEnabled(This,pVal)
  1072. #define IKeyUsage_get_IsNonRepudiationEnabled(This,pVal) \
  1073. (This)->lpVtbl -> get_IsNonRepudiationEnabled(This,pVal)
  1074. #define IKeyUsage_get_IsKeyEnciphermentEnabled(This,pVal) \
  1075. (This)->lpVtbl -> get_IsKeyEnciphermentEnabled(This,pVal)
  1076. #define IKeyUsage_get_IsDataEnciphermentEnabled(This,pVal) \
  1077. (This)->lpVtbl -> get_IsDataEnciphermentEnabled(This,pVal)
  1078. #define IKeyUsage_get_IsKeyAgreementEnabled(This,pVal) \
  1079. (This)->lpVtbl -> get_IsKeyAgreementEnabled(This,pVal)
  1080. #define IKeyUsage_get_IsKeyCertSignEnabled(This,pVal) \
  1081. (This)->lpVtbl -> get_IsKeyCertSignEnabled(This,pVal)
  1082. #define IKeyUsage_get_IsCRLSignEnabled(This,pVal) \
  1083. (This)->lpVtbl -> get_IsCRLSignEnabled(This,pVal)
  1084. #define IKeyUsage_get_IsEncipherOnlyEnabled(This,pVal) \
  1085. (This)->lpVtbl -> get_IsEncipherOnlyEnabled(This,pVal)
  1086. #define IKeyUsage_get_IsDecipherOnlyEnabled(This,pVal) \
  1087. (This)->lpVtbl -> get_IsDecipherOnlyEnabled(This,pVal)
  1088. #endif /* COBJMACROS */
  1089. #endif /* C style interface */
  1090. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IKeyUsage_get_IsPresent_Proxy(
  1091. IKeyUsage * This,
  1092. /* [retval][out] */ VARIANT_BOOL *pVal);
  1093. void __RPC_STUB IKeyUsage_get_IsPresent_Stub(
  1094. IRpcStubBuffer *This,
  1095. IRpcChannelBuffer *_pRpcChannelBuffer,
  1096. PRPC_MESSAGE _pRpcMessage,
  1097. DWORD *_pdwStubPhase);
  1098. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IKeyUsage_get_IsCritical_Proxy(
  1099. IKeyUsage * This,
  1100. /* [retval][out] */ VARIANT_BOOL *pVal);
  1101. void __RPC_STUB IKeyUsage_get_IsCritical_Stub(
  1102. IRpcStubBuffer *This,
  1103. IRpcChannelBuffer *_pRpcChannelBuffer,
  1104. PRPC_MESSAGE _pRpcMessage,
  1105. DWORD *_pdwStubPhase);
  1106. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IKeyUsage_get_IsDigitalSignatureEnabled_Proxy(
  1107. IKeyUsage * This,
  1108. /* [retval][out] */ VARIANT_BOOL *pVal);
  1109. void __RPC_STUB IKeyUsage_get_IsDigitalSignatureEnabled_Stub(
  1110. IRpcStubBuffer *This,
  1111. IRpcChannelBuffer *_pRpcChannelBuffer,
  1112. PRPC_MESSAGE _pRpcMessage,
  1113. DWORD *_pdwStubPhase);
  1114. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IKeyUsage_get_IsNonRepudiationEnabled_Proxy(
  1115. IKeyUsage * This,
  1116. /* [retval][out] */ VARIANT_BOOL *pVal);
  1117. void __RPC_STUB IKeyUsage_get_IsNonRepudiationEnabled_Stub(
  1118. IRpcStubBuffer *This,
  1119. IRpcChannelBuffer *_pRpcChannelBuffer,
  1120. PRPC_MESSAGE _pRpcMessage,
  1121. DWORD *_pdwStubPhase);
  1122. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IKeyUsage_get_IsKeyEnciphermentEnabled_Proxy(
  1123. IKeyUsage * This,
  1124. /* [retval][out] */ VARIANT_BOOL *pVal);
  1125. void __RPC_STUB IKeyUsage_get_IsKeyEnciphermentEnabled_Stub(
  1126. IRpcStubBuffer *This,
  1127. IRpcChannelBuffer *_pRpcChannelBuffer,
  1128. PRPC_MESSAGE _pRpcMessage,
  1129. DWORD *_pdwStubPhase);
  1130. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IKeyUsage_get_IsDataEnciphermentEnabled_Proxy(
  1131. IKeyUsage * This,
  1132. /* [retval][out] */ VARIANT_BOOL *pVal);
  1133. void __RPC_STUB IKeyUsage_get_IsDataEnciphermentEnabled_Stub(
  1134. IRpcStubBuffer *This,
  1135. IRpcChannelBuffer *_pRpcChannelBuffer,
  1136. PRPC_MESSAGE _pRpcMessage,
  1137. DWORD *_pdwStubPhase);
  1138. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IKeyUsage_get_IsKeyAgreementEnabled_Proxy(
  1139. IKeyUsage * This,
  1140. /* [retval][out] */ VARIANT_BOOL *pVal);
  1141. void __RPC_STUB IKeyUsage_get_IsKeyAgreementEnabled_Stub(
  1142. IRpcStubBuffer *This,
  1143. IRpcChannelBuffer *_pRpcChannelBuffer,
  1144. PRPC_MESSAGE _pRpcMessage,
  1145. DWORD *_pdwStubPhase);
  1146. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IKeyUsage_get_IsKeyCertSignEnabled_Proxy(
  1147. IKeyUsage * This,
  1148. /* [retval][out] */ VARIANT_BOOL *pVal);
  1149. void __RPC_STUB IKeyUsage_get_IsKeyCertSignEnabled_Stub(
  1150. IRpcStubBuffer *This,
  1151. IRpcChannelBuffer *_pRpcChannelBuffer,
  1152. PRPC_MESSAGE _pRpcMessage,
  1153. DWORD *_pdwStubPhase);
  1154. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IKeyUsage_get_IsCRLSignEnabled_Proxy(
  1155. IKeyUsage * This,
  1156. /* [retval][out] */ VARIANT_BOOL *pVal);
  1157. void __RPC_STUB IKeyUsage_get_IsCRLSignEnabled_Stub(
  1158. IRpcStubBuffer *This,
  1159. IRpcChannelBuffer *_pRpcChannelBuffer,
  1160. PRPC_MESSAGE _pRpcMessage,
  1161. DWORD *_pdwStubPhase);
  1162. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IKeyUsage_get_IsEncipherOnlyEnabled_Proxy(
  1163. IKeyUsage * This,
  1164. /* [retval][out] */ VARIANT_BOOL *pVal);
  1165. void __RPC_STUB IKeyUsage_get_IsEncipherOnlyEnabled_Stub(
  1166. IRpcStubBuffer *This,
  1167. IRpcChannelBuffer *_pRpcChannelBuffer,
  1168. PRPC_MESSAGE _pRpcMessage,
  1169. DWORD *_pdwStubPhase);
  1170. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IKeyUsage_get_IsDecipherOnlyEnabled_Proxy(
  1171. IKeyUsage * This,
  1172. /* [retval][out] */ VARIANT_BOOL *pVal);
  1173. void __RPC_STUB IKeyUsage_get_IsDecipherOnlyEnabled_Stub(
  1174. IRpcStubBuffer *This,
  1175. IRpcChannelBuffer *_pRpcChannelBuffer,
  1176. PRPC_MESSAGE _pRpcMessage,
  1177. DWORD *_pdwStubPhase);
  1178. #endif /* __IKeyUsage_INTERFACE_DEFINED__ */
  1179. #ifndef __IExtendedKeyUsage_INTERFACE_DEFINED__
  1180. #define __IExtendedKeyUsage_INTERFACE_DEFINED__
  1181. /* interface IExtendedKeyUsage */
  1182. /* [unique][helpstring][dual][uuid][object] */
  1183. EXTERN_C const IID IID_IExtendedKeyUsage;
  1184. #if defined(__cplusplus) && !defined(CINTERFACE)
  1185. MIDL_INTERFACE("7289D408-987D-45D1-8DEE-CF9E91C2E90E")
  1186. IExtendedKeyUsage : public IDispatch
  1187. {
  1188. public:
  1189. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsPresent(
  1190. /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
  1191. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsCritical(
  1192. /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
  1193. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_EKUs(
  1194. /* [retval][out] */ IEKUs **pVal) = 0;
  1195. };
  1196. #else /* C style interface */
  1197. typedef struct IExtendedKeyUsageVtbl
  1198. {
  1199. BEGIN_INTERFACE
  1200. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1201. IExtendedKeyUsage * This,
  1202. /* [in] */ REFIID riid,
  1203. /* [iid_is][out] */ void **ppvObject);
  1204. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1205. IExtendedKeyUsage * This);
  1206. ULONG ( STDMETHODCALLTYPE *Release )(
  1207. IExtendedKeyUsage * This);
  1208. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  1209. IExtendedKeyUsage * This,
  1210. /* [out] */ UINT *pctinfo);
  1211. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  1212. IExtendedKeyUsage * This,
  1213. /* [in] */ UINT iTInfo,
  1214. /* [in] */ LCID lcid,
  1215. /* [out] */ ITypeInfo **ppTInfo);
  1216. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  1217. IExtendedKeyUsage * This,
  1218. /* [in] */ REFIID riid,
  1219. /* [size_is][in] */ LPOLESTR *rgszNames,
  1220. /* [in] */ UINT cNames,
  1221. /* [in] */ LCID lcid,
  1222. /* [size_is][out] */ DISPID *rgDispId);
  1223. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  1224. IExtendedKeyUsage * This,
  1225. /* [in] */ DISPID dispIdMember,
  1226. /* [in] */ REFIID riid,
  1227. /* [in] */ LCID lcid,
  1228. /* [in] */ WORD wFlags,
  1229. /* [out][in] */ DISPPARAMS *pDispParams,
  1230. /* [out] */ VARIANT *pVarResult,
  1231. /* [out] */ EXCEPINFO *pExcepInfo,
  1232. /* [out] */ UINT *puArgErr);
  1233. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPresent )(
  1234. IExtendedKeyUsage * This,
  1235. /* [retval][out] */ VARIANT_BOOL *pVal);
  1236. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsCritical )(
  1237. IExtendedKeyUsage * This,
  1238. /* [retval][out] */ VARIANT_BOOL *pVal);
  1239. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EKUs )(
  1240. IExtendedKeyUsage * This,
  1241. /* [retval][out] */ IEKUs **pVal);
  1242. END_INTERFACE
  1243. } IExtendedKeyUsageVtbl;
  1244. interface IExtendedKeyUsage
  1245. {
  1246. CONST_VTBL struct IExtendedKeyUsageVtbl *lpVtbl;
  1247. };
  1248. #ifdef COBJMACROS
  1249. #define IExtendedKeyUsage_QueryInterface(This,riid,ppvObject) \
  1250. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1251. #define IExtendedKeyUsage_AddRef(This) \
  1252. (This)->lpVtbl -> AddRef(This)
  1253. #define IExtendedKeyUsage_Release(This) \
  1254. (This)->lpVtbl -> Release(This)
  1255. #define IExtendedKeyUsage_GetTypeInfoCount(This,pctinfo) \
  1256. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1257. #define IExtendedKeyUsage_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  1258. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1259. #define IExtendedKeyUsage_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  1260. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1261. #define IExtendedKeyUsage_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  1262. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1263. #define IExtendedKeyUsage_get_IsPresent(This,pVal) \
  1264. (This)->lpVtbl -> get_IsPresent(This,pVal)
  1265. #define IExtendedKeyUsage_get_IsCritical(This,pVal) \
  1266. (This)->lpVtbl -> get_IsCritical(This,pVal)
  1267. #define IExtendedKeyUsage_get_EKUs(This,pVal) \
  1268. (This)->lpVtbl -> get_EKUs(This,pVal)
  1269. #endif /* COBJMACROS */
  1270. #endif /* C style interface */
  1271. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IExtendedKeyUsage_get_IsPresent_Proxy(
  1272. IExtendedKeyUsage * This,
  1273. /* [retval][out] */ VARIANT_BOOL *pVal);
  1274. void __RPC_STUB IExtendedKeyUsage_get_IsPresent_Stub(
  1275. IRpcStubBuffer *This,
  1276. IRpcChannelBuffer *_pRpcChannelBuffer,
  1277. PRPC_MESSAGE _pRpcMessage,
  1278. DWORD *_pdwStubPhase);
  1279. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IExtendedKeyUsage_get_IsCritical_Proxy(
  1280. IExtendedKeyUsage * This,
  1281. /* [retval][out] */ VARIANT_BOOL *pVal);
  1282. void __RPC_STUB IExtendedKeyUsage_get_IsCritical_Stub(
  1283. IRpcStubBuffer *This,
  1284. IRpcChannelBuffer *_pRpcChannelBuffer,
  1285. PRPC_MESSAGE _pRpcMessage,
  1286. DWORD *_pdwStubPhase);
  1287. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IExtendedKeyUsage_get_EKUs_Proxy(
  1288. IExtendedKeyUsage * This,
  1289. /* [retval][out] */ IEKUs **pVal);
  1290. void __RPC_STUB IExtendedKeyUsage_get_EKUs_Stub(
  1291. IRpcStubBuffer *This,
  1292. IRpcChannelBuffer *_pRpcChannelBuffer,
  1293. PRPC_MESSAGE _pRpcMessage,
  1294. DWORD *_pdwStubPhase);
  1295. #endif /* __IExtendedKeyUsage_INTERFACE_DEFINED__ */
  1296. #ifndef __IBasicConstraints_INTERFACE_DEFINED__
  1297. #define __IBasicConstraints_INTERFACE_DEFINED__
  1298. /* interface IBasicConstraints */
  1299. /* [unique][helpstring][dual][uuid][object] */
  1300. EXTERN_C const IID IID_IBasicConstraints;
  1301. #if defined(__cplusplus) && !defined(CINTERFACE)
  1302. MIDL_INTERFACE("4E298C47-ABA6-459E-851B-993D6C626EAD")
  1303. IBasicConstraints : public IDispatch
  1304. {
  1305. public:
  1306. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsPresent(
  1307. /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
  1308. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsCritical(
  1309. /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
  1310. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsCertificateAuthority(
  1311. /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
  1312. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsPathLenConstraintPresent(
  1313. /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
  1314. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_PathLenConstraint(
  1315. /* [retval][out] */ long *pVal) = 0;
  1316. };
  1317. #else /* C style interface */
  1318. typedef struct IBasicConstraintsVtbl
  1319. {
  1320. BEGIN_INTERFACE
  1321. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1322. IBasicConstraints * This,
  1323. /* [in] */ REFIID riid,
  1324. /* [iid_is][out] */ void **ppvObject);
  1325. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1326. IBasicConstraints * This);
  1327. ULONG ( STDMETHODCALLTYPE *Release )(
  1328. IBasicConstraints * This);
  1329. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  1330. IBasicConstraints * This,
  1331. /* [out] */ UINT *pctinfo);
  1332. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  1333. IBasicConstraints * This,
  1334. /* [in] */ UINT iTInfo,
  1335. /* [in] */ LCID lcid,
  1336. /* [out] */ ITypeInfo **ppTInfo);
  1337. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  1338. IBasicConstraints * This,
  1339. /* [in] */ REFIID riid,
  1340. /* [size_is][in] */ LPOLESTR *rgszNames,
  1341. /* [in] */ UINT cNames,
  1342. /* [in] */ LCID lcid,
  1343. /* [size_is][out] */ DISPID *rgDispId);
  1344. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  1345. IBasicConstraints * This,
  1346. /* [in] */ DISPID dispIdMember,
  1347. /* [in] */ REFIID riid,
  1348. /* [in] */ LCID lcid,
  1349. /* [in] */ WORD wFlags,
  1350. /* [out][in] */ DISPPARAMS *pDispParams,
  1351. /* [out] */ VARIANT *pVarResult,
  1352. /* [out] */ EXCEPINFO *pExcepInfo,
  1353. /* [out] */ UINT *puArgErr);
  1354. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPresent )(
  1355. IBasicConstraints * This,
  1356. /* [retval][out] */ VARIANT_BOOL *pVal);
  1357. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsCritical )(
  1358. IBasicConstraints * This,
  1359. /* [retval][out] */ VARIANT_BOOL *pVal);
  1360. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsCertificateAuthority )(
  1361. IBasicConstraints * This,
  1362. /* [retval][out] */ VARIANT_BOOL *pVal);
  1363. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPathLenConstraintPresent )(
  1364. IBasicConstraints * This,
  1365. /* [retval][out] */ VARIANT_BOOL *pVal);
  1366. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PathLenConstraint )(
  1367. IBasicConstraints * This,
  1368. /* [retval][out] */ long *pVal);
  1369. END_INTERFACE
  1370. } IBasicConstraintsVtbl;
  1371. interface IBasicConstraints
  1372. {
  1373. CONST_VTBL struct IBasicConstraintsVtbl *lpVtbl;
  1374. };
  1375. #ifdef COBJMACROS
  1376. #define IBasicConstraints_QueryInterface(This,riid,ppvObject) \
  1377. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1378. #define IBasicConstraints_AddRef(This) \
  1379. (This)->lpVtbl -> AddRef(This)
  1380. #define IBasicConstraints_Release(This) \
  1381. (This)->lpVtbl -> Release(This)
  1382. #define IBasicConstraints_GetTypeInfoCount(This,pctinfo) \
  1383. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1384. #define IBasicConstraints_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  1385. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1386. #define IBasicConstraints_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  1387. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1388. #define IBasicConstraints_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  1389. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1390. #define IBasicConstraints_get_IsPresent(This,pVal) \
  1391. (This)->lpVtbl -> get_IsPresent(This,pVal)
  1392. #define IBasicConstraints_get_IsCritical(This,pVal) \
  1393. (This)->lpVtbl -> get_IsCritical(This,pVal)
  1394. #define IBasicConstraints_get_IsCertificateAuthority(This,pVal) \
  1395. (This)->lpVtbl -> get_IsCertificateAuthority(This,pVal)
  1396. #define IBasicConstraints_get_IsPathLenConstraintPresent(This,pVal) \
  1397. (This)->lpVtbl -> get_IsPathLenConstraintPresent(This,pVal)
  1398. #define IBasicConstraints_get_PathLenConstraint(This,pVal) \
  1399. (This)->lpVtbl -> get_PathLenConstraint(This,pVal)
  1400. #endif /* COBJMACROS */
  1401. #endif /* C style interface */
  1402. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IBasicConstraints_get_IsPresent_Proxy(
  1403. IBasicConstraints * This,
  1404. /* [retval][out] */ VARIANT_BOOL *pVal);
  1405. void __RPC_STUB IBasicConstraints_get_IsPresent_Stub(
  1406. IRpcStubBuffer *This,
  1407. IRpcChannelBuffer *_pRpcChannelBuffer,
  1408. PRPC_MESSAGE _pRpcMessage,
  1409. DWORD *_pdwStubPhase);
  1410. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IBasicConstraints_get_IsCritical_Proxy(
  1411. IBasicConstraints * This,
  1412. /* [retval][out] */ VARIANT_BOOL *pVal);
  1413. void __RPC_STUB IBasicConstraints_get_IsCritical_Stub(
  1414. IRpcStubBuffer *This,
  1415. IRpcChannelBuffer *_pRpcChannelBuffer,
  1416. PRPC_MESSAGE _pRpcMessage,
  1417. DWORD *_pdwStubPhase);
  1418. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IBasicConstraints_get_IsCertificateAuthority_Proxy(
  1419. IBasicConstraints * This,
  1420. /* [retval][out] */ VARIANT_BOOL *pVal);
  1421. void __RPC_STUB IBasicConstraints_get_IsCertificateAuthority_Stub(
  1422. IRpcStubBuffer *This,
  1423. IRpcChannelBuffer *_pRpcChannelBuffer,
  1424. PRPC_MESSAGE _pRpcMessage,
  1425. DWORD *_pdwStubPhase);
  1426. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IBasicConstraints_get_IsPathLenConstraintPresent_Proxy(
  1427. IBasicConstraints * This,
  1428. /* [retval][out] */ VARIANT_BOOL *pVal);
  1429. void __RPC_STUB IBasicConstraints_get_IsPathLenConstraintPresent_Stub(
  1430. IRpcStubBuffer *This,
  1431. IRpcChannelBuffer *_pRpcChannelBuffer,
  1432. PRPC_MESSAGE _pRpcMessage,
  1433. DWORD *_pdwStubPhase);
  1434. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IBasicConstraints_get_PathLenConstraint_Proxy(
  1435. IBasicConstraints * This,
  1436. /* [retval][out] */ long *pVal);
  1437. void __RPC_STUB IBasicConstraints_get_PathLenConstraint_Stub(
  1438. IRpcStubBuffer *This,
  1439. IRpcChannelBuffer *_pRpcChannelBuffer,
  1440. PRPC_MESSAGE _pRpcMessage,
  1441. DWORD *_pdwStubPhase);
  1442. #endif /* __IBasicConstraints_INTERFACE_DEFINED__ */
  1443. #ifndef __ICertificateStatus_INTERFACE_DEFINED__
  1444. #define __ICertificateStatus_INTERFACE_DEFINED__
  1445. /* interface ICertificateStatus */
  1446. /* [unique][helpstring][dual][uuid][object] */
  1447. EXTERN_C const IID IID_ICertificateStatus;
  1448. #if defined(__cplusplus) && !defined(CINTERFACE)
  1449. MIDL_INTERFACE("AB769053-6D38-49D4-86EF-5FA85ED3AF27")
  1450. ICertificateStatus : public IDispatch
  1451. {
  1452. public:
  1453. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Result(
  1454. /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
  1455. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CheckFlag(
  1456. /* [retval][out] */ CAPICOM_CHECK_FLAG *pVal) = 0;
  1457. virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_CheckFlag(
  1458. /* [in] */ CAPICOM_CHECK_FLAG newVal) = 0;
  1459. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE EKU(
  1460. /* [retval][out] */ IEKU **pVal) = 0;
  1461. };
  1462. #else /* C style interface */
  1463. typedef struct ICertificateStatusVtbl
  1464. {
  1465. BEGIN_INTERFACE
  1466. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1467. ICertificateStatus * This,
  1468. /* [in] */ REFIID riid,
  1469. /* [iid_is][out] */ void **ppvObject);
  1470. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1471. ICertificateStatus * This);
  1472. ULONG ( STDMETHODCALLTYPE *Release )(
  1473. ICertificateStatus * This);
  1474. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  1475. ICertificateStatus * This,
  1476. /* [out] */ UINT *pctinfo);
  1477. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  1478. ICertificateStatus * This,
  1479. /* [in] */ UINT iTInfo,
  1480. /* [in] */ LCID lcid,
  1481. /* [out] */ ITypeInfo **ppTInfo);
  1482. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  1483. ICertificateStatus * This,
  1484. /* [in] */ REFIID riid,
  1485. /* [size_is][in] */ LPOLESTR *rgszNames,
  1486. /* [in] */ UINT cNames,
  1487. /* [in] */ LCID lcid,
  1488. /* [size_is][out] */ DISPID *rgDispId);
  1489. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  1490. ICertificateStatus * This,
  1491. /* [in] */ DISPID dispIdMember,
  1492. /* [in] */ REFIID riid,
  1493. /* [in] */ LCID lcid,
  1494. /* [in] */ WORD wFlags,
  1495. /* [out][in] */ DISPPARAMS *pDispParams,
  1496. /* [out] */ VARIANT *pVarResult,
  1497. /* [out] */ EXCEPINFO *pExcepInfo,
  1498. /* [out] */ UINT *puArgErr);
  1499. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Result )(
  1500. ICertificateStatus * This,
  1501. /* [retval][out] */ VARIANT_BOOL *pVal);
  1502. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CheckFlag )(
  1503. ICertificateStatus * This,
  1504. /* [retval][out] */ CAPICOM_CHECK_FLAG *pVal);
  1505. /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CheckFlag )(
  1506. ICertificateStatus * This,
  1507. /* [in] */ CAPICOM_CHECK_FLAG newVal);
  1508. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *EKU )(
  1509. ICertificateStatus * This,
  1510. /* [retval][out] */ IEKU **pVal);
  1511. END_INTERFACE
  1512. } ICertificateStatusVtbl;
  1513. interface ICertificateStatus
  1514. {
  1515. CONST_VTBL struct ICertificateStatusVtbl *lpVtbl;
  1516. };
  1517. #ifdef COBJMACROS
  1518. #define ICertificateStatus_QueryInterface(This,riid,ppvObject) \
  1519. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1520. #define ICertificateStatus_AddRef(This) \
  1521. (This)->lpVtbl -> AddRef(This)
  1522. #define ICertificateStatus_Release(This) \
  1523. (This)->lpVtbl -> Release(This)
  1524. #define ICertificateStatus_GetTypeInfoCount(This,pctinfo) \
  1525. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1526. #define ICertificateStatus_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  1527. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1528. #define ICertificateStatus_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  1529. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1530. #define ICertificateStatus_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  1531. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1532. #define ICertificateStatus_get_Result(This,pVal) \
  1533. (This)->lpVtbl -> get_Result(This,pVal)
  1534. #define ICertificateStatus_get_CheckFlag(This,pVal) \
  1535. (This)->lpVtbl -> get_CheckFlag(This,pVal)
  1536. #define ICertificateStatus_put_CheckFlag(This,newVal) \
  1537. (This)->lpVtbl -> put_CheckFlag(This,newVal)
  1538. #define ICertificateStatus_EKU(This,pVal) \
  1539. (This)->lpVtbl -> EKU(This,pVal)
  1540. #endif /* COBJMACROS */
  1541. #endif /* C style interface */
  1542. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICertificateStatus_get_Result_Proxy(
  1543. ICertificateStatus * This,
  1544. /* [retval][out] */ VARIANT_BOOL *pVal);
  1545. void __RPC_STUB ICertificateStatus_get_Result_Stub(
  1546. IRpcStubBuffer *This,
  1547. IRpcChannelBuffer *_pRpcChannelBuffer,
  1548. PRPC_MESSAGE _pRpcMessage,
  1549. DWORD *_pdwStubPhase);
  1550. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICertificateStatus_get_CheckFlag_Proxy(
  1551. ICertificateStatus * This,
  1552. /* [retval][out] */ CAPICOM_CHECK_FLAG *pVal);
  1553. void __RPC_STUB ICertificateStatus_get_CheckFlag_Stub(
  1554. IRpcStubBuffer *This,
  1555. IRpcChannelBuffer *_pRpcChannelBuffer,
  1556. PRPC_MESSAGE _pRpcMessage,
  1557. DWORD *_pdwStubPhase);
  1558. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ICertificateStatus_put_CheckFlag_Proxy(
  1559. ICertificateStatus * This,
  1560. /* [in] */ CAPICOM_CHECK_FLAG newVal);
  1561. void __RPC_STUB ICertificateStatus_put_CheckFlag_Stub(
  1562. IRpcStubBuffer *This,
  1563. IRpcChannelBuffer *_pRpcChannelBuffer,
  1564. PRPC_MESSAGE _pRpcMessage,
  1565. DWORD *_pdwStubPhase);
  1566. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICertificateStatus_EKU_Proxy(
  1567. ICertificateStatus * This,
  1568. /* [retval][out] */ IEKU **pVal);
  1569. void __RPC_STUB ICertificateStatus_EKU_Stub(
  1570. IRpcStubBuffer *This,
  1571. IRpcChannelBuffer *_pRpcChannelBuffer,
  1572. PRPC_MESSAGE _pRpcMessage,
  1573. DWORD *_pdwStubPhase);
  1574. #endif /* __ICertificateStatus_INTERFACE_DEFINED__ */
  1575. #ifndef __ICertificate_INTERFACE_DEFINED__
  1576. #define __ICertificate_INTERFACE_DEFINED__
  1577. /* interface ICertificate */
  1578. /* [unique][helpstring][dual][uuid][object] */
  1579. EXTERN_C const IID IID_ICertificate;
  1580. #if defined(__cplusplus) && !defined(CINTERFACE)
  1581. MIDL_INTERFACE("0BBA0B86-766C-4755-A443-243FF2BD8D29")
  1582. ICertificate : public IDispatch
  1583. {
  1584. public:
  1585. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Version(
  1586. /* [retval][out] */ long *pVal) = 0;
  1587. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SerialNumber(
  1588. /* [retval][out] */ BSTR *pVal) = 0;
  1589. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SubjectName(
  1590. /* [retval][out] */ BSTR *pVal) = 0;
  1591. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_IssuerName(
  1592. /* [retval][out] */ BSTR *pVal) = 0;
  1593. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ValidFromDate(
  1594. /* [retval][out] */ DATE *pVal) = 0;
  1595. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ValidToDate(
  1596. /* [retval][out] */ DATE *pVal) = 0;
  1597. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Thumbprint(
  1598. /* [retval][out] */ BSTR *pVal) = 0;
  1599. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE HasPrivateKey(
  1600. /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
  1601. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetInfo(
  1602. /* [in] */ CAPICOM_CERT_INFO_TYPE InfoType,
  1603. /* [retval][out] */ BSTR *pVal) = 0;
  1604. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IsValid(
  1605. /* [retval][out] */ ICertificateStatus **pVal) = 0;
  1606. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE KeyUsage(
  1607. /* [retval][out] */ IKeyUsage **pVal) = 0;
  1608. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ExtendedKeyUsage(
  1609. /* [retval][out] */ IExtendedKeyUsage **pVal) = 0;
  1610. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE BasicConstraints(
  1611. /* [retval][out] */ IBasicConstraints **pVal) = 0;
  1612. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Export(
  1613. /* [defaultvalue][in] */ CAPICOM_ENCODING_TYPE EncodingType,
  1614. /* [retval][out] */ BSTR *pVal) = 0;
  1615. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Import(
  1616. /* [in] */ BSTR EncodedCertificate) = 0;
  1617. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Display( void) = 0;
  1618. };
  1619. #else /* C style interface */
  1620. typedef struct ICertificateVtbl
  1621. {
  1622. BEGIN_INTERFACE
  1623. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1624. ICertificate * This,
  1625. /* [in] */ REFIID riid,
  1626. /* [iid_is][out] */ void **ppvObject);
  1627. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1628. ICertificate * This);
  1629. ULONG ( STDMETHODCALLTYPE *Release )(
  1630. ICertificate * This);
  1631. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  1632. ICertificate * This,
  1633. /* [out] */ UINT *pctinfo);
  1634. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  1635. ICertificate * This,
  1636. /* [in] */ UINT iTInfo,
  1637. /* [in] */ LCID lcid,
  1638. /* [out] */ ITypeInfo **ppTInfo);
  1639. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  1640. ICertificate * This,
  1641. /* [in] */ REFIID riid,
  1642. /* [size_is][in] */ LPOLESTR *rgszNames,
  1643. /* [in] */ UINT cNames,
  1644. /* [in] */ LCID lcid,
  1645. /* [size_is][out] */ DISPID *rgDispId);
  1646. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  1647. ICertificate * This,
  1648. /* [in] */ DISPID dispIdMember,
  1649. /* [in] */ REFIID riid,
  1650. /* [in] */ LCID lcid,
  1651. /* [in] */ WORD wFlags,
  1652. /* [out][in] */ DISPPARAMS *pDispParams,
  1653. /* [out] */ VARIANT *pVarResult,
  1654. /* [out] */ EXCEPINFO *pExcepInfo,
  1655. /* [out] */ UINT *puArgErr);
  1656. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Version )(
  1657. ICertificate * This,
  1658. /* [retval][out] */ long *pVal);
  1659. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SerialNumber )(
  1660. ICertificate * This,
  1661. /* [retval][out] */ BSTR *pVal);
  1662. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SubjectName )(
  1663. ICertificate * This,
  1664. /* [retval][out] */ BSTR *pVal);
  1665. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IssuerName )(
  1666. ICertificate * This,
  1667. /* [retval][out] */ BSTR *pVal);
  1668. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ValidFromDate )(
  1669. ICertificate * This,
  1670. /* [retval][out] */ DATE *pVal);
  1671. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ValidToDate )(
  1672. ICertificate * This,
  1673. /* [retval][out] */ DATE *pVal);
  1674. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Thumbprint )(
  1675. ICertificate * This,
  1676. /* [retval][out] */ BSTR *pVal);
  1677. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *HasPrivateKey )(
  1678. ICertificate * This,
  1679. /* [retval][out] */ VARIANT_BOOL *pVal);
  1680. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetInfo )(
  1681. ICertificate * This,
  1682. /* [in] */ CAPICOM_CERT_INFO_TYPE InfoType,
  1683. /* [retval][out] */ BSTR *pVal);
  1684. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsValid )(
  1685. ICertificate * This,
  1686. /* [retval][out] */ ICertificateStatus **pVal);
  1687. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *KeyUsage )(
  1688. ICertificate * This,
  1689. /* [retval][out] */ IKeyUsage **pVal);
  1690. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ExtendedKeyUsage )(
  1691. ICertificate * This,
  1692. /* [retval][out] */ IExtendedKeyUsage **pVal);
  1693. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *BasicConstraints )(
  1694. ICertificate * This,
  1695. /* [retval][out] */ IBasicConstraints **pVal);
  1696. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Export )(
  1697. ICertificate * This,
  1698. /* [defaultvalue][in] */ CAPICOM_ENCODING_TYPE EncodingType,
  1699. /* [retval][out] */ BSTR *pVal);
  1700. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Import )(
  1701. ICertificate * This,
  1702. /* [in] */ BSTR EncodedCertificate);
  1703. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Display )(
  1704. ICertificate * This);
  1705. END_INTERFACE
  1706. } ICertificateVtbl;
  1707. interface ICertificate
  1708. {
  1709. CONST_VTBL struct ICertificateVtbl *lpVtbl;
  1710. };
  1711. #ifdef COBJMACROS
  1712. #define ICertificate_QueryInterface(This,riid,ppvObject) \
  1713. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1714. #define ICertificate_AddRef(This) \
  1715. (This)->lpVtbl -> AddRef(This)
  1716. #define ICertificate_Release(This) \
  1717. (This)->lpVtbl -> Release(This)
  1718. #define ICertificate_GetTypeInfoCount(This,pctinfo) \
  1719. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1720. #define ICertificate_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  1721. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1722. #define ICertificate_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  1723. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1724. #define ICertificate_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  1725. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1726. #define ICertificate_get_Version(This,pVal) \
  1727. (This)->lpVtbl -> get_Version(This,pVal)
  1728. #define ICertificate_get_SerialNumber(This,pVal) \
  1729. (This)->lpVtbl -> get_SerialNumber(This,pVal)
  1730. #define ICertificate_get_SubjectName(This,pVal) \
  1731. (This)->lpVtbl -> get_SubjectName(This,pVal)
  1732. #define ICertificate_get_IssuerName(This,pVal) \
  1733. (This)->lpVtbl -> get_IssuerName(This,pVal)
  1734. #define ICertificate_get_ValidFromDate(This,pVal) \
  1735. (This)->lpVtbl -> get_ValidFromDate(This,pVal)
  1736. #define ICertificate_get_ValidToDate(This,pVal) \
  1737. (This)->lpVtbl -> get_ValidToDate(This,pVal)
  1738. #define ICertificate_get_Thumbprint(This,pVal) \
  1739. (This)->lpVtbl -> get_Thumbprint(This,pVal)
  1740. #define ICertificate_HasPrivateKey(This,pVal) \
  1741. (This)->lpVtbl -> HasPrivateKey(This,pVal)
  1742. #define ICertificate_GetInfo(This,InfoType,pVal) \
  1743. (This)->lpVtbl -> GetInfo(This,InfoType,pVal)
  1744. #define ICertificate_IsValid(This,pVal) \
  1745. (This)->lpVtbl -> IsValid(This,pVal)
  1746. #define ICertificate_KeyUsage(This,pVal) \
  1747. (This)->lpVtbl -> KeyUsage(This,pVal)
  1748. #define ICertificate_ExtendedKeyUsage(This,pVal) \
  1749. (This)->lpVtbl -> ExtendedKeyUsage(This,pVal)
  1750. #define ICertificate_BasicConstraints(This,pVal) \
  1751. (This)->lpVtbl -> BasicConstraints(This,pVal)
  1752. #define ICertificate_Export(This,EncodingType,pVal) \
  1753. (This)->lpVtbl -> Export(This,EncodingType,pVal)
  1754. #define ICertificate_Import(This,EncodedCertificate) \
  1755. (This)->lpVtbl -> Import(This,EncodedCertificate)
  1756. #define ICertificate_Display(This) \
  1757. (This)->lpVtbl -> Display(This)
  1758. #endif /* COBJMACROS */
  1759. #endif /* C style interface */
  1760. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICertificate_get_Version_Proxy(
  1761. ICertificate * This,
  1762. /* [retval][out] */ long *pVal);
  1763. void __RPC_STUB ICertificate_get_Version_Stub(
  1764. IRpcStubBuffer *This,
  1765. IRpcChannelBuffer *_pRpcChannelBuffer,
  1766. PRPC_MESSAGE _pRpcMessage,
  1767. DWORD *_pdwStubPhase);
  1768. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICertificate_get_SerialNumber_Proxy(
  1769. ICertificate * This,
  1770. /* [retval][out] */ BSTR *pVal);
  1771. void __RPC_STUB ICertificate_get_SerialNumber_Stub(
  1772. IRpcStubBuffer *This,
  1773. IRpcChannelBuffer *_pRpcChannelBuffer,
  1774. PRPC_MESSAGE _pRpcMessage,
  1775. DWORD *_pdwStubPhase);
  1776. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICertificate_get_SubjectName_Proxy(
  1777. ICertificate * This,
  1778. /* [retval][out] */ BSTR *pVal);
  1779. void __RPC_STUB ICertificate_get_SubjectName_Stub(
  1780. IRpcStubBuffer *This,
  1781. IRpcChannelBuffer *_pRpcChannelBuffer,
  1782. PRPC_MESSAGE _pRpcMessage,
  1783. DWORD *_pdwStubPhase);
  1784. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICertificate_get_IssuerName_Proxy(
  1785. ICertificate * This,
  1786. /* [retval][out] */ BSTR *pVal);
  1787. void __RPC_STUB ICertificate_get_IssuerName_Stub(
  1788. IRpcStubBuffer *This,
  1789. IRpcChannelBuffer *_pRpcChannelBuffer,
  1790. PRPC_MESSAGE _pRpcMessage,
  1791. DWORD *_pdwStubPhase);
  1792. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICertificate_get_ValidFromDate_Proxy(
  1793. ICertificate * This,
  1794. /* [retval][out] */ DATE *pVal);
  1795. void __RPC_STUB ICertificate_get_ValidFromDate_Stub(
  1796. IRpcStubBuffer *This,
  1797. IRpcChannelBuffer *_pRpcChannelBuffer,
  1798. PRPC_MESSAGE _pRpcMessage,
  1799. DWORD *_pdwStubPhase);
  1800. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICertificate_get_ValidToDate_Proxy(
  1801. ICertificate * This,
  1802. /* [retval][out] */ DATE *pVal);
  1803. void __RPC_STUB ICertificate_get_ValidToDate_Stub(
  1804. IRpcStubBuffer *This,
  1805. IRpcChannelBuffer *_pRpcChannelBuffer,
  1806. PRPC_MESSAGE _pRpcMessage,
  1807. DWORD *_pdwStubPhase);
  1808. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICertificate_get_Thumbprint_Proxy(
  1809. ICertificate * This,
  1810. /* [retval][out] */ BSTR *pVal);
  1811. void __RPC_STUB ICertificate_get_Thumbprint_Stub(
  1812. IRpcStubBuffer *This,
  1813. IRpcChannelBuffer *_pRpcChannelBuffer,
  1814. PRPC_MESSAGE _pRpcMessage,
  1815. DWORD *_pdwStubPhase);
  1816. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICertificate_HasPrivateKey_Proxy(
  1817. ICertificate * This,
  1818. /* [retval][out] */ VARIANT_BOOL *pVal);
  1819. void __RPC_STUB ICertificate_HasPrivateKey_Stub(
  1820. IRpcStubBuffer *This,
  1821. IRpcChannelBuffer *_pRpcChannelBuffer,
  1822. PRPC_MESSAGE _pRpcMessage,
  1823. DWORD *_pdwStubPhase);
  1824. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICertificate_GetInfo_Proxy(
  1825. ICertificate * This,
  1826. /* [in] */ CAPICOM_CERT_INFO_TYPE InfoType,
  1827. /* [retval][out] */ BSTR *pVal);
  1828. void __RPC_STUB ICertificate_GetInfo_Stub(
  1829. IRpcStubBuffer *This,
  1830. IRpcChannelBuffer *_pRpcChannelBuffer,
  1831. PRPC_MESSAGE _pRpcMessage,
  1832. DWORD *_pdwStubPhase);
  1833. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICertificate_IsValid_Proxy(
  1834. ICertificate * This,
  1835. /* [retval][out] */ ICertificateStatus **pVal);
  1836. void __RPC_STUB ICertificate_IsValid_Stub(
  1837. IRpcStubBuffer *This,
  1838. IRpcChannelBuffer *_pRpcChannelBuffer,
  1839. PRPC_MESSAGE _pRpcMessage,
  1840. DWORD *_pdwStubPhase);
  1841. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICertificate_KeyUsage_Proxy(
  1842. ICertificate * This,
  1843. /* [retval][out] */ IKeyUsage **pVal);
  1844. void __RPC_STUB ICertificate_KeyUsage_Stub(
  1845. IRpcStubBuffer *This,
  1846. IRpcChannelBuffer *_pRpcChannelBuffer,
  1847. PRPC_MESSAGE _pRpcMessage,
  1848. DWORD *_pdwStubPhase);
  1849. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICertificate_ExtendedKeyUsage_Proxy(
  1850. ICertificate * This,
  1851. /* [retval][out] */ IExtendedKeyUsage **pVal);
  1852. void __RPC_STUB ICertificate_ExtendedKeyUsage_Stub(
  1853. IRpcStubBuffer *This,
  1854. IRpcChannelBuffer *_pRpcChannelBuffer,
  1855. PRPC_MESSAGE _pRpcMessage,
  1856. DWORD *_pdwStubPhase);
  1857. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICertificate_BasicConstraints_Proxy(
  1858. ICertificate * This,
  1859. /* [retval][out] */ IBasicConstraints **pVal);
  1860. void __RPC_STUB ICertificate_BasicConstraints_Stub(
  1861. IRpcStubBuffer *This,
  1862. IRpcChannelBuffer *_pRpcChannelBuffer,
  1863. PRPC_MESSAGE _pRpcMessage,
  1864. DWORD *_pdwStubPhase);
  1865. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICertificate_Export_Proxy(
  1866. ICertificate * This,
  1867. /* [defaultvalue][in] */ CAPICOM_ENCODING_TYPE EncodingType,
  1868. /* [retval][out] */ BSTR *pVal);
  1869. void __RPC_STUB ICertificate_Export_Stub(
  1870. IRpcStubBuffer *This,
  1871. IRpcChannelBuffer *_pRpcChannelBuffer,
  1872. PRPC_MESSAGE _pRpcMessage,
  1873. DWORD *_pdwStubPhase);
  1874. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICertificate_Import_Proxy(
  1875. ICertificate * This,
  1876. /* [in] */ BSTR EncodedCertificate);
  1877. void __RPC_STUB ICertificate_Import_Stub(
  1878. IRpcStubBuffer *This,
  1879. IRpcChannelBuffer *_pRpcChannelBuffer,
  1880. PRPC_MESSAGE _pRpcMessage,
  1881. DWORD *_pdwStubPhase);
  1882. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ICertificate_Display_Proxy(
  1883. ICertificate * This);
  1884. void __RPC_STUB ICertificate_Display_Stub(
  1885. IRpcStubBuffer *This,
  1886. IRpcChannelBuffer *_pRpcChannelBuffer,
  1887. PRPC_MESSAGE _pRpcMessage,
  1888. DWORD *_pdwStubPhase);
  1889. #endif /* __ICertificate_INTERFACE_DEFINED__ */
  1890. #ifndef __ICertificates_INTERFACE_DEFINED__
  1891. #define __ICertificates_INTERFACE_DEFINED__
  1892. /* interface ICertificates */
  1893. /* [unique][helpstring][dual][uuid][object] */
  1894. EXTERN_C const IID IID_ICertificates;
  1895. #if defined(__cplusplus) && !defined(CINTERFACE)
  1896. MIDL_INTERFACE("68646716-BDA0-4046-AB82-4444BC93B84A")
  1897. ICertificates : public IDispatch
  1898. {
  1899. public:
  1900. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item(
  1901. /* [in] */ long Index,
  1902. /* [retval][out] */ VARIANT *pVal) = 0;
  1903. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
  1904. /* [retval][out] */ long *pVal) = 0;
  1905. virtual /* [restricted][helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
  1906. /* [retval][out] */ LPUNKNOWN *pVal) = 0;
  1907. };
  1908. #else /* C style interface */
  1909. typedef struct ICertificatesVtbl
  1910. {
  1911. BEGIN_INTERFACE
  1912. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1913. ICertificates * This,
  1914. /* [in] */ REFIID riid,
  1915. /* [iid_is][out] */ void **ppvObject);
  1916. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1917. ICertificates * This);
  1918. ULONG ( STDMETHODCALLTYPE *Release )(
  1919. ICertificates * This);
  1920. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  1921. ICertificates * This,
  1922. /* [out] */ UINT *pctinfo);
  1923. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  1924. ICertificates * This,
  1925. /* [in] */ UINT iTInfo,
  1926. /* [in] */ LCID lcid,
  1927. /* [out] */ ITypeInfo **ppTInfo);
  1928. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  1929. ICertificates * This,
  1930. /* [in] */ REFIID riid,
  1931. /* [size_is][in] */ LPOLESTR *rgszNames,
  1932. /* [in] */ UINT cNames,
  1933. /* [in] */ LCID lcid,
  1934. /* [size_is][out] */ DISPID *rgDispId);
  1935. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  1936. ICertificates * This,
  1937. /* [in] */ DISPID dispIdMember,
  1938. /* [in] */ REFIID riid,
  1939. /* [in] */ LCID lcid,
  1940. /* [in] */ WORD wFlags,
  1941. /* [out][in] */ DISPPARAMS *pDispParams,
  1942. /* [out] */ VARIANT *pVarResult,
  1943. /* [out] */ EXCEPINFO *pExcepInfo,
  1944. /* [out] */ UINT *puArgErr);
  1945. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )(
  1946. ICertificates * This,
  1947. /* [in] */ long Index,
  1948. /* [retval][out] */ VARIANT *pVal);
  1949. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
  1950. ICertificates * This,
  1951. /* [retval][out] */ long *pVal);
  1952. /* [restricted][helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
  1953. ICertificates * This,
  1954. /* [retval][out] */ LPUNKNOWN *pVal);
  1955. END_INTERFACE
  1956. } ICertificatesVtbl;
  1957. interface ICertificates
  1958. {
  1959. CONST_VTBL struct ICertificatesVtbl *lpVtbl;
  1960. };
  1961. #ifdef COBJMACROS
  1962. #define ICertificates_QueryInterface(This,riid,ppvObject) \
  1963. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1964. #define ICertificates_AddRef(This) \
  1965. (This)->lpVtbl -> AddRef(This)
  1966. #define ICertificates_Release(This) \
  1967. (This)->lpVtbl -> Release(This)
  1968. #define ICertificates_GetTypeInfoCount(This,pctinfo) \
  1969. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1970. #define ICertificates_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  1971. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1972. #define ICertificates_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  1973. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1974. #define ICertificates_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  1975. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1976. #define ICertificates_get_Item(This,Index,pVal) \
  1977. (This)->lpVtbl -> get_Item(This,Index,pVal)
  1978. #define ICertificates_get_Count(This,pVal) \
  1979. (This)->lpVtbl -> get_Count(This,pVal)
  1980. #define ICertificates_get__NewEnum(This,pVal) \
  1981. (This)->lpVtbl -> get__NewEnum(This,pVal)
  1982. #endif /* COBJMACROS */
  1983. #endif /* C style interface */
  1984. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICertificates_get_Item_Proxy(
  1985. ICertificates * This,
  1986. /* [in] */ long Index,
  1987. /* [retval][out] */ VARIANT *pVal);
  1988. void __RPC_STUB ICertificates_get_Item_Stub(
  1989. IRpcStubBuffer *This,
  1990. IRpcChannelBuffer *_pRpcChannelBuffer,
  1991. PRPC_MESSAGE _pRpcMessage,
  1992. DWORD *_pdwStubPhase);
  1993. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICertificates_get_Count_Proxy(
  1994. ICertificates * This,
  1995. /* [retval][out] */ long *pVal);
  1996. void __RPC_STUB ICertificates_get_Count_Stub(
  1997. IRpcStubBuffer *This,
  1998. IRpcChannelBuffer *_pRpcChannelBuffer,
  1999. PRPC_MESSAGE _pRpcMessage,
  2000. DWORD *_pdwStubPhase);
  2001. /* [restricted][helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ICertificates_get__NewEnum_Proxy(
  2002. ICertificates * This,
  2003. /* [retval][out] */ LPUNKNOWN *pVal);
  2004. void __RPC_STUB ICertificates_get__NewEnum_Stub(
  2005. IRpcStubBuffer *This,
  2006. IRpcChannelBuffer *_pRpcChannelBuffer,
  2007. PRPC_MESSAGE _pRpcMessage,
  2008. DWORD *_pdwStubPhase);
  2009. #endif /* __ICertificates_INTERFACE_DEFINED__ */
  2010. #ifndef __IChain_INTERFACE_DEFINED__
  2011. #define __IChain_INTERFACE_DEFINED__
  2012. /* interface IChain */
  2013. /* [unique][helpstring][dual][uuid][object] */
  2014. EXTERN_C const IID IID_IChain;
  2015. #if defined(__cplusplus) && !defined(CINTERFACE)
  2016. MIDL_INTERFACE("77F6F881-5D3A-4F2F-AEF0-E4A2F9AA689D")
  2017. IChain : public IDispatch
  2018. {
  2019. public:
  2020. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Certificates(
  2021. /* [retval][out] */ ICertificates **pVal) = 0;
  2022. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Status(
  2023. /* [defaultvalue][in] */ long Index,
  2024. /* [retval][out] */ long *pVal) = 0;
  2025. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Build(
  2026. /* [in] */ ICertificate *pICertificate,
  2027. /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
  2028. };
  2029. #else /* C style interface */
  2030. typedef struct IChainVtbl
  2031. {
  2032. BEGIN_INTERFACE
  2033. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2034. IChain * This,
  2035. /* [in] */ REFIID riid,
  2036. /* [iid_is][out] */ void **ppvObject);
  2037. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2038. IChain * This);
  2039. ULONG ( STDMETHODCALLTYPE *Release )(
  2040. IChain * This);
  2041. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  2042. IChain * This,
  2043. /* [out] */ UINT *pctinfo);
  2044. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  2045. IChain * This,
  2046. /* [in] */ UINT iTInfo,
  2047. /* [in] */ LCID lcid,
  2048. /* [out] */ ITypeInfo **ppTInfo);
  2049. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  2050. IChain * This,
  2051. /* [in] */ REFIID riid,
  2052. /* [size_is][in] */ LPOLESTR *rgszNames,
  2053. /* [in] */ UINT cNames,
  2054. /* [in] */ LCID lcid,
  2055. /* [size_is][out] */ DISPID *rgDispId);
  2056. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  2057. IChain * This,
  2058. /* [in] */ DISPID dispIdMember,
  2059. /* [in] */ REFIID riid,
  2060. /* [in] */ LCID lcid,
  2061. /* [in] */ WORD wFlags,
  2062. /* [out][in] */ DISPPARAMS *pDispParams,
  2063. /* [out] */ VARIANT *pVarResult,
  2064. /* [out] */ EXCEPINFO *pExcepInfo,
  2065. /* [out] */ UINT *puArgErr);
  2066. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Certificates )(
  2067. IChain * This,
  2068. /* [retval][out] */ ICertificates **pVal);
  2069. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )(
  2070. IChain * This,
  2071. /* [defaultvalue][in] */ long Index,
  2072. /* [retval][out] */ long *pVal);
  2073. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Build )(
  2074. IChain * This,
  2075. /* [in] */ ICertificate *pICertificate,
  2076. /* [retval][out] */ VARIANT_BOOL *pVal);
  2077. END_INTERFACE
  2078. } IChainVtbl;
  2079. interface IChain
  2080. {
  2081. CONST_VTBL struct IChainVtbl *lpVtbl;
  2082. };
  2083. #ifdef COBJMACROS
  2084. #define IChain_QueryInterface(This,riid,ppvObject) \
  2085. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2086. #define IChain_AddRef(This) \
  2087. (This)->lpVtbl -> AddRef(This)
  2088. #define IChain_Release(This) \
  2089. (This)->lpVtbl -> Release(This)
  2090. #define IChain_GetTypeInfoCount(This,pctinfo) \
  2091. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2092. #define IChain_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  2093. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2094. #define IChain_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  2095. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2096. #define IChain_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  2097. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2098. #define IChain_get_Certificates(This,pVal) \
  2099. (This)->lpVtbl -> get_Certificates(This,pVal)
  2100. #define IChain_get_Status(This,Index,pVal) \
  2101. (This)->lpVtbl -> get_Status(This,Index,pVal)
  2102. #define IChain_Build(This,pICertificate,pVal) \
  2103. (This)->lpVtbl -> Build(This,pICertificate,pVal)
  2104. #endif /* COBJMACROS */
  2105. #endif /* C style interface */
  2106. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IChain_get_Certificates_Proxy(
  2107. IChain * This,
  2108. /* [retval][out] */ ICertificates **pVal);
  2109. void __RPC_STUB IChain_get_Certificates_Stub(
  2110. IRpcStubBuffer *This,
  2111. IRpcChannelBuffer *_pRpcChannelBuffer,
  2112. PRPC_MESSAGE _pRpcMessage,
  2113. DWORD *_pdwStubPhase);
  2114. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IChain_get_Status_Proxy(
  2115. IChain * This,
  2116. /* [defaultvalue][in] */ long Index,
  2117. /* [retval][out] */ long *pVal);
  2118. void __RPC_STUB IChain_get_Status_Stub(
  2119. IRpcStubBuffer *This,
  2120. IRpcChannelBuffer *_pRpcChannelBuffer,
  2121. PRPC_MESSAGE _pRpcMessage,
  2122. DWORD *_pdwStubPhase);
  2123. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IChain_Build_Proxy(
  2124. IChain * This,
  2125. /* [in] */ ICertificate *pICertificate,
  2126. /* [retval][out] */ VARIANT_BOOL *pVal);
  2127. void __RPC_STUB IChain_Build_Stub(
  2128. IRpcStubBuffer *This,
  2129. IRpcChannelBuffer *_pRpcChannelBuffer,
  2130. PRPC_MESSAGE _pRpcMessage,
  2131. DWORD *_pdwStubPhase);
  2132. #endif /* __IChain_INTERFACE_DEFINED__ */
  2133. #ifndef __IStore_INTERFACE_DEFINED__
  2134. #define __IStore_INTERFACE_DEFINED__
  2135. /* interface IStore */
  2136. /* [unique][helpstring][dual][uuid][object] */
  2137. EXTERN_C const IID IID_IStore;
  2138. #if defined(__cplusplus) && !defined(CINTERFACE)
  2139. MIDL_INTERFACE("E860EF75-1B63-4254-AF47-960DAA3DD337")
  2140. IStore : public IDispatch
  2141. {
  2142. public:
  2143. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Certificates(
  2144. /* [retval][out] */ ICertificates **pVal) = 0;
  2145. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Open(
  2146. /* [defaultvalue][in] */ CAPICOM_STORE_LOCATION StoreLocation = CAPICOM_CURRENT_USER_STORE,
  2147. /* [defaultvalue][in] */ BSTR StoreName = L"My",
  2148. /* [defaultvalue][in] */ CAPICOM_STORE_OPEN_MODE OpenMode = CAPICOM_STORE_OPEN_READ_ONLY) = 0;
  2149. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Add(
  2150. /* [in] */ ICertificate *pVal) = 0;
  2151. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Remove(
  2152. /* [in] */ ICertificate *pVal) = 0;
  2153. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Export(
  2154. /* [defaultvalue][in] */ CAPICOM_STORE_SAVE_AS_TYPE SaveAs,
  2155. /* [defaultvalue][in] */ CAPICOM_ENCODING_TYPE EncodingType,
  2156. /* [retval][out] */ BSTR *pVal) = 0;
  2157. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Import(
  2158. /* [in] */ BSTR EncodedStore) = 0;
  2159. };
  2160. #else /* C style interface */
  2161. typedef struct IStoreVtbl
  2162. {
  2163. BEGIN_INTERFACE
  2164. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2165. IStore * This,
  2166. /* [in] */ REFIID riid,
  2167. /* [iid_is][out] */ void **ppvObject);
  2168. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2169. IStore * This);
  2170. ULONG ( STDMETHODCALLTYPE *Release )(
  2171. IStore * This);
  2172. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  2173. IStore * This,
  2174. /* [out] */ UINT *pctinfo);
  2175. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  2176. IStore * This,
  2177. /* [in] */ UINT iTInfo,
  2178. /* [in] */ LCID lcid,
  2179. /* [out] */ ITypeInfo **ppTInfo);
  2180. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  2181. IStore * This,
  2182. /* [in] */ REFIID riid,
  2183. /* [size_is][in] */ LPOLESTR *rgszNames,
  2184. /* [in] */ UINT cNames,
  2185. /* [in] */ LCID lcid,
  2186. /* [size_is][out] */ DISPID *rgDispId);
  2187. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  2188. IStore * This,
  2189. /* [in] */ DISPID dispIdMember,
  2190. /* [in] */ REFIID riid,
  2191. /* [in] */ LCID lcid,
  2192. /* [in] */ WORD wFlags,
  2193. /* [out][in] */ DISPPARAMS *pDispParams,
  2194. /* [out] */ VARIANT *pVarResult,
  2195. /* [out] */ EXCEPINFO *pExcepInfo,
  2196. /* [out] */ UINT *puArgErr);
  2197. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Certificates )(
  2198. IStore * This,
  2199. /* [retval][out] */ ICertificates **pVal);
  2200. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Open )(
  2201. IStore * This,
  2202. /* [defaultvalue][in] */ CAPICOM_STORE_LOCATION StoreLocation,
  2203. /* [defaultvalue][in] */ BSTR StoreName,
  2204. /* [defaultvalue][in] */ CAPICOM_STORE_OPEN_MODE OpenMode);
  2205. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Add )(
  2206. IStore * This,
  2207. /* [in] */ ICertificate *pVal);
  2208. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Remove )(
  2209. IStore * This,
  2210. /* [in] */ ICertificate *pVal);
  2211. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Export )(
  2212. IStore * This,
  2213. /* [defaultvalue][in] */ CAPICOM_STORE_SAVE_AS_TYPE SaveAs,
  2214. /* [defaultvalue][in] */ CAPICOM_ENCODING_TYPE EncodingType,
  2215. /* [retval][out] */ BSTR *pVal);
  2216. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Import )(
  2217. IStore * This,
  2218. /* [in] */ BSTR EncodedStore);
  2219. END_INTERFACE
  2220. } IStoreVtbl;
  2221. interface IStore
  2222. {
  2223. CONST_VTBL struct IStoreVtbl *lpVtbl;
  2224. };
  2225. #ifdef COBJMACROS
  2226. #define IStore_QueryInterface(This,riid,ppvObject) \
  2227. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2228. #define IStore_AddRef(This) \
  2229. (This)->lpVtbl -> AddRef(This)
  2230. #define IStore_Release(This) \
  2231. (This)->lpVtbl -> Release(This)
  2232. #define IStore_GetTypeInfoCount(This,pctinfo) \
  2233. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2234. #define IStore_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  2235. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2236. #define IStore_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  2237. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2238. #define IStore_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  2239. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2240. #define IStore_get_Certificates(This,pVal) \
  2241. (This)->lpVtbl -> get_Certificates(This,pVal)
  2242. #define IStore_Open(This,StoreLocation,StoreName,OpenMode) \
  2243. (This)->lpVtbl -> Open(This,StoreLocation,StoreName,OpenMode)
  2244. #define IStore_Add(This,pVal) \
  2245. (This)->lpVtbl -> Add(This,pVal)
  2246. #define IStore_Remove(This,pVal) \
  2247. (This)->lpVtbl -> Remove(This,pVal)
  2248. #define IStore_Export(This,SaveAs,EncodingType,pVal) \
  2249. (This)->lpVtbl -> Export(This,SaveAs,EncodingType,pVal)
  2250. #define IStore_Import(This,EncodedStore) \
  2251. (This)->lpVtbl -> Import(This,EncodedStore)
  2252. #endif /* COBJMACROS */
  2253. #endif /* C style interface */
  2254. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IStore_get_Certificates_Proxy(
  2255. IStore * This,
  2256. /* [retval][out] */ ICertificates **pVal);
  2257. void __RPC_STUB IStore_get_Certificates_Stub(
  2258. IRpcStubBuffer *This,
  2259. IRpcChannelBuffer *_pRpcChannelBuffer,
  2260. PRPC_MESSAGE _pRpcMessage,
  2261. DWORD *_pdwStubPhase);
  2262. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IStore_Open_Proxy(
  2263. IStore * This,
  2264. /* [defaultvalue][in] */ CAPICOM_STORE_LOCATION StoreLocation,
  2265. /* [defaultvalue][in] */ BSTR StoreName,
  2266. /* [defaultvalue][in] */ CAPICOM_STORE_OPEN_MODE OpenMode);
  2267. void __RPC_STUB IStore_Open_Stub(
  2268. IRpcStubBuffer *This,
  2269. IRpcChannelBuffer *_pRpcChannelBuffer,
  2270. PRPC_MESSAGE _pRpcMessage,
  2271. DWORD *_pdwStubPhase);
  2272. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IStore_Add_Proxy(
  2273. IStore * This,
  2274. /* [in] */ ICertificate *pVal);
  2275. void __RPC_STUB IStore_Add_Stub(
  2276. IRpcStubBuffer *This,
  2277. IRpcChannelBuffer *_pRpcChannelBuffer,
  2278. PRPC_MESSAGE _pRpcMessage,
  2279. DWORD *_pdwStubPhase);
  2280. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IStore_Remove_Proxy(
  2281. IStore * This,
  2282. /* [in] */ ICertificate *pVal);
  2283. void __RPC_STUB IStore_Remove_Stub(
  2284. IRpcStubBuffer *This,
  2285. IRpcChannelBuffer *_pRpcChannelBuffer,
  2286. PRPC_MESSAGE _pRpcMessage,
  2287. DWORD *_pdwStubPhase);
  2288. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IStore_Export_Proxy(
  2289. IStore * This,
  2290. /* [defaultvalue][in] */ CAPICOM_STORE_SAVE_AS_TYPE SaveAs,
  2291. /* [defaultvalue][in] */ CAPICOM_ENCODING_TYPE EncodingType,
  2292. /* [retval][out] */ BSTR *pVal);
  2293. void __RPC_STUB IStore_Export_Stub(
  2294. IRpcStubBuffer *This,
  2295. IRpcChannelBuffer *_pRpcChannelBuffer,
  2296. PRPC_MESSAGE _pRpcMessage,
  2297. DWORD *_pdwStubPhase);
  2298. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IStore_Import_Proxy(
  2299. IStore * This,
  2300. /* [in] */ BSTR EncodedStore);
  2301. void __RPC_STUB IStore_Import_Stub(
  2302. IRpcStubBuffer *This,
  2303. IRpcChannelBuffer *_pRpcChannelBuffer,
  2304. PRPC_MESSAGE _pRpcMessage,
  2305. DWORD *_pdwStubPhase);
  2306. #endif /* __IStore_INTERFACE_DEFINED__ */
  2307. #ifndef __IAttribute_INTERFACE_DEFINED__
  2308. #define __IAttribute_INTERFACE_DEFINED__
  2309. /* interface IAttribute */
  2310. /* [unique][helpstring][dual][uuid][object] */
  2311. EXTERN_C const IID IID_IAttribute;
  2312. #if defined(__cplusplus) && !defined(CINTERFACE)
  2313. MIDL_INTERFACE("B17A8D78-B5A6-45F7-BA21-01AB94B08415")
  2314. IAttribute : public IDispatch
  2315. {
  2316. public:
  2317. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name(
  2318. /* [retval][out] */ CAPICOM_ATTRIBUTE *pVal) = 0;
  2319. virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name(
  2320. /* [in] */ CAPICOM_ATTRIBUTE newVal) = 0;
  2321. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Value(
  2322. /* [retval][out] */ VARIANT *pVal) = 0;
  2323. virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Value(
  2324. /* [in] */ VARIANT newVal) = 0;
  2325. };
  2326. #else /* C style interface */
  2327. typedef struct IAttributeVtbl
  2328. {
  2329. BEGIN_INTERFACE
  2330. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2331. IAttribute * This,
  2332. /* [in] */ REFIID riid,
  2333. /* [iid_is][out] */ void **ppvObject);
  2334. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2335. IAttribute * This);
  2336. ULONG ( STDMETHODCALLTYPE *Release )(
  2337. IAttribute * This);
  2338. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  2339. IAttribute * This,
  2340. /* [out] */ UINT *pctinfo);
  2341. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  2342. IAttribute * This,
  2343. /* [in] */ UINT iTInfo,
  2344. /* [in] */ LCID lcid,
  2345. /* [out] */ ITypeInfo **ppTInfo);
  2346. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  2347. IAttribute * This,
  2348. /* [in] */ REFIID riid,
  2349. /* [size_is][in] */ LPOLESTR *rgszNames,
  2350. /* [in] */ UINT cNames,
  2351. /* [in] */ LCID lcid,
  2352. /* [size_is][out] */ DISPID *rgDispId);
  2353. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  2354. IAttribute * This,
  2355. /* [in] */ DISPID dispIdMember,
  2356. /* [in] */ REFIID riid,
  2357. /* [in] */ LCID lcid,
  2358. /* [in] */ WORD wFlags,
  2359. /* [out][in] */ DISPPARAMS *pDispParams,
  2360. /* [out] */ VARIANT *pVarResult,
  2361. /* [out] */ EXCEPINFO *pExcepInfo,
  2362. /* [out] */ UINT *puArgErr);
  2363. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )(
  2364. IAttribute * This,
  2365. /* [retval][out] */ CAPICOM_ATTRIBUTE *pVal);
  2366. /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )(
  2367. IAttribute * This,
  2368. /* [in] */ CAPICOM_ATTRIBUTE newVal);
  2369. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Value )(
  2370. IAttribute * This,
  2371. /* [retval][out] */ VARIANT *pVal);
  2372. /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Value )(
  2373. IAttribute * This,
  2374. /* [in] */ VARIANT newVal);
  2375. END_INTERFACE
  2376. } IAttributeVtbl;
  2377. interface IAttribute
  2378. {
  2379. CONST_VTBL struct IAttributeVtbl *lpVtbl;
  2380. };
  2381. #ifdef COBJMACROS
  2382. #define IAttribute_QueryInterface(This,riid,ppvObject) \
  2383. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2384. #define IAttribute_AddRef(This) \
  2385. (This)->lpVtbl -> AddRef(This)
  2386. #define IAttribute_Release(This) \
  2387. (This)->lpVtbl -> Release(This)
  2388. #define IAttribute_GetTypeInfoCount(This,pctinfo) \
  2389. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2390. #define IAttribute_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  2391. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2392. #define IAttribute_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  2393. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2394. #define IAttribute_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  2395. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2396. #define IAttribute_get_Name(This,pVal) \
  2397. (This)->lpVtbl -> get_Name(This,pVal)
  2398. #define IAttribute_put_Name(This,newVal) \
  2399. (This)->lpVtbl -> put_Name(This,newVal)
  2400. #define IAttribute_get_Value(This,pVal) \
  2401. (This)->lpVtbl -> get_Value(This,pVal)
  2402. #define IAttribute_put_Value(This,newVal) \
  2403. (This)->lpVtbl -> put_Value(This,newVal)
  2404. #endif /* COBJMACROS */
  2405. #endif /* C style interface */
  2406. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IAttribute_get_Name_Proxy(
  2407. IAttribute * This,
  2408. /* [retval][out] */ CAPICOM_ATTRIBUTE *pVal);
  2409. void __RPC_STUB IAttribute_get_Name_Stub(
  2410. IRpcStubBuffer *This,
  2411. IRpcChannelBuffer *_pRpcChannelBuffer,
  2412. PRPC_MESSAGE _pRpcMessage,
  2413. DWORD *_pdwStubPhase);
  2414. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IAttribute_put_Name_Proxy(
  2415. IAttribute * This,
  2416. /* [in] */ CAPICOM_ATTRIBUTE newVal);
  2417. void __RPC_STUB IAttribute_put_Name_Stub(
  2418. IRpcStubBuffer *This,
  2419. IRpcChannelBuffer *_pRpcChannelBuffer,
  2420. PRPC_MESSAGE _pRpcMessage,
  2421. DWORD *_pdwStubPhase);
  2422. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IAttribute_get_Value_Proxy(
  2423. IAttribute * This,
  2424. /* [retval][out] */ VARIANT *pVal);
  2425. void __RPC_STUB IAttribute_get_Value_Stub(
  2426. IRpcStubBuffer *This,
  2427. IRpcChannelBuffer *_pRpcChannelBuffer,
  2428. PRPC_MESSAGE _pRpcMessage,
  2429. DWORD *_pdwStubPhase);
  2430. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IAttribute_put_Value_Proxy(
  2431. IAttribute * This,
  2432. /* [in] */ VARIANT newVal);
  2433. void __RPC_STUB IAttribute_put_Value_Stub(
  2434. IRpcStubBuffer *This,
  2435. IRpcChannelBuffer *_pRpcChannelBuffer,
  2436. PRPC_MESSAGE _pRpcMessage,
  2437. DWORD *_pdwStubPhase);
  2438. #endif /* __IAttribute_INTERFACE_DEFINED__ */
  2439. #ifndef __IAttributes_INTERFACE_DEFINED__
  2440. #define __IAttributes_INTERFACE_DEFINED__
  2441. /* interface IAttributes */
  2442. /* [unique][helpstring][dual][uuid][object] */
  2443. EXTERN_C const IID IID_IAttributes;
  2444. #if defined(__cplusplus) && !defined(CINTERFACE)
  2445. MIDL_INTERFACE("6ADC653E-D5B9-422A-991A-A2B0119CEDAC")
  2446. IAttributes : public IDispatch
  2447. {
  2448. public:
  2449. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item(
  2450. /* [in] */ long Index,
  2451. /* [retval][out] */ VARIANT *pVal) = 0;
  2452. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
  2453. /* [retval][out] */ long *pVal) = 0;
  2454. virtual /* [restricted][helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
  2455. /* [retval][out] */ LPUNKNOWN *pVal) = 0;
  2456. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Add(
  2457. /* [in] */ IAttribute *pVal) = 0;
  2458. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Remove(
  2459. /* [in] */ long Val) = 0;
  2460. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
  2461. };
  2462. #else /* C style interface */
  2463. typedef struct IAttributesVtbl
  2464. {
  2465. BEGIN_INTERFACE
  2466. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2467. IAttributes * This,
  2468. /* [in] */ REFIID riid,
  2469. /* [iid_is][out] */ void **ppvObject);
  2470. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2471. IAttributes * This);
  2472. ULONG ( STDMETHODCALLTYPE *Release )(
  2473. IAttributes * This);
  2474. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  2475. IAttributes * This,
  2476. /* [out] */ UINT *pctinfo);
  2477. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  2478. IAttributes * This,
  2479. /* [in] */ UINT iTInfo,
  2480. /* [in] */ LCID lcid,
  2481. /* [out] */ ITypeInfo **ppTInfo);
  2482. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  2483. IAttributes * This,
  2484. /* [in] */ REFIID riid,
  2485. /* [size_is][in] */ LPOLESTR *rgszNames,
  2486. /* [in] */ UINT cNames,
  2487. /* [in] */ LCID lcid,
  2488. /* [size_is][out] */ DISPID *rgDispId);
  2489. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  2490. IAttributes * This,
  2491. /* [in] */ DISPID dispIdMember,
  2492. /* [in] */ REFIID riid,
  2493. /* [in] */ LCID lcid,
  2494. /* [in] */ WORD wFlags,
  2495. /* [out][in] */ DISPPARAMS *pDispParams,
  2496. /* [out] */ VARIANT *pVarResult,
  2497. /* [out] */ EXCEPINFO *pExcepInfo,
  2498. /* [out] */ UINT *puArgErr);
  2499. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )(
  2500. IAttributes * This,
  2501. /* [in] */ long Index,
  2502. /* [retval][out] */ VARIANT *pVal);
  2503. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
  2504. IAttributes * This,
  2505. /* [retval][out] */ long *pVal);
  2506. /* [restricted][helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
  2507. IAttributes * This,
  2508. /* [retval][out] */ LPUNKNOWN *pVal);
  2509. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Add )(
  2510. IAttributes * This,
  2511. /* [in] */ IAttribute *pVal);
  2512. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Remove )(
  2513. IAttributes * This,
  2514. /* [in] */ long Val);
  2515. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Clear )(
  2516. IAttributes * This);
  2517. END_INTERFACE
  2518. } IAttributesVtbl;
  2519. interface IAttributes
  2520. {
  2521. CONST_VTBL struct IAttributesVtbl *lpVtbl;
  2522. };
  2523. #ifdef COBJMACROS
  2524. #define IAttributes_QueryInterface(This,riid,ppvObject) \
  2525. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2526. #define IAttributes_AddRef(This) \
  2527. (This)->lpVtbl -> AddRef(This)
  2528. #define IAttributes_Release(This) \
  2529. (This)->lpVtbl -> Release(This)
  2530. #define IAttributes_GetTypeInfoCount(This,pctinfo) \
  2531. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2532. #define IAttributes_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  2533. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2534. #define IAttributes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  2535. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2536. #define IAttributes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  2537. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2538. #define IAttributes_get_Item(This,Index,pVal) \
  2539. (This)->lpVtbl -> get_Item(This,Index,pVal)
  2540. #define IAttributes_get_Count(This,pVal) \
  2541. (This)->lpVtbl -> get_Count(This,pVal)
  2542. #define IAttributes_get__NewEnum(This,pVal) \
  2543. (This)->lpVtbl -> get__NewEnum(This,pVal)
  2544. #define IAttributes_Add(This,pVal) \
  2545. (This)->lpVtbl -> Add(This,pVal)
  2546. #define IAttributes_Remove(This,Val) \
  2547. (This)->lpVtbl -> Remove(This,Val)
  2548. #define IAttributes_Clear(This) \
  2549. (This)->lpVtbl -> Clear(This)
  2550. #endif /* COBJMACROS */
  2551. #endif /* C style interface */
  2552. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IAttributes_get_Item_Proxy(
  2553. IAttributes * This,
  2554. /* [in] */ long Index,
  2555. /* [retval][out] */ VARIANT *pVal);
  2556. void __RPC_STUB IAttributes_get_Item_Stub(
  2557. IRpcStubBuffer *This,
  2558. IRpcChannelBuffer *_pRpcChannelBuffer,
  2559. PRPC_MESSAGE _pRpcMessage,
  2560. DWORD *_pdwStubPhase);
  2561. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IAttributes_get_Count_Proxy(
  2562. IAttributes * This,
  2563. /* [retval][out] */ long *pVal);
  2564. void __RPC_STUB IAttributes_get_Count_Stub(
  2565. IRpcStubBuffer *This,
  2566. IRpcChannelBuffer *_pRpcChannelBuffer,
  2567. PRPC_MESSAGE _pRpcMessage,
  2568. DWORD *_pdwStubPhase);
  2569. /* [restricted][helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IAttributes_get__NewEnum_Proxy(
  2570. IAttributes * This,
  2571. /* [retval][out] */ LPUNKNOWN *pVal);
  2572. void __RPC_STUB IAttributes_get__NewEnum_Stub(
  2573. IRpcStubBuffer *This,
  2574. IRpcChannelBuffer *_pRpcChannelBuffer,
  2575. PRPC_MESSAGE _pRpcMessage,
  2576. DWORD *_pdwStubPhase);
  2577. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IAttributes_Add_Proxy(
  2578. IAttributes * This,
  2579. /* [in] */ IAttribute *pVal);
  2580. void __RPC_STUB IAttributes_Add_Stub(
  2581. IRpcStubBuffer *This,
  2582. IRpcChannelBuffer *_pRpcChannelBuffer,
  2583. PRPC_MESSAGE _pRpcMessage,
  2584. DWORD *_pdwStubPhase);
  2585. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IAttributes_Remove_Proxy(
  2586. IAttributes * This,
  2587. /* [in] */ long Val);
  2588. void __RPC_STUB IAttributes_Remove_Stub(
  2589. IRpcStubBuffer *This,
  2590. IRpcChannelBuffer *_pRpcChannelBuffer,
  2591. PRPC_MESSAGE _pRpcMessage,
  2592. DWORD *_pdwStubPhase);
  2593. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IAttributes_Clear_Proxy(
  2594. IAttributes * This);
  2595. void __RPC_STUB IAttributes_Clear_Stub(
  2596. IRpcStubBuffer *This,
  2597. IRpcChannelBuffer *_pRpcChannelBuffer,
  2598. PRPC_MESSAGE _pRpcMessage,
  2599. DWORD *_pdwStubPhase);
  2600. #endif /* __IAttributes_INTERFACE_DEFINED__ */
  2601. #ifndef __ISigner_INTERFACE_DEFINED__
  2602. #define __ISigner_INTERFACE_DEFINED__
  2603. /* interface ISigner */
  2604. /* [unique][helpstring][dual][uuid][object] */
  2605. EXTERN_C const IID IID_ISigner;
  2606. #if defined(__cplusplus) && !defined(CINTERFACE)
  2607. MIDL_INTERFACE("51017B88-1913-49AD-82BE-6BB7C417DCF2")
  2608. ISigner : public IDispatch
  2609. {
  2610. public:
  2611. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Certificate(
  2612. /* [retval][out] */ ICertificate **pVal) = 0;
  2613. virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Certificate(
  2614. /* [in] */ ICertificate *newVal) = 0;
  2615. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AuthenticatedAttributes(
  2616. /* [retval][out] */ IAttributes **pVal) = 0;
  2617. };
  2618. #else /* C style interface */
  2619. typedef struct ISignerVtbl
  2620. {
  2621. BEGIN_INTERFACE
  2622. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2623. ISigner * This,
  2624. /* [in] */ REFIID riid,
  2625. /* [iid_is][out] */ void **ppvObject);
  2626. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2627. ISigner * This);
  2628. ULONG ( STDMETHODCALLTYPE *Release )(
  2629. ISigner * This);
  2630. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  2631. ISigner * This,
  2632. /* [out] */ UINT *pctinfo);
  2633. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  2634. ISigner * This,
  2635. /* [in] */ UINT iTInfo,
  2636. /* [in] */ LCID lcid,
  2637. /* [out] */ ITypeInfo **ppTInfo);
  2638. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  2639. ISigner * This,
  2640. /* [in] */ REFIID riid,
  2641. /* [size_is][in] */ LPOLESTR *rgszNames,
  2642. /* [in] */ UINT cNames,
  2643. /* [in] */ LCID lcid,
  2644. /* [size_is][out] */ DISPID *rgDispId);
  2645. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  2646. ISigner * This,
  2647. /* [in] */ DISPID dispIdMember,
  2648. /* [in] */ REFIID riid,
  2649. /* [in] */ LCID lcid,
  2650. /* [in] */ WORD wFlags,
  2651. /* [out][in] */ DISPPARAMS *pDispParams,
  2652. /* [out] */ VARIANT *pVarResult,
  2653. /* [out] */ EXCEPINFO *pExcepInfo,
  2654. /* [out] */ UINT *puArgErr);
  2655. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Certificate )(
  2656. ISigner * This,
  2657. /* [retval][out] */ ICertificate **pVal);
  2658. /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Certificate )(
  2659. ISigner * This,
  2660. /* [in] */ ICertificate *newVal);
  2661. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AuthenticatedAttributes )(
  2662. ISigner * This,
  2663. /* [retval][out] */ IAttributes **pVal);
  2664. END_INTERFACE
  2665. } ISignerVtbl;
  2666. interface ISigner
  2667. {
  2668. CONST_VTBL struct ISignerVtbl *lpVtbl;
  2669. };
  2670. #ifdef COBJMACROS
  2671. #define ISigner_QueryInterface(This,riid,ppvObject) \
  2672. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2673. #define ISigner_AddRef(This) \
  2674. (This)->lpVtbl -> AddRef(This)
  2675. #define ISigner_Release(This) \
  2676. (This)->lpVtbl -> Release(This)
  2677. #define ISigner_GetTypeInfoCount(This,pctinfo) \
  2678. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2679. #define ISigner_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  2680. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2681. #define ISigner_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  2682. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2683. #define ISigner_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  2684. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2685. #define ISigner_get_Certificate(This,pVal) \
  2686. (This)->lpVtbl -> get_Certificate(This,pVal)
  2687. #define ISigner_put_Certificate(This,newVal) \
  2688. (This)->lpVtbl -> put_Certificate(This,newVal)
  2689. #define ISigner_get_AuthenticatedAttributes(This,pVal) \
  2690. (This)->lpVtbl -> get_AuthenticatedAttributes(This,pVal)
  2691. #endif /* COBJMACROS */
  2692. #endif /* C style interface */
  2693. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISigner_get_Certificate_Proxy(
  2694. ISigner * This,
  2695. /* [retval][out] */ ICertificate **pVal);
  2696. void __RPC_STUB ISigner_get_Certificate_Stub(
  2697. IRpcStubBuffer *This,
  2698. IRpcChannelBuffer *_pRpcChannelBuffer,
  2699. PRPC_MESSAGE _pRpcMessage,
  2700. DWORD *_pdwStubPhase);
  2701. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ISigner_put_Certificate_Proxy(
  2702. ISigner * This,
  2703. /* [in] */ ICertificate *newVal);
  2704. void __RPC_STUB ISigner_put_Certificate_Stub(
  2705. IRpcStubBuffer *This,
  2706. IRpcChannelBuffer *_pRpcChannelBuffer,
  2707. PRPC_MESSAGE _pRpcMessage,
  2708. DWORD *_pdwStubPhase);
  2709. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISigner_get_AuthenticatedAttributes_Proxy(
  2710. ISigner * This,
  2711. /* [retval][out] */ IAttributes **pVal);
  2712. void __RPC_STUB ISigner_get_AuthenticatedAttributes_Stub(
  2713. IRpcStubBuffer *This,
  2714. IRpcChannelBuffer *_pRpcChannelBuffer,
  2715. PRPC_MESSAGE _pRpcMessage,
  2716. DWORD *_pdwStubPhase);
  2717. #endif /* __ISigner_INTERFACE_DEFINED__ */
  2718. #ifndef __ISigners_INTERFACE_DEFINED__
  2719. #define __ISigners_INTERFACE_DEFINED__
  2720. /* interface ISigners */
  2721. /* [unique][helpstring][dual][uuid][object] */
  2722. EXTERN_C const IID IID_ISigners;
  2723. #if defined(__cplusplus) && !defined(CINTERFACE)
  2724. MIDL_INTERFACE("5A0780F8-9E6B-4BB0-BF54-87CD9627A8B4")
  2725. ISigners : public IDispatch
  2726. {
  2727. public:
  2728. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item(
  2729. /* [in] */ long Index,
  2730. /* [retval][out] */ VARIANT *pVal) = 0;
  2731. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
  2732. /* [retval][out] */ long *pVal) = 0;
  2733. virtual /* [restricted][helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
  2734. /* [retval][out] */ LPUNKNOWN *pVal) = 0;
  2735. };
  2736. #else /* C style interface */
  2737. typedef struct ISignersVtbl
  2738. {
  2739. BEGIN_INTERFACE
  2740. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2741. ISigners * This,
  2742. /* [in] */ REFIID riid,
  2743. /* [iid_is][out] */ void **ppvObject);
  2744. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2745. ISigners * This);
  2746. ULONG ( STDMETHODCALLTYPE *Release )(
  2747. ISigners * This);
  2748. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  2749. ISigners * This,
  2750. /* [out] */ UINT *pctinfo);
  2751. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  2752. ISigners * This,
  2753. /* [in] */ UINT iTInfo,
  2754. /* [in] */ LCID lcid,
  2755. /* [out] */ ITypeInfo **ppTInfo);
  2756. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  2757. ISigners * This,
  2758. /* [in] */ REFIID riid,
  2759. /* [size_is][in] */ LPOLESTR *rgszNames,
  2760. /* [in] */ UINT cNames,
  2761. /* [in] */ LCID lcid,
  2762. /* [size_is][out] */ DISPID *rgDispId);
  2763. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  2764. ISigners * This,
  2765. /* [in] */ DISPID dispIdMember,
  2766. /* [in] */ REFIID riid,
  2767. /* [in] */ LCID lcid,
  2768. /* [in] */ WORD wFlags,
  2769. /* [out][in] */ DISPPARAMS *pDispParams,
  2770. /* [out] */ VARIANT *pVarResult,
  2771. /* [out] */ EXCEPINFO *pExcepInfo,
  2772. /* [out] */ UINT *puArgErr);
  2773. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )(
  2774. ISigners * This,
  2775. /* [in] */ long Index,
  2776. /* [retval][out] */ VARIANT *pVal);
  2777. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
  2778. ISigners * This,
  2779. /* [retval][out] */ long *pVal);
  2780. /* [restricted][helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
  2781. ISigners * This,
  2782. /* [retval][out] */ LPUNKNOWN *pVal);
  2783. END_INTERFACE
  2784. } ISignersVtbl;
  2785. interface ISigners
  2786. {
  2787. CONST_VTBL struct ISignersVtbl *lpVtbl;
  2788. };
  2789. #ifdef COBJMACROS
  2790. #define ISigners_QueryInterface(This,riid,ppvObject) \
  2791. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2792. #define ISigners_AddRef(This) \
  2793. (This)->lpVtbl -> AddRef(This)
  2794. #define ISigners_Release(This) \
  2795. (This)->lpVtbl -> Release(This)
  2796. #define ISigners_GetTypeInfoCount(This,pctinfo) \
  2797. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2798. #define ISigners_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  2799. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2800. #define ISigners_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  2801. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2802. #define ISigners_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  2803. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2804. #define ISigners_get_Item(This,Index,pVal) \
  2805. (This)->lpVtbl -> get_Item(This,Index,pVal)
  2806. #define ISigners_get_Count(This,pVal) \
  2807. (This)->lpVtbl -> get_Count(This,pVal)
  2808. #define ISigners_get__NewEnum(This,pVal) \
  2809. (This)->lpVtbl -> get__NewEnum(This,pVal)
  2810. #endif /* COBJMACROS */
  2811. #endif /* C style interface */
  2812. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISigners_get_Item_Proxy(
  2813. ISigners * This,
  2814. /* [in] */ long Index,
  2815. /* [retval][out] */ VARIANT *pVal);
  2816. void __RPC_STUB ISigners_get_Item_Stub(
  2817. IRpcStubBuffer *This,
  2818. IRpcChannelBuffer *_pRpcChannelBuffer,
  2819. PRPC_MESSAGE _pRpcMessage,
  2820. DWORD *_pdwStubPhase);
  2821. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISigners_get_Count_Proxy(
  2822. ISigners * This,
  2823. /* [retval][out] */ long *pVal);
  2824. void __RPC_STUB ISigners_get_Count_Stub(
  2825. IRpcStubBuffer *This,
  2826. IRpcChannelBuffer *_pRpcChannelBuffer,
  2827. PRPC_MESSAGE _pRpcMessage,
  2828. DWORD *_pdwStubPhase);
  2829. /* [restricted][helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISigners_get__NewEnum_Proxy(
  2830. ISigners * This,
  2831. /* [retval][out] */ LPUNKNOWN *pVal);
  2832. void __RPC_STUB ISigners_get__NewEnum_Stub(
  2833. IRpcStubBuffer *This,
  2834. IRpcChannelBuffer *_pRpcChannelBuffer,
  2835. PRPC_MESSAGE _pRpcMessage,
  2836. DWORD *_pdwStubPhase);
  2837. #endif /* __ISigners_INTERFACE_DEFINED__ */
  2838. #ifndef __ISignedData_INTERFACE_DEFINED__
  2839. #define __ISignedData_INTERFACE_DEFINED__
  2840. /* interface ISignedData */
  2841. /* [unique][helpstring][dual][uuid][object] */
  2842. EXTERN_C const IID IID_ISignedData;
  2843. #if defined(__cplusplus) && !defined(CINTERFACE)
  2844. MIDL_INTERFACE("AE9C454B-FC65-4C10-B130-CD9B45BA948B")
  2845. ISignedData : public IDispatch
  2846. {
  2847. public:
  2848. virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Content(
  2849. /* [in] */ BSTR newVal) = 0;
  2850. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Content(
  2851. /* [retval][out] */ BSTR *pVal) = 0;
  2852. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Signers(
  2853. /* [retval][out] */ ISigners **pVal) = 0;
  2854. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Certificates(
  2855. /* [retval][out] */ ICertificates **pVal) = 0;
  2856. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Sign(
  2857. /* [defaultvalue][in] */ ISigner *pSigner,
  2858. /* [defaultvalue][in] */ VARIANT_BOOL bDetached,
  2859. /* [defaultvalue][in] */ CAPICOM_ENCODING_TYPE EncodingType,
  2860. /* [retval][out] */ BSTR *pVal) = 0;
  2861. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CoSign(
  2862. /* [defaultvalue][in] */ ISigner *pSigner,
  2863. /* [defaultvalue][in] */ CAPICOM_ENCODING_TYPE EncodingType,
  2864. /* [retval][out] */ BSTR *pVal) = 0;
  2865. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Verify(
  2866. /* [in] */ BSTR SignedMessage,
  2867. /* [defaultvalue][in] */ VARIANT_BOOL bDetached = 0,
  2868. /* [defaultvalue][in] */ CAPICOM_SIGNED_DATA_VERIFY_FLAG VerifyFlag = CAPICOM_VERIFY_SIGNATURE_AND_CERTIFICATE) = 0;
  2869. };
  2870. #else /* C style interface */
  2871. typedef struct ISignedDataVtbl
  2872. {
  2873. BEGIN_INTERFACE
  2874. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2875. ISignedData * This,
  2876. /* [in] */ REFIID riid,
  2877. /* [iid_is][out] */ void **ppvObject);
  2878. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2879. ISignedData * This);
  2880. ULONG ( STDMETHODCALLTYPE *Release )(
  2881. ISignedData * This);
  2882. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  2883. ISignedData * This,
  2884. /* [out] */ UINT *pctinfo);
  2885. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  2886. ISignedData * This,
  2887. /* [in] */ UINT iTInfo,
  2888. /* [in] */ LCID lcid,
  2889. /* [out] */ ITypeInfo **ppTInfo);
  2890. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  2891. ISignedData * This,
  2892. /* [in] */ REFIID riid,
  2893. /* [size_is][in] */ LPOLESTR *rgszNames,
  2894. /* [in] */ UINT cNames,
  2895. /* [in] */ LCID lcid,
  2896. /* [size_is][out] */ DISPID *rgDispId);
  2897. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  2898. ISignedData * This,
  2899. /* [in] */ DISPID dispIdMember,
  2900. /* [in] */ REFIID riid,
  2901. /* [in] */ LCID lcid,
  2902. /* [in] */ WORD wFlags,
  2903. /* [out][in] */ DISPPARAMS *pDispParams,
  2904. /* [out] */ VARIANT *pVarResult,
  2905. /* [out] */ EXCEPINFO *pExcepInfo,
  2906. /* [out] */ UINT *puArgErr);
  2907. /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Content )(
  2908. ISignedData * This,
  2909. /* [in] */ BSTR newVal);
  2910. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Content )(
  2911. ISignedData * This,
  2912. /* [retval][out] */ BSTR *pVal);
  2913. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Signers )(
  2914. ISignedData * This,
  2915. /* [retval][out] */ ISigners **pVal);
  2916. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Certificates )(
  2917. ISignedData * This,
  2918. /* [retval][out] */ ICertificates **pVal);
  2919. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Sign )(
  2920. ISignedData * This,
  2921. /* [defaultvalue][in] */ ISigner *pSigner,
  2922. /* [defaultvalue][in] */ VARIANT_BOOL bDetached,
  2923. /* [defaultvalue][in] */ CAPICOM_ENCODING_TYPE EncodingType,
  2924. /* [retval][out] */ BSTR *pVal);
  2925. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CoSign )(
  2926. ISignedData * This,
  2927. /* [defaultvalue][in] */ ISigner *pSigner,
  2928. /* [defaultvalue][in] */ CAPICOM_ENCODING_TYPE EncodingType,
  2929. /* [retval][out] */ BSTR *pVal);
  2930. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Verify )(
  2931. ISignedData * This,
  2932. /* [in] */ BSTR SignedMessage,
  2933. /* [defaultvalue][in] */ VARIANT_BOOL bDetached,
  2934. /* [defaultvalue][in] */ CAPICOM_SIGNED_DATA_VERIFY_FLAG VerifyFlag);
  2935. END_INTERFACE
  2936. } ISignedDataVtbl;
  2937. interface ISignedData
  2938. {
  2939. CONST_VTBL struct ISignedDataVtbl *lpVtbl;
  2940. };
  2941. #ifdef COBJMACROS
  2942. #define ISignedData_QueryInterface(This,riid,ppvObject) \
  2943. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2944. #define ISignedData_AddRef(This) \
  2945. (This)->lpVtbl -> AddRef(This)
  2946. #define ISignedData_Release(This) \
  2947. (This)->lpVtbl -> Release(This)
  2948. #define ISignedData_GetTypeInfoCount(This,pctinfo) \
  2949. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2950. #define ISignedData_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  2951. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2952. #define ISignedData_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  2953. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2954. #define ISignedData_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  2955. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2956. #define ISignedData_put_Content(This,newVal) \
  2957. (This)->lpVtbl -> put_Content(This,newVal)
  2958. #define ISignedData_get_Content(This,pVal) \
  2959. (This)->lpVtbl -> get_Content(This,pVal)
  2960. #define ISignedData_get_Signers(This,pVal) \
  2961. (This)->lpVtbl -> get_Signers(This,pVal)
  2962. #define ISignedData_get_Certificates(This,pVal) \
  2963. (This)->lpVtbl -> get_Certificates(This,pVal)
  2964. #define ISignedData_Sign(This,pSigner,bDetached,EncodingType,pVal) \
  2965. (This)->lpVtbl -> Sign(This,pSigner,bDetached,EncodingType,pVal)
  2966. #define ISignedData_CoSign(This,pSigner,EncodingType,pVal) \
  2967. (This)->lpVtbl -> CoSign(This,pSigner,EncodingType,pVal)
  2968. #define ISignedData_Verify(This,SignedMessage,bDetached,VerifyFlag) \
  2969. (This)->lpVtbl -> Verify(This,SignedMessage,bDetached,VerifyFlag)
  2970. #endif /* COBJMACROS */
  2971. #endif /* C style interface */
  2972. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ISignedData_put_Content_Proxy(
  2973. ISignedData * This,
  2974. /* [in] */ BSTR newVal);
  2975. void __RPC_STUB ISignedData_put_Content_Stub(
  2976. IRpcStubBuffer *This,
  2977. IRpcChannelBuffer *_pRpcChannelBuffer,
  2978. PRPC_MESSAGE _pRpcMessage,
  2979. DWORD *_pdwStubPhase);
  2980. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISignedData_get_Content_Proxy(
  2981. ISignedData * This,
  2982. /* [retval][out] */ BSTR *pVal);
  2983. void __RPC_STUB ISignedData_get_Content_Stub(
  2984. IRpcStubBuffer *This,
  2985. IRpcChannelBuffer *_pRpcChannelBuffer,
  2986. PRPC_MESSAGE _pRpcMessage,
  2987. DWORD *_pdwStubPhase);
  2988. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISignedData_get_Signers_Proxy(
  2989. ISignedData * This,
  2990. /* [retval][out] */ ISigners **pVal);
  2991. void __RPC_STUB ISignedData_get_Signers_Stub(
  2992. IRpcStubBuffer *This,
  2993. IRpcChannelBuffer *_pRpcChannelBuffer,
  2994. PRPC_MESSAGE _pRpcMessage,
  2995. DWORD *_pdwStubPhase);
  2996. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISignedData_get_Certificates_Proxy(
  2997. ISignedData * This,
  2998. /* [retval][out] */ ICertificates **pVal);
  2999. void __RPC_STUB ISignedData_get_Certificates_Stub(
  3000. IRpcStubBuffer *This,
  3001. IRpcChannelBuffer *_pRpcChannelBuffer,
  3002. PRPC_MESSAGE _pRpcMessage,
  3003. DWORD *_pdwStubPhase);
  3004. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISignedData_Sign_Proxy(
  3005. ISignedData * This,
  3006. /* [defaultvalue][in] */ ISigner *pSigner,
  3007. /* [defaultvalue][in] */ VARIANT_BOOL bDetached,
  3008. /* [defaultvalue][in] */ CAPICOM_ENCODING_TYPE EncodingType,
  3009. /* [retval][out] */ BSTR *pVal);
  3010. void __RPC_STUB ISignedData_Sign_Stub(
  3011. IRpcStubBuffer *This,
  3012. IRpcChannelBuffer *_pRpcChannelBuffer,
  3013. PRPC_MESSAGE _pRpcMessage,
  3014. DWORD *_pdwStubPhase);
  3015. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISignedData_CoSign_Proxy(
  3016. ISignedData * This,
  3017. /* [defaultvalue][in] */ ISigner *pSigner,
  3018. /* [defaultvalue][in] */ CAPICOM_ENCODING_TYPE EncodingType,
  3019. /* [retval][out] */ BSTR *pVal);
  3020. void __RPC_STUB ISignedData_CoSign_Stub(
  3021. IRpcStubBuffer *This,
  3022. IRpcChannelBuffer *_pRpcChannelBuffer,
  3023. PRPC_MESSAGE _pRpcMessage,
  3024. DWORD *_pdwStubPhase);
  3025. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISignedData_Verify_Proxy(
  3026. ISignedData * This,
  3027. /* [in] */ BSTR SignedMessage,
  3028. /* [defaultvalue][in] */ VARIANT_BOOL bDetached,
  3029. /* [defaultvalue][in] */ CAPICOM_SIGNED_DATA_VERIFY_FLAG VerifyFlag);
  3030. void __RPC_STUB ISignedData_Verify_Stub(
  3031. IRpcStubBuffer *This,
  3032. IRpcChannelBuffer *_pRpcChannelBuffer,
  3033. PRPC_MESSAGE _pRpcMessage,
  3034. DWORD *_pdwStubPhase);
  3035. #endif /* __ISignedData_INTERFACE_DEFINED__ */
  3036. #ifndef __IAlgorithm_INTERFACE_DEFINED__
  3037. #define __IAlgorithm_INTERFACE_DEFINED__
  3038. /* interface IAlgorithm */
  3039. /* [unique][helpstring][dual][uuid][object] */
  3040. EXTERN_C const IID IID_IAlgorithm;
  3041. #if defined(__cplusplus) && !defined(CINTERFACE)
  3042. MIDL_INTERFACE("BF3D04A9-B0DA-4153-B45E-6CCFA5AC715B")
  3043. IAlgorithm : public IDispatch
  3044. {
  3045. public:
  3046. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name(
  3047. /* [retval][out] */ CAPICOM_ENCRYPTION_ALGORITHM *pVal) = 0;
  3048. virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name(
  3049. /* [in] */ CAPICOM_ENCRYPTION_ALGORITHM newVal) = 0;
  3050. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_KeyLength(
  3051. /* [retval][out] */ CAPICOM_ENCRYPTION_KEY_LENGTH *pVal) = 0;
  3052. virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_KeyLength(
  3053. /* [in] */ CAPICOM_ENCRYPTION_KEY_LENGTH newVal) = 0;
  3054. };
  3055. #else /* C style interface */
  3056. typedef struct IAlgorithmVtbl
  3057. {
  3058. BEGIN_INTERFACE
  3059. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3060. IAlgorithm * This,
  3061. /* [in] */ REFIID riid,
  3062. /* [iid_is][out] */ void **ppvObject);
  3063. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3064. IAlgorithm * This);
  3065. ULONG ( STDMETHODCALLTYPE *Release )(
  3066. IAlgorithm * This);
  3067. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  3068. IAlgorithm * This,
  3069. /* [out] */ UINT *pctinfo);
  3070. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  3071. IAlgorithm * This,
  3072. /* [in] */ UINT iTInfo,
  3073. /* [in] */ LCID lcid,
  3074. /* [out] */ ITypeInfo **ppTInfo);
  3075. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  3076. IAlgorithm * This,
  3077. /* [in] */ REFIID riid,
  3078. /* [size_is][in] */ LPOLESTR *rgszNames,
  3079. /* [in] */ UINT cNames,
  3080. /* [in] */ LCID lcid,
  3081. /* [size_is][out] */ DISPID *rgDispId);
  3082. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  3083. IAlgorithm * This,
  3084. /* [in] */ DISPID dispIdMember,
  3085. /* [in] */ REFIID riid,
  3086. /* [in] */ LCID lcid,
  3087. /* [in] */ WORD wFlags,
  3088. /* [out][in] */ DISPPARAMS *pDispParams,
  3089. /* [out] */ VARIANT *pVarResult,
  3090. /* [out] */ EXCEPINFO *pExcepInfo,
  3091. /* [out] */ UINT *puArgErr);
  3092. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )(
  3093. IAlgorithm * This,
  3094. /* [retval][out] */ CAPICOM_ENCRYPTION_ALGORITHM *pVal);
  3095. /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )(
  3096. IAlgorithm * This,
  3097. /* [in] */ CAPICOM_ENCRYPTION_ALGORITHM newVal);
  3098. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeyLength )(
  3099. IAlgorithm * This,
  3100. /* [retval][out] */ CAPICOM_ENCRYPTION_KEY_LENGTH *pVal);
  3101. /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_KeyLength )(
  3102. IAlgorithm * This,
  3103. /* [in] */ CAPICOM_ENCRYPTION_KEY_LENGTH newVal);
  3104. END_INTERFACE
  3105. } IAlgorithmVtbl;
  3106. interface IAlgorithm
  3107. {
  3108. CONST_VTBL struct IAlgorithmVtbl *lpVtbl;
  3109. };
  3110. #ifdef COBJMACROS
  3111. #define IAlgorithm_QueryInterface(This,riid,ppvObject) \
  3112. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3113. #define IAlgorithm_AddRef(This) \
  3114. (This)->lpVtbl -> AddRef(This)
  3115. #define IAlgorithm_Release(This) \
  3116. (This)->lpVtbl -> Release(This)
  3117. #define IAlgorithm_GetTypeInfoCount(This,pctinfo) \
  3118. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  3119. #define IAlgorithm_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  3120. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3121. #define IAlgorithm_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  3122. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3123. #define IAlgorithm_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  3124. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3125. #define IAlgorithm_get_Name(This,pVal) \
  3126. (This)->lpVtbl -> get_Name(This,pVal)
  3127. #define IAlgorithm_put_Name(This,newVal) \
  3128. (This)->lpVtbl -> put_Name(This,newVal)
  3129. #define IAlgorithm_get_KeyLength(This,pVal) \
  3130. (This)->lpVtbl -> get_KeyLength(This,pVal)
  3131. #define IAlgorithm_put_KeyLength(This,newVal) \
  3132. (This)->lpVtbl -> put_KeyLength(This,newVal)
  3133. #endif /* COBJMACROS */
  3134. #endif /* C style interface */
  3135. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IAlgorithm_get_Name_Proxy(
  3136. IAlgorithm * This,
  3137. /* [retval][out] */ CAPICOM_ENCRYPTION_ALGORITHM *pVal);
  3138. void __RPC_STUB IAlgorithm_get_Name_Stub(
  3139. IRpcStubBuffer *This,
  3140. IRpcChannelBuffer *_pRpcChannelBuffer,
  3141. PRPC_MESSAGE _pRpcMessage,
  3142. DWORD *_pdwStubPhase);
  3143. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IAlgorithm_put_Name_Proxy(
  3144. IAlgorithm * This,
  3145. /* [in] */ CAPICOM_ENCRYPTION_ALGORITHM newVal);
  3146. void __RPC_STUB IAlgorithm_put_Name_Stub(
  3147. IRpcStubBuffer *This,
  3148. IRpcChannelBuffer *_pRpcChannelBuffer,
  3149. PRPC_MESSAGE _pRpcMessage,
  3150. DWORD *_pdwStubPhase);
  3151. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IAlgorithm_get_KeyLength_Proxy(
  3152. IAlgorithm * This,
  3153. /* [retval][out] */ CAPICOM_ENCRYPTION_KEY_LENGTH *pVal);
  3154. void __RPC_STUB IAlgorithm_get_KeyLength_Stub(
  3155. IRpcStubBuffer *This,
  3156. IRpcChannelBuffer *_pRpcChannelBuffer,
  3157. PRPC_MESSAGE _pRpcMessage,
  3158. DWORD *_pdwStubPhase);
  3159. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IAlgorithm_put_KeyLength_Proxy(
  3160. IAlgorithm * This,
  3161. /* [in] */ CAPICOM_ENCRYPTION_KEY_LENGTH newVal);
  3162. void __RPC_STUB IAlgorithm_put_KeyLength_Stub(
  3163. IRpcStubBuffer *This,
  3164. IRpcChannelBuffer *_pRpcChannelBuffer,
  3165. PRPC_MESSAGE _pRpcMessage,
  3166. DWORD *_pdwStubPhase);
  3167. #endif /* __IAlgorithm_INTERFACE_DEFINED__ */
  3168. #ifndef __IRecipients_INTERFACE_DEFINED__
  3169. #define __IRecipients_INTERFACE_DEFINED__
  3170. /* interface IRecipients */
  3171. /* [unique][helpstring][dual][uuid][object] */
  3172. EXTERN_C const IID IID_IRecipients;
  3173. #if defined(__cplusplus) && !defined(CINTERFACE)
  3174. MIDL_INTERFACE("A694C896-FC38-4C34-AE61-3B1A95984C14")
  3175. IRecipients : public IDispatch
  3176. {
  3177. public:
  3178. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item(
  3179. /* [in] */ long Index,
  3180. /* [retval][out] */ VARIANT *pVal) = 0;
  3181. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
  3182. /* [retval][out] */ long *pVal) = 0;
  3183. virtual /* [restricted][helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
  3184. /* [retval][out] */ LPUNKNOWN *pVal) = 0;
  3185. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Add(
  3186. /* [in] */ ICertificate *pVal) = 0;
  3187. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Remove(
  3188. /* [in] */ long Val) = 0;
  3189. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
  3190. };
  3191. #else /* C style interface */
  3192. typedef struct IRecipientsVtbl
  3193. {
  3194. BEGIN_INTERFACE
  3195. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3196. IRecipients * This,
  3197. /* [in] */ REFIID riid,
  3198. /* [iid_is][out] */ void **ppvObject);
  3199. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3200. IRecipients * This);
  3201. ULONG ( STDMETHODCALLTYPE *Release )(
  3202. IRecipients * This);
  3203. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  3204. IRecipients * This,
  3205. /* [out] */ UINT *pctinfo);
  3206. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  3207. IRecipients * This,
  3208. /* [in] */ UINT iTInfo,
  3209. /* [in] */ LCID lcid,
  3210. /* [out] */ ITypeInfo **ppTInfo);
  3211. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  3212. IRecipients * This,
  3213. /* [in] */ REFIID riid,
  3214. /* [size_is][in] */ LPOLESTR *rgszNames,
  3215. /* [in] */ UINT cNames,
  3216. /* [in] */ LCID lcid,
  3217. /* [size_is][out] */ DISPID *rgDispId);
  3218. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  3219. IRecipients * This,
  3220. /* [in] */ DISPID dispIdMember,
  3221. /* [in] */ REFIID riid,
  3222. /* [in] */ LCID lcid,
  3223. /* [in] */ WORD wFlags,
  3224. /* [out][in] */ DISPPARAMS *pDispParams,
  3225. /* [out] */ VARIANT *pVarResult,
  3226. /* [out] */ EXCEPINFO *pExcepInfo,
  3227. /* [out] */ UINT *puArgErr);
  3228. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )(
  3229. IRecipients * This,
  3230. /* [in] */ long Index,
  3231. /* [retval][out] */ VARIANT *pVal);
  3232. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
  3233. IRecipients * This,
  3234. /* [retval][out] */ long *pVal);
  3235. /* [restricted][helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
  3236. IRecipients * This,
  3237. /* [retval][out] */ LPUNKNOWN *pVal);
  3238. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Add )(
  3239. IRecipients * This,
  3240. /* [in] */ ICertificate *pVal);
  3241. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Remove )(
  3242. IRecipients * This,
  3243. /* [in] */ long Val);
  3244. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Clear )(
  3245. IRecipients * This);
  3246. END_INTERFACE
  3247. } IRecipientsVtbl;
  3248. interface IRecipients
  3249. {
  3250. CONST_VTBL struct IRecipientsVtbl *lpVtbl;
  3251. };
  3252. #ifdef COBJMACROS
  3253. #define IRecipients_QueryInterface(This,riid,ppvObject) \
  3254. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3255. #define IRecipients_AddRef(This) \
  3256. (This)->lpVtbl -> AddRef(This)
  3257. #define IRecipients_Release(This) \
  3258. (This)->lpVtbl -> Release(This)
  3259. #define IRecipients_GetTypeInfoCount(This,pctinfo) \
  3260. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  3261. #define IRecipients_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  3262. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3263. #define IRecipients_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  3264. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3265. #define IRecipients_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  3266. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3267. #define IRecipients_get_Item(This,Index,pVal) \
  3268. (This)->lpVtbl -> get_Item(This,Index,pVal)
  3269. #define IRecipients_get_Count(This,pVal) \
  3270. (This)->lpVtbl -> get_Count(This,pVal)
  3271. #define IRecipients_get__NewEnum(This,pVal) \
  3272. (This)->lpVtbl -> get__NewEnum(This,pVal)
  3273. #define IRecipients_Add(This,pVal) \
  3274. (This)->lpVtbl -> Add(This,pVal)
  3275. #define IRecipients_Remove(This,Val) \
  3276. (This)->lpVtbl -> Remove(This,Val)
  3277. #define IRecipients_Clear(This) \
  3278. (This)->lpVtbl -> Clear(This)
  3279. #endif /* COBJMACROS */
  3280. #endif /* C style interface */
  3281. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRecipients_get_Item_Proxy(
  3282. IRecipients * This,
  3283. /* [in] */ long Index,
  3284. /* [retval][out] */ VARIANT *pVal);
  3285. void __RPC_STUB IRecipients_get_Item_Stub(
  3286. IRpcStubBuffer *This,
  3287. IRpcChannelBuffer *_pRpcChannelBuffer,
  3288. PRPC_MESSAGE _pRpcMessage,
  3289. DWORD *_pdwStubPhase);
  3290. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRecipients_get_Count_Proxy(
  3291. IRecipients * This,
  3292. /* [retval][out] */ long *pVal);
  3293. void __RPC_STUB IRecipients_get_Count_Stub(
  3294. IRpcStubBuffer *This,
  3295. IRpcChannelBuffer *_pRpcChannelBuffer,
  3296. PRPC_MESSAGE _pRpcMessage,
  3297. DWORD *_pdwStubPhase);
  3298. /* [restricted][helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRecipients_get__NewEnum_Proxy(
  3299. IRecipients * This,
  3300. /* [retval][out] */ LPUNKNOWN *pVal);
  3301. void __RPC_STUB IRecipients_get__NewEnum_Stub(
  3302. IRpcStubBuffer *This,
  3303. IRpcChannelBuffer *_pRpcChannelBuffer,
  3304. PRPC_MESSAGE _pRpcMessage,
  3305. DWORD *_pdwStubPhase);
  3306. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRecipients_Add_Proxy(
  3307. IRecipients * This,
  3308. /* [in] */ ICertificate *pVal);
  3309. void __RPC_STUB IRecipients_Add_Stub(
  3310. IRpcStubBuffer *This,
  3311. IRpcChannelBuffer *_pRpcChannelBuffer,
  3312. PRPC_MESSAGE _pRpcMessage,
  3313. DWORD *_pdwStubPhase);
  3314. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRecipients_Remove_Proxy(
  3315. IRecipients * This,
  3316. /* [in] */ long Val);
  3317. void __RPC_STUB IRecipients_Remove_Stub(
  3318. IRpcStubBuffer *This,
  3319. IRpcChannelBuffer *_pRpcChannelBuffer,
  3320. PRPC_MESSAGE _pRpcMessage,
  3321. DWORD *_pdwStubPhase);
  3322. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRecipients_Clear_Proxy(
  3323. IRecipients * This);
  3324. void __RPC_STUB IRecipients_Clear_Stub(
  3325. IRpcStubBuffer *This,
  3326. IRpcChannelBuffer *_pRpcChannelBuffer,
  3327. PRPC_MESSAGE _pRpcMessage,
  3328. DWORD *_pdwStubPhase);
  3329. #endif /* __IRecipients_INTERFACE_DEFINED__ */
  3330. #ifndef __IEnvelopedData_INTERFACE_DEFINED__
  3331. #define __IEnvelopedData_INTERFACE_DEFINED__
  3332. /* interface IEnvelopedData */
  3333. /* [unique][helpstring][dual][uuid][object] */
  3334. EXTERN_C const IID IID_IEnvelopedData;
  3335. #if defined(__cplusplus) && !defined(CINTERFACE)
  3336. MIDL_INTERFACE("F6CB6A20-CC18-4424-AE57-6F2AA3DC2059")
  3337. IEnvelopedData : public IDispatch
  3338. {
  3339. public:
  3340. virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Content(
  3341. /* [in] */ BSTR newVal) = 0;
  3342. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Content(
  3343. /* [retval][out] */ BSTR *pVal) = 0;
  3344. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Algorithm(
  3345. /* [retval][out] */ IAlgorithm **pVal) = 0;
  3346. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Recipients(
  3347. /* [retval][out] */ IRecipients **pVal) = 0;
  3348. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Encrypt(
  3349. /* [defaultvalue][in] */ CAPICOM_ENCODING_TYPE EncodingType,
  3350. /* [retval][out] */ BSTR *pVal) = 0;
  3351. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Decrypt(
  3352. /* [in] */ BSTR EnvelopedMessage) = 0;
  3353. };
  3354. #else /* C style interface */
  3355. typedef struct IEnvelopedDataVtbl
  3356. {
  3357. BEGIN_INTERFACE
  3358. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3359. IEnvelopedData * This,
  3360. /* [in] */ REFIID riid,
  3361. /* [iid_is][out] */ void **ppvObject);
  3362. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3363. IEnvelopedData * This);
  3364. ULONG ( STDMETHODCALLTYPE *Release )(
  3365. IEnvelopedData * This);
  3366. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  3367. IEnvelopedData * This,
  3368. /* [out] */ UINT *pctinfo);
  3369. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  3370. IEnvelopedData * This,
  3371. /* [in] */ UINT iTInfo,
  3372. /* [in] */ LCID lcid,
  3373. /* [out] */ ITypeInfo **ppTInfo);
  3374. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  3375. IEnvelopedData * This,
  3376. /* [in] */ REFIID riid,
  3377. /* [size_is][in] */ LPOLESTR *rgszNames,
  3378. /* [in] */ UINT cNames,
  3379. /* [in] */ LCID lcid,
  3380. /* [size_is][out] */ DISPID *rgDispId);
  3381. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  3382. IEnvelopedData * This,
  3383. /* [in] */ DISPID dispIdMember,
  3384. /* [in] */ REFIID riid,
  3385. /* [in] */ LCID lcid,
  3386. /* [in] */ WORD wFlags,
  3387. /* [out][in] */ DISPPARAMS *pDispParams,
  3388. /* [out] */ VARIANT *pVarResult,
  3389. /* [out] */ EXCEPINFO *pExcepInfo,
  3390. /* [out] */ UINT *puArgErr);
  3391. /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Content )(
  3392. IEnvelopedData * This,
  3393. /* [in] */ BSTR newVal);
  3394. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Content )(
  3395. IEnvelopedData * This,
  3396. /* [retval][out] */ BSTR *pVal);
  3397. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Algorithm )(
  3398. IEnvelopedData * This,
  3399. /* [retval][out] */ IAlgorithm **pVal);
  3400. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Recipients )(
  3401. IEnvelopedData * This,
  3402. /* [retval][out] */ IRecipients **pVal);
  3403. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Encrypt )(
  3404. IEnvelopedData * This,
  3405. /* [defaultvalue][in] */ CAPICOM_ENCODING_TYPE EncodingType,
  3406. /* [retval][out] */ BSTR *pVal);
  3407. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Decrypt )(
  3408. IEnvelopedData * This,
  3409. /* [in] */ BSTR EnvelopedMessage);
  3410. END_INTERFACE
  3411. } IEnvelopedDataVtbl;
  3412. interface IEnvelopedData
  3413. {
  3414. CONST_VTBL struct IEnvelopedDataVtbl *lpVtbl;
  3415. };
  3416. #ifdef COBJMACROS
  3417. #define IEnvelopedData_QueryInterface(This,riid,ppvObject) \
  3418. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3419. #define IEnvelopedData_AddRef(This) \
  3420. (This)->lpVtbl -> AddRef(This)
  3421. #define IEnvelopedData_Release(This) \
  3422. (This)->lpVtbl -> Release(This)
  3423. #define IEnvelopedData_GetTypeInfoCount(This,pctinfo) \
  3424. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  3425. #define IEnvelopedData_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  3426. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3427. #define IEnvelopedData_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  3428. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3429. #define IEnvelopedData_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  3430. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3431. #define IEnvelopedData_put_Content(This,newVal) \
  3432. (This)->lpVtbl -> put_Content(This,newVal)
  3433. #define IEnvelopedData_get_Content(This,pVal) \
  3434. (This)->lpVtbl -> get_Content(This,pVal)
  3435. #define IEnvelopedData_get_Algorithm(This,pVal) \
  3436. (This)->lpVtbl -> get_Algorithm(This,pVal)
  3437. #define IEnvelopedData_get_Recipients(This,pVal) \
  3438. (This)->lpVtbl -> get_Recipients(This,pVal)
  3439. #define IEnvelopedData_Encrypt(This,EncodingType,pVal) \
  3440. (This)->lpVtbl -> Encrypt(This,EncodingType,pVal)
  3441. #define IEnvelopedData_Decrypt(This,EnvelopedMessage) \
  3442. (This)->lpVtbl -> Decrypt(This,EnvelopedMessage)
  3443. #endif /* COBJMACROS */
  3444. #endif /* C style interface */
  3445. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IEnvelopedData_put_Content_Proxy(
  3446. IEnvelopedData * This,
  3447. /* [in] */ BSTR newVal);
  3448. void __RPC_STUB IEnvelopedData_put_Content_Stub(
  3449. IRpcStubBuffer *This,
  3450. IRpcChannelBuffer *_pRpcChannelBuffer,
  3451. PRPC_MESSAGE _pRpcMessage,
  3452. DWORD *_pdwStubPhase);
  3453. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IEnvelopedData_get_Content_Proxy(
  3454. IEnvelopedData * This,
  3455. /* [retval][out] */ BSTR *pVal);
  3456. void __RPC_STUB IEnvelopedData_get_Content_Stub(
  3457. IRpcStubBuffer *This,
  3458. IRpcChannelBuffer *_pRpcChannelBuffer,
  3459. PRPC_MESSAGE _pRpcMessage,
  3460. DWORD *_pdwStubPhase);
  3461. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IEnvelopedData_get_Algorithm_Proxy(
  3462. IEnvelopedData * This,
  3463. /* [retval][out] */ IAlgorithm **pVal);
  3464. void __RPC_STUB IEnvelopedData_get_Algorithm_Stub(
  3465. IRpcStubBuffer *This,
  3466. IRpcChannelBuffer *_pRpcChannelBuffer,
  3467. PRPC_MESSAGE _pRpcMessage,
  3468. DWORD *_pdwStubPhase);
  3469. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IEnvelopedData_get_Recipients_Proxy(
  3470. IEnvelopedData * This,
  3471. /* [retval][out] */ IRecipients **pVal);
  3472. void __RPC_STUB IEnvelopedData_get_Recipients_Stub(
  3473. IRpcStubBuffer *This,
  3474. IRpcChannelBuffer *_pRpcChannelBuffer,
  3475. PRPC_MESSAGE _pRpcMessage,
  3476. DWORD *_pdwStubPhase);
  3477. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IEnvelopedData_Encrypt_Proxy(
  3478. IEnvelopedData * This,
  3479. /* [defaultvalue][in] */ CAPICOM_ENCODING_TYPE EncodingType,
  3480. /* [retval][out] */ BSTR *pVal);
  3481. void __RPC_STUB IEnvelopedData_Encrypt_Stub(
  3482. IRpcStubBuffer *This,
  3483. IRpcChannelBuffer *_pRpcChannelBuffer,
  3484. PRPC_MESSAGE _pRpcMessage,
  3485. DWORD *_pdwStubPhase);
  3486. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IEnvelopedData_Decrypt_Proxy(
  3487. IEnvelopedData * This,
  3488. /* [in] */ BSTR EnvelopedMessage);
  3489. void __RPC_STUB IEnvelopedData_Decrypt_Stub(
  3490. IRpcStubBuffer *This,
  3491. IRpcChannelBuffer *_pRpcChannelBuffer,
  3492. PRPC_MESSAGE _pRpcMessage,
  3493. DWORD *_pdwStubPhase);
  3494. #endif /* __IEnvelopedData_INTERFACE_DEFINED__ */
  3495. #ifndef __IEncryptedData_INTERFACE_DEFINED__
  3496. #define __IEncryptedData_INTERFACE_DEFINED__
  3497. /* interface IEncryptedData */
  3498. /* [unique][helpstring][dual][uuid][object] */
  3499. EXTERN_C const IID IID_IEncryptedData;
  3500. #if defined(__cplusplus) && !defined(CINTERFACE)
  3501. MIDL_INTERFACE("C4778A66-972F-42E4-87C5-5CC16F7931CA")
  3502. IEncryptedData : public IDispatch
  3503. {
  3504. public:
  3505. virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Content(
  3506. /* [in] */ BSTR newVal) = 0;
  3507. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Content(
  3508. /* [retval][out] */ BSTR *pVal) = 0;
  3509. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Algorithm(
  3510. /* [retval][out] */ IAlgorithm **pVal) = 0;
  3511. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetSecret(
  3512. /* [in] */ BSTR newVal,
  3513. /* [defaultvalue][in] */ CAPICOM_SECRET_TYPE SecretType = CAPICOM_SECRET_PASSWORD) = 0;
  3514. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Encrypt(
  3515. /* [defaultvalue][in] */ CAPICOM_ENCODING_TYPE EncodingType,
  3516. /* [retval][out] */ BSTR *pVal) = 0;
  3517. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Decrypt(
  3518. /* [in] */ BSTR EncryptedMessage) = 0;
  3519. };
  3520. #else /* C style interface */
  3521. typedef struct IEncryptedDataVtbl
  3522. {
  3523. BEGIN_INTERFACE
  3524. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3525. IEncryptedData * This,
  3526. /* [in] */ REFIID riid,
  3527. /* [iid_is][out] */ void **ppvObject);
  3528. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3529. IEncryptedData * This);
  3530. ULONG ( STDMETHODCALLTYPE *Release )(
  3531. IEncryptedData * This);
  3532. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  3533. IEncryptedData * This,
  3534. /* [out] */ UINT *pctinfo);
  3535. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  3536. IEncryptedData * This,
  3537. /* [in] */ UINT iTInfo,
  3538. /* [in] */ LCID lcid,
  3539. /* [out] */ ITypeInfo **ppTInfo);
  3540. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  3541. IEncryptedData * This,
  3542. /* [in] */ REFIID riid,
  3543. /* [size_is][in] */ LPOLESTR *rgszNames,
  3544. /* [in] */ UINT cNames,
  3545. /* [in] */ LCID lcid,
  3546. /* [size_is][out] */ DISPID *rgDispId);
  3547. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  3548. IEncryptedData * This,
  3549. /* [in] */ DISPID dispIdMember,
  3550. /* [in] */ REFIID riid,
  3551. /* [in] */ LCID lcid,
  3552. /* [in] */ WORD wFlags,
  3553. /* [out][in] */ DISPPARAMS *pDispParams,
  3554. /* [out] */ VARIANT *pVarResult,
  3555. /* [out] */ EXCEPINFO *pExcepInfo,
  3556. /* [out] */ UINT *puArgErr);
  3557. /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Content )(
  3558. IEncryptedData * This,
  3559. /* [in] */ BSTR newVal);
  3560. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Content )(
  3561. IEncryptedData * This,
  3562. /* [retval][out] */ BSTR *pVal);
  3563. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Algorithm )(
  3564. IEncryptedData * This,
  3565. /* [retval][out] */ IAlgorithm **pVal);
  3566. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetSecret )(
  3567. IEncryptedData * This,
  3568. /* [in] */ BSTR newVal,
  3569. /* [defaultvalue][in] */ CAPICOM_SECRET_TYPE SecretType);
  3570. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Encrypt )(
  3571. IEncryptedData * This,
  3572. /* [defaultvalue][in] */ CAPICOM_ENCODING_TYPE EncodingType,
  3573. /* [retval][out] */ BSTR *pVal);
  3574. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Decrypt )(
  3575. IEncryptedData * This,
  3576. /* [in] */ BSTR EncryptedMessage);
  3577. END_INTERFACE
  3578. } IEncryptedDataVtbl;
  3579. interface IEncryptedData
  3580. {
  3581. CONST_VTBL struct IEncryptedDataVtbl *lpVtbl;
  3582. };
  3583. #ifdef COBJMACROS
  3584. #define IEncryptedData_QueryInterface(This,riid,ppvObject) \
  3585. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3586. #define IEncryptedData_AddRef(This) \
  3587. (This)->lpVtbl -> AddRef(This)
  3588. #define IEncryptedData_Release(This) \
  3589. (This)->lpVtbl -> Release(This)
  3590. #define IEncryptedData_GetTypeInfoCount(This,pctinfo) \
  3591. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  3592. #define IEncryptedData_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  3593. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3594. #define IEncryptedData_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  3595. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3596. #define IEncryptedData_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  3597. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3598. #define IEncryptedData_put_Content(This,newVal) \
  3599. (This)->lpVtbl -> put_Content(This,newVal)
  3600. #define IEncryptedData_get_Content(This,pVal) \
  3601. (This)->lpVtbl -> get_Content(This,pVal)
  3602. #define IEncryptedData_get_Algorithm(This,pVal) \
  3603. (This)->lpVtbl -> get_Algorithm(This,pVal)
  3604. #define IEncryptedData_SetSecret(This,newVal,SecretType) \
  3605. (This)->lpVtbl -> SetSecret(This,newVal,SecretType)
  3606. #define IEncryptedData_Encrypt(This,EncodingType,pVal) \
  3607. (This)->lpVtbl -> Encrypt(This,EncodingType,pVal)
  3608. #define IEncryptedData_Decrypt(This,EncryptedMessage) \
  3609. (This)->lpVtbl -> Decrypt(This,EncryptedMessage)
  3610. #endif /* COBJMACROS */
  3611. #endif /* C style interface */
  3612. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IEncryptedData_put_Content_Proxy(
  3613. IEncryptedData * This,
  3614. /* [in] */ BSTR newVal);
  3615. void __RPC_STUB IEncryptedData_put_Content_Stub(
  3616. IRpcStubBuffer *This,
  3617. IRpcChannelBuffer *_pRpcChannelBuffer,
  3618. PRPC_MESSAGE _pRpcMessage,
  3619. DWORD *_pdwStubPhase);
  3620. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IEncryptedData_get_Content_Proxy(
  3621. IEncryptedData * This,
  3622. /* [retval][out] */ BSTR *pVal);
  3623. void __RPC_STUB IEncryptedData_get_Content_Stub(
  3624. IRpcStubBuffer *This,
  3625. IRpcChannelBuffer *_pRpcChannelBuffer,
  3626. PRPC_MESSAGE _pRpcMessage,
  3627. DWORD *_pdwStubPhase);
  3628. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IEncryptedData_get_Algorithm_Proxy(
  3629. IEncryptedData * This,
  3630. /* [retval][out] */ IAlgorithm **pVal);
  3631. void __RPC_STUB IEncryptedData_get_Algorithm_Stub(
  3632. IRpcStubBuffer *This,
  3633. IRpcChannelBuffer *_pRpcChannelBuffer,
  3634. PRPC_MESSAGE _pRpcMessage,
  3635. DWORD *_pdwStubPhase);
  3636. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IEncryptedData_SetSecret_Proxy(
  3637. IEncryptedData * This,
  3638. /* [in] */ BSTR newVal,
  3639. /* [defaultvalue][in] */ CAPICOM_SECRET_TYPE SecretType);
  3640. void __RPC_STUB IEncryptedData_SetSecret_Stub(
  3641. IRpcStubBuffer *This,
  3642. IRpcChannelBuffer *_pRpcChannelBuffer,
  3643. PRPC_MESSAGE _pRpcMessage,
  3644. DWORD *_pdwStubPhase);
  3645. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IEncryptedData_Encrypt_Proxy(
  3646. IEncryptedData * This,
  3647. /* [defaultvalue][in] */ CAPICOM_ENCODING_TYPE EncodingType,
  3648. /* [retval][out] */ BSTR *pVal);
  3649. void __RPC_STUB IEncryptedData_Encrypt_Stub(
  3650. IRpcStubBuffer *This,
  3651. IRpcChannelBuffer *_pRpcChannelBuffer,
  3652. PRPC_MESSAGE _pRpcMessage,
  3653. DWORD *_pdwStubPhase);
  3654. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IEncryptedData_Decrypt_Proxy(
  3655. IEncryptedData * This,
  3656. /* [in] */ BSTR EncryptedMessage);
  3657. void __RPC_STUB IEncryptedData_Decrypt_Stub(
  3658. IRpcStubBuffer *This,
  3659. IRpcChannelBuffer *_pRpcChannelBuffer,
  3660. PRPC_MESSAGE _pRpcMessage,
  3661. DWORD *_pdwStubPhase);
  3662. #endif /* __IEncryptedData_INTERFACE_DEFINED__ */
  3663. #ifndef __ICChain_INTERFACE_DEFINED__
  3664. #define __ICChain_INTERFACE_DEFINED__
  3665. /* interface ICChain */
  3666. /* [unique][helpstring][local][uuid][object] */
  3667. EXTERN_C const IID IID_ICChain;
  3668. #if defined(__cplusplus) && !defined(CINTERFACE)
  3669. MIDL_INTERFACE("02DF22F8-CF55-465d-97A8-9D6F2EF9817C")
  3670. ICChain : public IUnknown
  3671. {
  3672. public:
  3673. virtual HRESULT STDMETHODCALLTYPE GetContext(
  3674. /* [out] */ PCCERT_CHAIN_CONTEXT *ppChainContext) = 0;
  3675. };
  3676. #else /* C style interface */
  3677. typedef struct ICChainVtbl
  3678. {
  3679. BEGIN_INTERFACE
  3680. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3681. ICChain * This,
  3682. /* [in] */ REFIID riid,
  3683. /* [iid_is][out] */ void **ppvObject);
  3684. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3685. ICChain * This);
  3686. ULONG ( STDMETHODCALLTYPE *Release )(
  3687. ICChain * This);
  3688. HRESULT ( STDMETHODCALLTYPE *GetContext )(
  3689. ICChain * This,
  3690. /* [out] */ PCCERT_CHAIN_CONTEXT *ppChainContext);
  3691. END_INTERFACE
  3692. } ICChainVtbl;
  3693. interface ICChain
  3694. {
  3695. CONST_VTBL struct ICChainVtbl *lpVtbl;
  3696. };
  3697. #ifdef COBJMACROS
  3698. #define ICChain_QueryInterface(This,riid,ppvObject) \
  3699. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3700. #define ICChain_AddRef(This) \
  3701. (This)->lpVtbl -> AddRef(This)
  3702. #define ICChain_Release(This) \
  3703. (This)->lpVtbl -> Release(This)
  3704. #define ICChain_GetContext(This,ppChainContext) \
  3705. (This)->lpVtbl -> GetContext(This,ppChainContext)
  3706. #endif /* COBJMACROS */
  3707. #endif /* C style interface */
  3708. HRESULT STDMETHODCALLTYPE ICChain_GetContext_Proxy(
  3709. ICChain * This,
  3710. /* [out] */ PCCERT_CHAIN_CONTEXT *ppChainContext);
  3711. void __RPC_STUB ICChain_GetContext_Stub(
  3712. IRpcStubBuffer *This,
  3713. IRpcChannelBuffer *_pRpcChannelBuffer,
  3714. PRPC_MESSAGE _pRpcMessage,
  3715. DWORD *_pdwStubPhase);
  3716. #endif /* __ICChain_INTERFACE_DEFINED__ */
  3717. #ifndef __ICCertificate_INTERFACE_DEFINED__
  3718. #define __ICCertificate_INTERFACE_DEFINED__
  3719. /* interface ICCertificate */
  3720. /* [unique][helpstring][local][uuid][object] */
  3721. EXTERN_C const IID IID_ICCertificate;
  3722. #if defined(__cplusplus) && !defined(CINTERFACE)
  3723. MIDL_INTERFACE("873AE377-8509-44ba-BD12-5F0723DE6656")
  3724. ICCertificate : public IUnknown
  3725. {
  3726. public:
  3727. virtual HRESULT STDMETHODCALLTYPE GetContext(
  3728. /* [out] */ PCCERT_CONTEXT *ppCertContext) = 0;
  3729. };
  3730. #else /* C style interface */
  3731. typedef struct ICCertificateVtbl
  3732. {
  3733. BEGIN_INTERFACE
  3734. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3735. ICCertificate * This,
  3736. /* [in] */ REFIID riid,
  3737. /* [iid_is][out] */ void **ppvObject);
  3738. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3739. ICCertificate * This);
  3740. ULONG ( STDMETHODCALLTYPE *Release )(
  3741. ICCertificate * This);
  3742. HRESULT ( STDMETHODCALLTYPE *GetContext )(
  3743. ICCertificate * This,
  3744. /* [out] */ PCCERT_CONTEXT *ppCertContext);
  3745. END_INTERFACE
  3746. } ICCertificateVtbl;
  3747. interface ICCertificate
  3748. {
  3749. CONST_VTBL struct ICCertificateVtbl *lpVtbl;
  3750. };
  3751. #ifdef COBJMACROS
  3752. #define ICCertificate_QueryInterface(This,riid,ppvObject) \
  3753. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3754. #define ICCertificate_AddRef(This) \
  3755. (This)->lpVtbl -> AddRef(This)
  3756. #define ICCertificate_Release(This) \
  3757. (This)->lpVtbl -> Release(This)
  3758. #define ICCertificate_GetContext(This,ppCertContext) \
  3759. (This)->lpVtbl -> GetContext(This,ppCertContext)
  3760. #endif /* COBJMACROS */
  3761. #endif /* C style interface */
  3762. HRESULT STDMETHODCALLTYPE ICCertificate_GetContext_Proxy(
  3763. ICCertificate * This,
  3764. /* [out] */ PCCERT_CONTEXT *ppCertContext);
  3765. void __RPC_STUB ICCertificate_GetContext_Stub(
  3766. IRpcStubBuffer *This,
  3767. IRpcChannelBuffer *_pRpcChannelBuffer,
  3768. PRPC_MESSAGE _pRpcMessage,
  3769. DWORD *_pdwStubPhase);
  3770. #endif /* __ICCertificate_INTERFACE_DEFINED__ */
  3771. /* Additional Prototypes for ALL interfaces */
  3772. unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
  3773. unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
  3774. unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
  3775. void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
  3776. unsigned long __RPC_USER VARIANT_UserSize( unsigned long *, unsigned long , VARIANT * );
  3777. unsigned char * __RPC_USER VARIANT_UserMarshal( unsigned long *, unsigned char *, VARIANT * );
  3778. unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * );
  3779. void __RPC_USER VARIANT_UserFree( unsigned long *, VARIANT * );
  3780. /* end of Additional Prototypes */
  3781. #ifdef __cplusplus
  3782. }
  3783. #endif
  3784. #endif