Enum CAPICOM_ERROR_CODE;
CAPICOM_E_ENCODE_INVALID_TYPE = $80880100;
CAPICOM_E_EKU_INVALID_OID = $80880200;
CAPICOM_E_EKU_OID_NOT_INITIALIZED = $80880201;
CAPICOM_E_CERTIFICATE_NOT_INITIALIZED = $80880210;
CAPICOM_E_CERTIFICATE_NO_PRIVATE_KEY = $80880211;
CAPICOM_E_CHAIN_NOT_BUILT = $80880220;
CAPICOM_E_STORE_NOT_OPENED = $80880230;
CAPICOM_E_STORE_EMPTY = $80880231;
CAPICOM_E_STORE_INVALID_OPEN_MODE = $80880232;
CAPICOM_E_STORE_INVALID_SAVE_AS_TYPE = $80880233;
CAPICOM_E_ATTRIBUTE_NAME_NOT_INITIALIZED = $80880240;
CAPICOM_E_ATTRIBUTE_VALUE_NOT_INITIALIZED = $80880241;
CAPICOM_E_ATTRIBUTE_INVALID_NAME = $80880242;
CAPICOM_E_ATTRIBUTE_INVALID_VALUE = $80880243;
CAPICOM_E_SIGNER_NOT_INITIALIZED = $80880250;
CAPICOM_E_SIGNER_NOT_FOUND = $80880251;
CAPICOM_E_SIGNER_NO_CHAIN = $80880252;
CAPICOM_E_SIGNER_INVALID_USAGE = $80880253;
CAPICOM_E_SIGN_NOT_INITIALIZED = $80880260;
CAPICOM_E_SIGN_INVALID_TYPE = $80880261;
CAPICOM_E_SIGN_NOT_SIGNED = $80880262;
CAPICOM_E_INVALID_ALGORITHM = $80880270;
CAPICOM_E_INVALID_KEY_LENGTH = $80880271;
CAPICOM_E_ENVELOP_NOT_INITIALIZED = $80880280;
CAPICOM_E_ENVELOP_INVALID_TYPE = $80880281;
CAPICOM_E_ENVELOP_NO_RECIPIENT = $80880282;
CAPICOM_E_ENVELOP_RECIPIENT_NOT_FOUND = $80880283;
CAPICOM_E_ENCRYPT_NOT_INITIALIZED = $80880290;
CAPICOM_E_ENCRYPT_INVALID_TYPE = $80880291;
CAPICOM_E_ENCRYPT_NO_SECRET = $80880292;
CAPICOM_E_NOT_SUPPORTED = $80880900;
CAPICOM_E_UI_DISABLED = $80880901;
CAPICOM_E_CANCELLED = $80880902;
CAPICOM_E_NOT_ALLOWED = $80880903;
CAPICOM_E_OUT_OF_RESOURCE = $80880904;
CAPICOM_E_INTERNAL = $80880911;
CAPICOM_E_UNKNOWN = $80880999;
CAPICOM_E_PRIVATE_KEY_NOT_INITIALIZED = $80880300;
CAPICOM_E_PRIVATE_KEY_NOT_EXPORTABLE = $80880301;
CAPICOM_E_ENCODE_NOT_INITIALIZED = $80880320;
CAPICOM_E_EXTENSION_NOT_INITIALIZED = $80880330;
CAPICOM_E_PROPERTY_NOT_INITIALIZED = $80880340;
CAPICOM_E_FIND_INVALID_TYPE = $80880350;
CAPICOM_E_FIND_INVALID_PREDEFINED_POLICY = $80880351;
CAPICOM_E_CODE_NOT_INITIALIZED = $80880360;
CAPICOM_E_CODE_NOT_SIGNED = $80880361;
CAPICOM_E_CODE_DESCRIPTION_NOT_INITIALIZED = $80880362;
CAPICOM_E_CODE_DESCRIPTION_URL_NOT_INITIALIZED = $80880363;
CAPICOM_E_CODE_INVALID_TIMESTAMP_URL = $80880364;
CAPICOM_E_HASH_NO_DATA = $80880370;
CAPICOM_E_INVALID_CONVERT_TYPE = $80880380;
Enum CAPICOM_ENCODING_TYPE;
CAPICOM_ENCODE_BASE64 = 0;
CAPICOM_ENCODE_BINARY = 1;
CAPICOM_ENCODE_ANY = -1;
Enum CAPICOM_EKU;
CAPICOM_EKU_OTHER = 0;
CAPICOM_EKU_SERVER_AUTH = 1;
CAPICOM_EKU_CLIENT_AUTH = 2;
CAPICOM_EKU_CODE_SIGNING = 3;
CAPICOM_EKU_EMAIL_PROTECTION = 4;
CAPICOM_EKU_SMARTCARD_LOGON = 5;
CAPICOM_EKU_ENCRYPTING_FILE_SYSTEM = 6;
Enum CAPICOM_CHECK_FLAG;
CAPICOM_CHECK_NONE = 0;
CAPICOM_CHECK_TRUSTED_ROOT = 1;
CAPICOM_CHECK_TIME_VALIDITY = 2;
CAPICOM_CHECK_SIGNATURE_VALIDITY = 4;
CAPICOM_CHECK_ONLINE_REVOCATION_STATUS = 8;
CAPICOM_CHECK_OFFLINE_REVOCATION_STATUS = 16;
CAPICOM_CHECK_COMPLETE_CHAIN = 32;
CAPICOM_CHECK_NAME_CONSTRAINTS = 64;
CAPICOM_CHECK_BASIC_CONSTRAINTS = 128;
CAPICOM_CHECK_NESTED_VALIDITY_PERIOD = $100;
CAPICOM_CHECK_ONLINE_ALL = $1EF;
CAPICOM_CHECK_OFFLINE_ALL = $1F7;
Enum CAPICOM_CERT_INFO_TYPE;
CAPICOM_CERT_INFO_SUBJECT_SIMPLE_NAME = 0;
CAPICOM_CERT_INFO_ISSUER_SIMPLE_NAME = 1;
CAPICOM_CERT_INFO_SUBJECT_EMAIL_NAME = 2;
CAPICOM_CERT_INFO_ISSUER_EMAIL_NAME = 3;
CAPICOM_CERT_INFO_SUBJECT_UPN = 4;
CAPICOM_CERT_INFO_ISSUER_UPN = 5;
CAPICOM_CERT_INFO_SUBJECT_DNS_NAME = 6;
CAPICOM_CERT_INFO_ISSUER_DNS_NAME = 7;
Enum CAPICOM_STORE_LOCATION;
CAPICOM_MEMORY_STORE = 0;
CAPICOM_LOCAL_MACHINE_STORE = 1;
CAPICOM_CURRENT_USER_STORE = 2;
CAPICOM_ACTIVE_DIRECTORY_USER_STORE = 3;
CAPICOM_SMART_CARD_USER_STORE = 4;
Enum CAPICOM_STORE_OPEN_MODE;
CAPICOM_STORE_OPEN_READ_ONLY = 0;
CAPICOM_STORE_OPEN_READ_WRITE = 1;
CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED = 2;
CAPICOM_STORE_OPEN_EXISTING_ONLY = 128;
CAPICOM_STORE_OPEN_INCLUDE_ARCHIVED = $100;
Enum CAPICOM_ACTIVE_DIRECTORY_SEARCH_LOCATION;
CAPICOM_SEARCH_ANY = 0;
CAPICOM_SEARCH_GLOBAL_CATALOG = 1;
CAPICOM_SEARCH_DEFAULT_DOMAIN = 2;
Enum CAPICOM_STORE_SAVE_AS_TYPE;
CAPICOM_STORE_SAVE_AS_SERIALIZED = 0;
CAPICOM_STORE_SAVE_AS_PKCS7 = 1;
Enum CAPICOM_ATTRIBUTE;
CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME = 0;
CAPICOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_NAME = 1;
CAPICOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_DESCRIPTION = 2;
Enum CAPICOM_SIGNED_DATA_VERIFY_FLAG;
CAPICOM_VERIFY_SIGNATURE_ONLY = 0;
CAPICOM_VERIFY_SIGNATURE_AND_CERTIFICATE = 1;
Enum CAPICOM_ENCRYPTION_ALGORITHM;
CAPICOM_ENCRYPTION_ALGORITHM_RC2 = 0;
CAPICOM_ENCRYPTION_ALGORITHM_RC4 = 1;
CAPICOM_ENCRYPTION_ALGORITHM_DES = 2;
CAPICOM_ENCRYPTION_ALGORITHM_3DES = 3;
CAPICOM_ENCRYPTION_ALGORITHM_AES = 4;
Enum CAPICOM_ENCRYPTION_KEY_LENGTH;
CAPICOM_ENCRYPTION_KEY_LENGTH_MAXIMUM = 0;
CAPICOM_ENCRYPTION_KEY_LENGTH_40_BITS = 1;
CAPICOM_ENCRYPTION_KEY_LENGTH_56_BITS = 2;
CAPICOM_ENCRYPTION_KEY_LENGTH_128_BITS = 3;
CAPICOM_ENCRYPTION_KEY_LENGTH_192_BITS = 4;
CAPICOM_ENCRYPTION_KEY_LENGTH_256_BITS = 5;
Enum CAPICOM_SECRET_TYPE;
CAPICOM_SECRET_PASSWORD = 0;
Enum CAPICOM_KEY_ALGORITHM;
CAPICOM_KEY_ALGORITHM_OTHER = 0;
CAPICOM_KEY_ALGORITHM_RSA = 1;
CAPICOM_KEY_ALGORITHM_DSS = 2;
Enum CAPICOM_OID;
CAPICOM_OID_OTHER = 0;
CAPICOM_OID_AUTHORITY_KEY_IDENTIFIER_EXTENSION = 1;
CAPICOM_OID_KEY_ATTRIBUTES_EXTENSION = 2;
CAPICOM_OID_CERT_POLICIES_95_EXTENSION = 3;
CAPICOM_OID_KEY_USAGE_RESTRICTION_EXTENSION = 4;
CAPICOM_OID_LEGACY_POLICY_MAPPINGS_EXTENSION = 5;
CAPICOM_OID_SUBJECT_ALT_NAME_EXTENSION = 6;
CAPICOM_OID_ISSUER_ALT_NAME_EXTENSION = 7;
CAPICOM_OID_BASIC_CONSTRAINTS_EXTENSION = 8;
CAPICOM_OID_SUBJECT_KEY_IDENTIFIER_EXTENSION = 9;
CAPICOM_OID_KEY_USAGE_EXTENSION = 10;
CAPICOM_OID_PRIVATEKEY_USAGE_PERIOD_EXTENSION = 11;
CAPICOM_OID_SUBJECT_ALT_NAME2_EXTENSION = 12;
CAPICOM_OID_ISSUER_ALT_NAME2_EXTENSION = 13;
CAPICOM_OID_BASIC_CONSTRAINTS2_EXTENSION = 14;
CAPICOM_OID_NAME_CONSTRAINTS_EXTENSION = 15;
CAPICOM_OID_CRL_DIST_POINTS_EXTENSION = 16;
CAPICOM_OID_CERT_POLICIES_EXTENSION = 17;
CAPICOM_OID_POLICY_MAPPINGS_EXTENSION = 18;
CAPICOM_OID_AUTHORITY_KEY_IDENTIFIER2_EXTENSION = 19;
CAPICOM_OID_POLICY_CONSTRAINTS_EXTENSION = 20;
CAPICOM_OID_ENHANCED_KEY_USAGE_EXTENSION = 21;
CAPICOM_OID_CERTIFICATE_TEMPLATE_EXTENSION = 22;
CAPICOM_OID_APPLICATION_CERT_POLICIES_EXTENSION = 23;
CAPICOM_OID_APPLICATION_POLICY_MAPPINGS_EXTENSION = 24;
CAPICOM_OID_APPLICATION_POLICY_CONSTRAINTS_EXTENSION = 25;
CAPICOM_OID_AUTHORITY_INFO_ACCESS_EXTENSION = 26;
CAPICOM_OID_SERVER_AUTH_EKU = 100;
CAPICOM_OID_CLIENT_AUTH_EKU = 101;
CAPICOM_OID_CODE_SIGNING_EKU = 102;
CAPICOM_OID_EMAIL_PROTECTION_EKU = 103;
CAPICOM_OID_IPSEC_END_SYSTEM_EKU = 104;
CAPICOM_OID_IPSEC_TUNNEL_EKU = 105;
CAPICOM_OID_IPSEC_USER_EKU = 106;
CAPICOM_OID_TIME_STAMPING_EKU = 107;
CAPICOM_OID_CTL_USAGE_SIGNING_EKU = 108;
CAPICOM_OID_TIME_STAMP_SIGNING_EKU = 109;
CAPICOM_OID_SERVER_GATED_CRYPTO_EKU = 110;
CAPICOM_OID_ENCRYPTING_FILE_SYSTEM_EKU = 111;
CAPICOM_OID_EFS_RECOVERY_EKU = 112;
CAPICOM_OID_WHQL_CRYPTO_EKU = 113;
CAPICOM_OID_NT5_CRYPTO_EKU = 114;
CAPICOM_OID_OEM_WHQL_CRYPTO_EKU = 115;
CAPICOM_OID_EMBEDED_NT_CRYPTO_EKU = 116;
CAPICOM_OID_ROOT_LIST_SIGNER_EKU = 117;
CAPICOM_OID_QUALIFIED_SUBORDINATION_EKU = 118;
CAPICOM_OID_KEY_RECOVERY_EKU = 119;
CAPICOM_OID_DIGITAL_RIGHTS_EKU = 120;
CAPICOM_OID_LICENSES_EKU = 121;
CAPICOM_OID_LICENSE_SERVER_EKU = 122;
CAPICOM_OID_SMART_CARD_LOGON_EKU = 123;
CAPICOM_OID_PKIX_POLICY_QUALIFIER_CPS = 124;
CAPICOM_OID_PKIX_POLICY_QUALIFIER_USERNOTICE = 125;
Enum CAPICOM_PROPID;
CAPICOM_PROPID_UNKNOWN = 0;
CAPICOM_PROPID_KEY_PROV_HANDLE = 1;
CAPICOM_PROPID_KEY_PROV_INFO = 2;
CAPICOM_PROPID_SHA1_HASH = 3;
CAPICOM_PROPID_HASH_PROP = 3;
CAPICOM_PROPID_MD5_HASH = 4;
CAPICOM_PROPID_KEY_CONTEXT = 5;
CAPICOM_PROPID_KEY_SPEC = 6;
CAPICOM_PROPID_IE30_RESERVED = 7;
CAPICOM_PROPID_PUBKEY_HASH_RESERVED = 8;
CAPICOM_PROPID_ENHKEY_USAGE = 9;
CAPICOM_PROPID_CTL_USAGE = 9;
CAPICOM_PROPID_NEXT_UPDATE_LOCATION = 10;
CAPICOM_PROPID_FRIENDLY_NAME = 11;
CAPICOM_PROPID_PVK_FILE = 12;
CAPICOM_PROPID_DESCRIPTION = 13;
CAPICOM_PROPID_ACCESS_STATE = 14;
CAPICOM_PROPID_SIGNATURE_HASH = 15;
CAPICOM_PROPID_SMART_CARD_DATA = 16;
CAPICOM_PROPID_EFS = 17;
CAPICOM_PROPID_FORTEZZA_DATA = 18;
CAPICOM_PROPID_ARCHIVED = 19;
CAPICOM_PROPID_KEY_IDENTIFIER = 20;
CAPICOM_PROPID_AUTO_ENROLL = 21;
CAPICOM_PROPID_PUBKEY_ALG_PARA = 22;
CAPICOM_PROPID_CROSS_CERT_DIST_POINTS = 23;
CAPICOM_PROPID_ISSUER_PUBLIC_KEY_MD5_HASH = 24;
CAPICOM_PROPID_SUBJECT_PUBLIC_KEY_MD5_HASH = 25;
CAPICOM_PROPID_ENROLLMENT = 26;
CAPICOM_PROPID_DATE_STAMP = 27;
CAPICOM_PROPID_ISSUER_SERIAL_NUMBER_MD5_HASH = 28;
CAPICOM_PROPID_SUBJECT_NAME_MD5_HASH = 29;
CAPICOM_PROPID_EXTENDED_ERROR_INFO = 30;
CAPICOM_PROPID_RENEWAL = 64;
CAPICOM_PROPID_ARCHIVED_KEY_HASH = 65;
CAPICOM_PROPID_FIRST_RESERVED = 66;
CAPICOM_PROPID_LAST_RESERVED = $7FFF;
CAPICOM_PROPID_FIRST_USER = $8000;
CAPICOM_PROPID_LAST_USER = $FFFF;
Enum CAPICOM_PROV_TYPE;
CAPICOM_PROV_RSA_FULL = 1;
CAPICOM_PROV_RSA_SIG = 2;
CAPICOM_PROV_DSS = 3;
CAPICOM_PROV_FORTEZZA = 4;
CAPICOM_PROV_MS_EXCHANGE = 5;
CAPICOM_PROV_SSL = 6;
CAPICOM_PROV_RSA_SCHANNEL = 12;
CAPICOM_PROV_DSS_DH = 13;
CAPICOM_PROV_EC_ECDSA_SIG = 14;
CAPICOM_PROV_EC_ECNRA_SIG = 15;
CAPICOM_PROV_EC_ECDSA_FULL = 16;
CAPICOM_PROV_EC_ECNRA_FULL = 17;
CAPICOM_PROV_DH_SCHANNEL = 18;
CAPICOM_PROV_SPYRUS_LYNKS = 20;
CAPICOM_PROV_RNG = 21;
CAPICOM_PROV_INTEL_SEC = 22;
CAPICOM_PROV_REPLACE_OWF = 23;
CAPICOM_PROV_RSA_AES = 24;
Enum CAPICOM_CERTIFICATE_SAVE_AS_TYPE;
CAPICOM_CERTIFICATE_SAVE_AS_PFX = 0;
CAPICOM_CERTIFICATE_SAVE_AS_CER = 1;
Enum CAPICOM_CERTIFICATES_SAVE_AS_TYPE;
CAPICOM_CERTIFICATES_SAVE_AS_SERIALIZED = 0;
CAPICOM_CERTIFICATES_SAVE_AS_PKCS7 = 1;
CAPICOM_CERTIFICATES_SAVE_AS_PFX = 2;
Enum CAPICOM_CERTIFICATE_INCLUDE_OPTION;
CAPICOM_CERTIFICATE_INCLUDE_CHAIN_EXCEPT_ROOT = 0;
CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN = 1;
CAPICOM_CERTIFICATE_INCLUDE_END_ENTITY_ONLY = 2;
Enum CAPICOM_KEY_SPEC;
CAPICOM_KEY_SPEC_KEYEXCHANGE = 1;
CAPICOM_KEY_SPEC_SIGNATURE = 2;
Enum CAPICOM_KEY_LOCATION;
CAPICOM_CURRENT_USER_KEY = 0;
CAPICOM_LOCAL_MACHINE_KEY = 1;
Enum CAPICOM_KEY_STORAGE_FLAG;
CAPICOM_KEY_STORAGE_DEFAULT = 0;
CAPICOM_KEY_STORAGE_EXPORTABLE = 1;
CAPICOM_KEY_STORAGE_USER_PROTECTED = 2;
Enum CAPICOM_EXPORT_FLAG;
CAPICOM_EXPORT_DEFAULT = 0;
CAPICOM_EXPORT_IGNORE_PRIVATE_KEY_NOT_EXPORTABLE_ERROR = 1;
Enum CAPICOM_KEY_USAGE;
CAPICOM_DIGITAL_SIGNATURE_KEY_USAGE = 128;
CAPICOM_NON_REPUDIATION_KEY_USAGE = 64;
CAPICOM_KEY_ENCIPHERMENT_KEY_USAGE = 32;
CAPICOM_DATA_ENCIPHERMENT_KEY_USAGE = 16;
CAPICOM_KEY_AGREEMENT_KEY_USAGE = 8;
CAPICOM_KEY_CERT_SIGN_KEY_USAGE = 4;
CAPICOM_OFFLINE_CRL_SIGN_KEY_USAGE = 2;
CAPICOM_CRL_SIGN_KEY_USAGE = 2;
CAPICOM_ENCIPHER_ONLY_KEY_USAGE = 1;
CAPICOM_DECIPHER_ONLY_KEY_USAGE = $8000;
Enum CAPICOM_CERTIFICATE_FIND_TYPE;
CAPICOM_CERTIFICATE_FIND_SHA1_HASH = 0;
CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME = 1;
CAPICOM_CERTIFICATE_FIND_ISSUER_NAME = 2;
CAPICOM_CERTIFICATE_FIND_ROOT_NAME = 3;
CAPICOM_CERTIFICATE_FIND_TEMPLATE_NAME = 4;
CAPICOM_CERTIFICATE_FIND_EXTENSION = 5;
CAPICOM_CERTIFICATE_FIND_EXTENDED_PROPERTY = 6;
CAPICOM_CERTIFICATE_FIND_APPLICATION_POLICY = 7;
CAPICOM_CERTIFICATE_FIND_CERTIFICATE_POLICY = 8;
CAPICOM_CERTIFICATE_FIND_TIME_VALID = 9;
CAPICOM_CERTIFICATE_FIND_TIME_NOT_YET_VALID = 10;
CAPICOM_CERTIFICATE_FIND_TIME_EXPIRED = 11;
CAPICOM_CERTIFICATE_FIND_KEY_USAGE = 12;
Enum CAPICOM_HASH_ALGORITHM;
CAPICOM_HASH_ALGORITHM_SHA1 = 0;
CAPICOM_HASH_ALGORITHM_MD2 = 1;
CAPICOM_HASH_ALGORITHM_MD4 = 2;
CAPICOM_HASH_ALGORITHM_MD5 = 3;
CAPICOM_HASH_ALGORITHM_SHA_256 = 4;
CAPICOM_HASH_ALGORITHM_SHA_384 = 5;
CAPICOM_HASH_ALGORITHM_SHA_512 = 6;
Module Constants;
CAPICOM_MAJOR_VERSION = 2;
CAPICOM_MINOR_VERSION = 1;
CAPICOM_RELEASE_NUMBER = 0;
CAPICOM_BUILD_NUMBER = 2;
CAPICOM_VERSION_INFO = CAPICOM v2.1;
CAPICOM_COPY_RIGHT = Copyright (c) Microsoft Corporation 1999-2006. All rights reserved.;
CAPICOM_MY_STORE = My;
CAPICOM_CA_STORE = Ca;
CAPICOM_ROOT_STORE = Root;
CAPICOM_OTHER_STORE = AddressBook;
CAPICOM_OID_SERVER_AUTH = 1.3.6.1.5.5.7.3.1;
CAPICOM_OID_CLIENT_AUTH = 1.3.6.1.5.5.7.3.2;
CAPICOM_OID_CODE_SIGNING = 1.3.6.1.5.5.7.3.3;
CAPICOM_OID_EMAIL_PROTECTION = 1.3.6.1.5.5.7.3.4;
CAPICOM_OID_IPSEC_END_SYSTEM = 1.3.6.1.5.5.7.3.5;
CAPICOM_OID_IPSEC_TUNNEL = 1.3.6.1.5.5.7.3.6;
CAPICOM_OID_IPSEC_USER = 1.3.6.1.5.5.7.3.7;
CAPICOM_OID_TIME_STAMPING = 1.3.6.1.5.5.7.3.8;
CAPICOM_OID_CTL_USAGE_SIGNING = 1.3.6.1.4.1.311.10.3.1;
CAPICOM_OID_TIME_STAMP_SIGNING = 1.3.6.1.4.1.311.10.3.2;
CAPICOM_OID_SERVER_GATED_CRYPTO = 1.3.6.1.4.1.311.10.3.3;
CAPICOM_OID_ENCRYPTING_FILE_SYSTEM = 1.3.6.1.4.1.311.10.3.4;
CAPICOM_OID_EFS_RECOVERY = 1.3.6.1.4.1.311.10.3.4.1;
CAPICOM_OID_WHQL_CRYPTO = 1.3.6.1.4.1.311.10.3.5;
CAPICOM_OID_NT5_CRYPTO = 1.3.6.1.4.1.311.10.3.6;
CAPICOM_OID_OEM_WHQL_CRYPTO = 1.3.6.1.4.1.311.10.3.7;
CAPICOM_OID_EMBEDED_NT_CRYPTO = 1.3.6.1.4.1.311.10.3.8;
CAPICOM_OID_ROOT_LIST_SIGNER = 1.3.6.1.4.1.311.10.3.9;
CAPICOM_OID_QUALIFIED_SUBORDINATION = 1.3.6.1.4.1.311.10.3.10;
CAPICOM_OID_KEY_RECOVERY = 1.3.6.1.4.1.311.10.3.11;
CAPICOM_OID_DIGITAL_RIGHTS = 1.3.6.1.4.1.311.10.5.1;
CAPICOM_OID_LICENSES = 1.3.6.1.4.1.311.10.6.1;
CAPICOM_OID_LICENSE_SERVER = 1.3.6.1.4.1.311.10.6.2;
CAPICOM_OID_SMART_CARD_LOGON = 1.3.6.1.4.1.311.20.2.2;
CAPICOM_SERVER_AUTH_OID = 1.3.6.1.5.5.7.3.1;
CAPICOM_CLIENT_AUTH_OID = 1.3.6.1.5.5.7.3.2;
CAPICOM_CODE_SIGNING_OID = 1.3.6.1.5.5.7.3.3;
CAPICOM_EMAIL_PROTECTION_OID = 1.3.6.1.5.5.7.3.4;
CAPICOM_IPSEC_END_SYSTEM_OID = 1.3.6.1.5.5.7.3.5;
CAPICOM_IPSEC_TUNNEL_OID = 1.3.6.1.5.5.7.3.6;
CAPICOM_IPSEC_USER_OID = 1.3.6.1.5.5.7.3.7;
CAPICOM_TIME_STAMPING_OID = 1.3.6.1.5.5.7.3.8;
CAPICOM_CTL_USAGE_SIGNING_OID = 1.3.6.1.4.1.311.10.3.1;
CAPICOM_TIME_STAMP_SIGNING_OID = 1.3.6.1.4.1.311.10.3.2;
CAPICOM_SERVER_GATED_CRYPTO_OID = 1.3.6.1.4.1.311.10.3.3;
CAPICOM_ENCRYPTING_FILE_SYSTEM_OID = 1.3.6.1.4.1.311.10.3.4;
CAPICOM_EFS_RECOVERY_OID = 1.3.6.1.4.1.311.10.3.4.1;
CAPICOM_WHQL_CRYPTO_OID = 1.3.6.1.4.1.311.10.3.5;
CAPICOM_NT5_CRYPTO_OID = 1.3.6.1.4.1.311.10.3.6;
CAPICOM_OEM_WHQL_CRYPTO_OID = 1.3.6.1.4.1.311.10.3.7;
CAPICOM_EMBEDED_NT_CRYPTO_OID = 1.3.6.1.4.1.311.10.3.8;
CAPICOM_ROOT_LIST_SIGNER_OID = 1.3.6.1.4.1.311.10.3.9;
CAPICOM_QUALIFIED_SUBORDINATION_OID = 1.3.6.1.4.1.311.10.3.10;
CAPICOM_KEY_RECOVERY_OID = 1.3.6.1.4.1.311.10.3.11;
CAPICOM_DIGITAL_RIGHTS_OID = 1.3.6.1.4.1.311.10.5.1;
CAPICOM_LICENSES_OID = 1.3.6.1.4.1.311.10.6.1;
CAPICOM_LICENSE_SERVER_OID = 1.3.6.1.4.1.311.10.6.2;
CAPICOM_SMART_CARD_LOGON_OID = 1.3.6.1.4.1.311.20.2.2;
CAPICOM_ANY_APPLICATION_POLICY_OID = 1.3.6.1.4.1.311.10.12.1;
CAPICOM_ANY_CERT_POLICY_OID = 2.5.29.32.0;
CAPICOM_AUTHORITY_KEY_IDENTIFIER_OID = 2.5.29.1;
CAPICOM_KEY_ATTRIBUTES_OID = 2.5.29.2;
CAPICOM_CERT_POLICIES_95_OID = 2.5.29.3;
CAPICOM_KEY_USAGE_RESTRICTION_OID = 2.5.29.4;
CAPICOM_LEGACY_POLICY_MAPPINGS_OID = 2.5.29.5;
CAPICOM_SUBJECT_ALT_NAME_OID = 2.5.29.7;
CAPICOM_ISSUER_ALT_NAME_OID = 2.5.29.8;
CAPICOM_BASIC_CONSTRAINTS_OID = 2.5.29.10;
CAPICOM_SUBJECT_KEY_IDENTIFIER_OID = 2.5.29.14;
CAPICOM_KEY_USAGE_OID = 2.5.29.15;
CAPICOM_PRIVATEKEY_USAGE_PERIOD_OID = 2.5.29.16;
CAPICOM_SUBJECT_ALT_NAME2_OID = 2.5.29.17;
CAPICOM_ISSUER_ALT_NAME2_OID = 2.5.29.18;
CAPICOM_BASIC_CONSTRAINTS2_OID = 2.5.29.19;
CAPICOM_NAME_CONSTRAINTS_OID = 2.5.29.30;
CAPICOM_CRL_DIST_POINTS_OID = 2.5.29.31;
CAPICOM_CERT_POLICIES_OID = 2.5.29.32;
CAPICOM_POLICY_MAPPINGS_OID = 2.5.29.33;
CAPICOM_AUTHORITY_KEY_IDENTIFIER2_OID = 2.5.29.35;
CAPICOM_POLICY_CONSTRAINTS_OID = 2.5.29.36;
CAPICOM_ENHANCED_KEY_USAGE_OID = 2.5.29.37;
CAPICOM_CERTIFICATE_TEMPLATE_OID = 1.3.6.1.4.1.311.21.7;
CAPICOM_APPLICATION_CERT_POLICIES_OID = 1.3.6.1.4.1.311.21.10;
CAPICOM_APPLICATION_POLICY_MAPPINGS_OID = 1.3.6.1.4.1.311.21.11;
CAPICOM_APPLICATION_POLICY_CONSTRAINTS_OID = 1.3.6.1.4.1.311.21.12;
CAPICOM_AUTHORITY_INFO_ACCESS_OID = 1.3.6.1.5.5.7.1.1;
CAPICOM_PKIX_POLICY_QUALIFIER_CPS_OID = 1.3.6.1.5.5.7.2.1;
CAPICOM_PKIX_POLICY_QUALIFIER_USERNOTICE_OID = 1.3.6.1.5.5.7.2.2;
CAPICOM_TRUST_IS_NOT_TIME_VALID = 1;
CAPICOM_TRUST_IS_NOT_TIME_NESTED = 2;
CAPICOM_TRUST_IS_REVOKED = 4;
CAPICOM_TRUST_IS_NOT_SIGNATURE_VALID = 8;
CAPICOM_TRUST_IS_NOT_VALID_FOR_USAGE = 16;
CAPICOM_TRUST_IS_UNTRUSTED_ROOT = 32;
CAPICOM_TRUST_REVOCATION_STATUS_UNKNOWN = 64;
CAPICOM_TRUST_IS_CYCLIC = 128;
CAPICOM_TRUST_INVALID_EXTENSION = $100;
CAPICOM_TRUST_INVALID_POLICY_CONSTRAINTS = $200;
CAPICOM_TRUST_INVALID_BASIC_CONSTRAINTS = $400;
CAPICOM_TRUST_INVALID_NAME_CONSTRAINTS = $800;
CAPICOM_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT = $1000;
CAPICOM_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT = $2000;
CAPICOM_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT = $4000;
CAPICOM_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT = $8000;
CAPICOM_TRUST_IS_OFFLINE_REVOCATION = $1000000;
CAPICOM_TRUST_NO_ISSUANCE_CHAIN_POLICY = $2000000;
CAPICOM_TRUST_IS_PARTIAL_CHAIN = $10000;
CAPICOM_TRUST_CTL_IS_NOT_TIME_VALID = $20000;
CAPICOM_TRUST_CTL_IS_NOT_SIGNATURE_VALID = $40000;
CAPICOM_TRUST_CTL_IS_NOT_VALID_FOR_USAGE = $80000;
CAPICOM_PROV_MS_DEF_PROV = Microsoft Base Cryptographic Provider v1.0;
CAPICOM_PROV_MS_ENHANCED_PROV = Microsoft Enhanced Cryptographic Provider v1.0;
CAPICOM_PROV_MS_STRONG_PROV = Microsoft Strong Cryptographic Provider;
CAPICOM_PROV_MS_DEF_RSA_SIG_PROV = Microsoft RSA Signature Cryptographic Provider;
CAPICOM_PROV_MS_DEF_RSA_SCHANNEL_PROV = Microsoft RSA SChannel Cryptographic Provider;
CAPICOM_PROV_MS_DEF_DSS_PROV = Microsoft Base DSS Cryptographic Provider;
CAPICOM_PROV_MS_DEF_DSS_DH_PROV = Microsoft Base DSS and Diffie-Hellman Cryptographic Provider;
CAPICOM_PROV_MS_ENH_DSS_DH_PROV = Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider;
CAPICOM_PROV_MS_DEF_DH_SCHANNEL_PROV = Microsoft DH SChannel Cryptographic Provider;
CAPICOM_PROV_MS_SCARD_PROV = Microsoft Base Smart Card Crypto Provider;
CAPICOM_PROV_MS_ENH_RSA_AES_PROV = Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype);
Class Settings; // Settings Class
GUID={A996E48C-D3DC-4244-89F7-AFA33EC60679};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get EnablePromptForCertificateUI: bool;
property-put EnablePromptForCertificateUI(bool);
property-get ActiveDirectorySearchLocation: CAPICOM_ACTIVE_DIRECTORY_SEARCH_LOCATION;
property-put ActiveDirectorySearchLocation(CAPICOM_ACTIVE_DIRECTORY_SEARCH_LOCATION);
Dispatch ISettings; // ISettings Interface
GUID={A24104F5-46D0-4C0F-926D-665565908E91};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get EnablePromptForCertificateUI: bool;
property-put EnablePromptForCertificateUI(bool);
property-get ActiveDirectorySearchLocation: CAPICOM_ACTIVE_DIRECTORY_SEARCH_LOCATION;
property-put ActiveDirectorySearchLocation(CAPICOM_ACTIVE_DIRECTORY_SEARCH_LOCATION);
Class EKU; // EKU Class
GUID={8535F9A1-738A-40D0-8FB1-10CC8F74E7D3};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Name: CAPICOM_EKU;
property-put Name(CAPICOM_EKU);
property-get OID: BSTR;
property-put OID(BSTR);
Dispatch IEKU; // IEKU Interface
GUID={976B7E6D-1002-4051-BFD4-824A74BD74E2};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Name: CAPICOM_EKU;
property-put Name(CAPICOM_EKU);
property-get OID: BSTR;
property-put OID(BSTR);
Class EKUs; // EKUs Class
GUID={F1800663-5BFC-4D1A-8D44-56CE02DDA34F};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Item(Index:I4): variant;
property-get Count: I4;
property-get _NewEnum: IUnknown;
Dispatch IEKUs; // IEKUs Interface
GUID={47C87CEC-8C4B-4E3C-8D22-34280274EFD1};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Item(Index:I4): variant;
property-get Count: I4;
property-get _NewEnum: IUnknown;
Class KeyUsage; // KeyUsage Class
GUID={9226C95C-38BE-4CC4-B3A2-A867F5199C13};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get IsPresent: bool;
property-get IsCritical: bool;
property-get IsDigitalSignatureEnabled: bool;
property-get IsNonRepudiationEnabled: bool;
property-get IsKeyEnciphermentEnabled: bool;
property-get IsDataEnciphermentEnabled: bool;
property-get IsKeyAgreementEnabled: bool;
property-get IsKeyCertSignEnabled: bool;
property-get IsCRLSignEnabled: bool;
property-get IsEncipherOnlyEnabled: bool;
property-get IsDecipherOnlyEnabled: bool;
Dispatch IKeyUsage; // IKeyUsage Interface
GUID={41DD35A8-9FF9-45A6-9A7C-F65B2F085D1F};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get IsPresent: bool;
property-get IsCritical: bool;
property-get IsDigitalSignatureEnabled: bool;
property-get IsNonRepudiationEnabled: bool;
property-get IsKeyEnciphermentEnabled: bool;
property-get IsDataEnciphermentEnabled: bool;
property-get IsKeyAgreementEnabled: bool;
property-get IsKeyCertSignEnabled: bool;
property-get IsCRLSignEnabled: bool;
property-get IsEncipherOnlyEnabled: bool;
property-get IsDecipherOnlyEnabled: bool;
Class ExtendedKeyUsage; // ExtendedKeyUsage Class
GUID={42C18607-1B4B-4126-8F1B-76E2DC7F631A};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get IsPresent: bool;
property-get IsCritical: bool;
property-get EKUs: ^IEKUs;
Dispatch IExtendedKeyUsage; // IExtendedKeyUsage Interface
GUID={7289D408-987D-45D1-8DEE-CF9E91C2E90E};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get IsPresent: bool;
property-get IsCritical: bool;
property-get EKUs: ^IEKUs;
Class BasicConstraints; // BasicConstraints Class
GUID={C05AAC6E-3A58-45A9-A203-56952E961E48};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get IsPresent: bool;
property-get IsCritical: bool;
property-get IsCertificateAuthority: bool;
property-get IsPathLenConstraintPresent: bool;
property-get PathLenConstraint: I4;
Dispatch IBasicConstraints; // IBasicConstraints Interface
GUID={4E298C47-ABA6-459E-851B-993D6C626EAD};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get IsPresent: bool;
property-get IsCritical: bool;
property-get IsCertificateAuthority: bool;
property-get IsPathLenConstraintPresent: bool;
property-get PathLenConstraint: I4;
Class CertificateStatus; // CertificateStatus Class
GUID={0EF24D18-BD9B-47D4-9458-E05B489FB7BA};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Result: bool;
property-get CheckFlag: CAPICOM_CHECK_FLAG;
property-put CheckFlag(CAPICOM_CHECK_FLAG);
function EKU: ^IEKU;
property-get VerificationTime: date;
property-put VerificationTime(date);
property-get UrlRetrievalTimeout: I4;
property-put UrlRetrievalTimeout(I4);
function CertificatePolicies: ^IOIDs;
function ApplicationPolicies: ^IOIDs;
property-get ValidationCertificates: ^ICertificates;
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Result: bool;
property-get CheckFlag: CAPICOM_CHECK_FLAG;
property-put CheckFlag(CAPICOM_CHECK_FLAG);
function EKU: ^IEKU;
property-get VerificationTime: date;
property-put VerificationTime(date);
property-get UrlRetrievalTimeout: I4;
property-put UrlRetrievalTimeout(I4);
function CertificatePolicies: ^IOIDs;
function ApplicationPolicies: ^IOIDs;
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Result: bool;
property-get CheckFlag: CAPICOM_CHECK_FLAG;
property-put CheckFlag(CAPICOM_CHECK_FLAG);
function EKU: ^IEKU;
Dispatch ICertificateStatus3; // ICertificateStatus3 Interface
GUID={A4EAB890-0786-406B-9B31-2746F31F8D87};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Result: bool;
property-get CheckFlag: CAPICOM_CHECK_FLAG;
property-put CheckFlag(CAPICOM_CHECK_FLAG);
function EKU: ^IEKU;
property-get VerificationTime: date;
property-put VerificationTime(date);
property-get UrlRetrievalTimeout: I4;
property-put UrlRetrievalTimeout(I4);
function CertificatePolicies: ^IOIDs;
function ApplicationPolicies: ^IOIDs;
property-get ValidationCertificates: ^ICertificates;
Dispatch ICertificateStatus2; // ICertificateStatus2 Interface
GUID={BF95660E-F743-4EAC-9DE5-960787A4606C};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Result: bool;
property-get CheckFlag: CAPICOM_CHECK_FLAG;
property-put CheckFlag(CAPICOM_CHECK_FLAG);
function EKU: ^IEKU;
property-get VerificationTime: date;
property-put VerificationTime(date);
property-get UrlRetrievalTimeout: I4;
property-put UrlRetrievalTimeout(I4);
function CertificatePolicies: ^IOIDs;
function ApplicationPolicies: ^IOIDs;
Dispatch ICertificateStatus; // ICertificateStatus Interface
GUID={AB769053-6D38-49D4-86EF-5FA85ED3AF27};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Result: bool;
property-get CheckFlag: CAPICOM_CHECK_FLAG;
property-put CheckFlag(CAPICOM_CHECK_FLAG);
function EKU: ^IEKU;
Dispatch IOIDs; // IOIDs Interface
GUID={DA55E8FC-8E27-451B-AEA8-1470D80FAD42};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Item(Index:variant): variant;
property-get Count: I4;
property-get _NewEnum: IUnknown;
function Add(pVal:^IOID);
function Remove(Index:variant);
function Clear;
Dispatch IOID; // IOID Interface
GUID={208E5E9B-58B1-4086-970F-161B582A846F};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Name: CAPICOM_OID;
property-put Name(CAPICOM_OID);
property-get FriendlyName: BSTR;
property-put FriendlyName(BSTR);
property-get Value: BSTR;
property-put Value(BSTR);
Dispatch ICertificates; // ICertificates Interface
GUID={68646716-BDA0-4046-AB82-4444BC93B84A};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Item(Index:I4): variant;
property-get Count: I4;
property-get _NewEnum: IUnknown;
Class Certificate; // Certificate Class
GUID={9171C115-7DD9-46BA-B1E5-0ED50AFFC1B8};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Version: I4;
property-get SerialNumber: BSTR;
property-get SubjectName: BSTR;
property-get IssuerName: BSTR;
property-get ValidFromDate: date;
property-get ValidToDate: date;
property-get Thumbprint: BSTR;
function HasPrivateKey: bool;
function GetInfo(InfoType:CAPICOM_CERT_INFO_TYPE): BSTR;
function IsValid: ^ICertificateStatus;
function KeyUsage: ^IKeyUsage;
function ExtendedKeyUsage: ^IExtendedKeyUsage;
function BasicConstraints: ^IBasicConstraints;
function Export(EncodingType:CAPICOM_ENCODING_TYPE): BSTR;
function Import(EncodedCertificate:BSTR);
function Display;
property-get Archived: bool;
property-put Archived(bool);
function Template: ^ITemplate;
function PublicKey: ^IPublicKey;
property-get PrivateKey: ^IPrivateKey;
property-put PrivateKey(^IPrivateKey);
function Extensions: ^IExtensions;
function ExtendedProperties: ^IExtendedProperties;
function Load(FileName:BSTR; Password:BSTR; KeyStorageFlag:CAPICOM_KEY_STORAGE_FLAG; KeyLocation:CAPICOM_KEY_LOCATION);
function Save(FileName:BSTR; Password:BSTR; SaveAs:CAPICOM_CERTIFICATE_SAVE_AS_TYPE; IncludeOption:CAPICOM_CERTIFICATE_INCLUDE_OPTION);
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Version: I4;
property-get SerialNumber: BSTR;
property-get SubjectName: BSTR;
property-get IssuerName: BSTR;
property-get ValidFromDate: date;
property-get ValidToDate: date;
property-get Thumbprint: BSTR;
function HasPrivateKey: bool;
function GetInfo(InfoType:CAPICOM_CERT_INFO_TYPE): BSTR;
function IsValid: ^ICertificateStatus;
function KeyUsage: ^IKeyUsage;
function ExtendedKeyUsage: ^IExtendedKeyUsage;
function BasicConstraints: ^IBasicConstraints;
function Export(EncodingType:CAPICOM_ENCODING_TYPE): BSTR;
function Import(EncodedCertificate:BSTR);
function Display;
property-get CertContext(out ppCertContext:^I4): HResult;
property-put CertContext(ppCertContext:I4): HResult;
function FreeContext(pCertContext:I4): HResult;
Dispatch ICertificate2; // ICertificate2 Interface
GUID={6FE450DC-AD32-48D4-A366-01EE7E0B1374};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Version: I4;
property-get SerialNumber: BSTR;
property-get SubjectName: BSTR;
property-get IssuerName: BSTR;
property-get ValidFromDate: date;
property-get ValidToDate: date;
property-get Thumbprint: BSTR;
function HasPrivateKey: bool;
function GetInfo(InfoType:CAPICOM_CERT_INFO_TYPE): BSTR;
function IsValid: ^ICertificateStatus;
function KeyUsage: ^IKeyUsage;
function ExtendedKeyUsage: ^IExtendedKeyUsage;
function BasicConstraints: ^IBasicConstraints;
function Export(EncodingType:CAPICOM_ENCODING_TYPE): BSTR;
function Import(EncodedCertificate:BSTR);
function Display;
property-get Archived: bool;
property-put Archived(bool);
function Template: ^ITemplate;
function PublicKey: ^IPublicKey;
property-get PrivateKey: ^IPrivateKey;
property-put PrivateKey(^IPrivateKey);
function Extensions: ^IExtensions;
function ExtendedProperties: ^IExtendedProperties;
function Load(FileName:BSTR; Password:BSTR; KeyStorageFlag:CAPICOM_KEY_STORAGE_FLAG; KeyLocation:CAPICOM_KEY_LOCATION);
function Save(FileName:BSTR; Password:BSTR; SaveAs:CAPICOM_CERTIFICATE_SAVE_AS_TYPE; IncludeOption:CAPICOM_CERTIFICATE_INCLUDE_OPTION);
Dispatch ICertificate; // ICertificate Interface
GUID={0BBA0B86-766C-4755-A443-243FF2BD8D29};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Version: I4;
property-get SerialNumber: BSTR;
property-get SubjectName: BSTR;
property-get IssuerName: BSTR;
property-get ValidFromDate: date;
property-get ValidToDate: date;
property-get Thumbprint: BSTR;
function HasPrivateKey: bool;
function GetInfo(InfoType:CAPICOM_CERT_INFO_TYPE): BSTR;
function IsValid: ^ICertificateStatus;
function KeyUsage: ^IKeyUsage;
function ExtendedKeyUsage: ^IExtendedKeyUsage;
function BasicConstraints: ^IBasicConstraints;
function Export(EncodingType:CAPICOM_ENCODING_TYPE): BSTR;
function Import(EncodedCertificate:BSTR);
function Display;
Dispatch ITemplate; // ITemplate Interface
GUID={5F10FFCE-C922-476F-AA76-DF99D5BDFA2C};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get IsPresent: bool;
property-get IsCritical: bool;
property-get Name: BSTR;
property-get OID: ^IOID;
property-get MajorVersion: I4;
property-get MinorVersion: I4;
Dispatch IPublicKey; // IPublicKey Interface
GUID={72BF9ADA-6817-4C31-B43E-25F7C7B091F4};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Algorithm: ^IOID;
property-get Length: I4;
property-get EncodedKey: ^IEncodedData;
property-get EncodedParameters: ^IEncodedData;
Dispatch IEncodedData; // IEncodedData Interface
GUID={D3D460F2-E7F3-4AF3-8EC6-8EB68C61C567};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Value(EncodingType:CAPICOM_ENCODING_TYPE): BSTR;
function Format(bMultiLines:bool): BSTR;
function Decoder: IDispatch;
Dispatch IPrivateKey; // IPrivateKey Interface
GUID={659DEDC3-6C85-42DB-8527-EFCB21742862};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get ContainerName: BSTR;
property-get UniqueContainerName: BSTR;
property-get ProviderName: BSTR;
property-get ProviderType: CAPICOM_PROV_TYPE;
property-get KeySpec: CAPICOM_KEY_SPEC;
function IsAccessible: bool;
function IsProtected: bool;
function IsExportable: bool;
function IsRemovable: bool;
function IsMachineKeyset: bool;
function IsHardwareDevice: bool;
function Open(ContainerName:BSTR; ProviderName:BSTR; ProviderType:CAPICOM_PROV_TYPE; KeySpec:CAPICOM_KEY_SPEC; StoreLocation:CAPICOM_STORE_LOCATION; bCheckExistence:bool);
function Delete;
Dispatch IExtensions; // IExtensions Interface
GUID={BC530D61-E692-4225-9E7A-07B90B45856A};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Item(Index:variant): variant;
property-get Count: I4;
property-get _NewEnum: IUnknown;
Dispatch IExtendedProperties; // IExtendedProperties Interface
GUID={3B096E87-6218-4A3B-A880-F6CB951E7805};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Item(Index:I4): variant;
property-get Count: I4;
property-get _NewEnum: IUnknown;
function Add(pVal:^IExtendedProperty);
function Remove(PropID:CAPICOM_PROPID);
Dispatch IExtendedProperty; // IExtendedProperty Interface
GUID={ECB8A5C8-562C-4989-B49D-FA37D40F8FC4};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get PropID: CAPICOM_PROPID;
property-put PropID(CAPICOM_PROPID);
property-get Value(EncodingType:CAPICOM_ENCODING_TYPE): BSTR;
property-put Value(EncodingType:CAPICOM_ENCODING_TYPE; BSTR);
Interface ICertContext; // ICertContext Interface
GUID={9E7D3477-4F63-423E-8A45-E13B2BB851A2};
property-get CertContext(out ppCertContext:^I4): HResult;
property-put CertContext(ppCertContext:I4): HResult;
function FreeContext(pCertContext:I4): HResult;
Class Certificates; // Certificates Class
GUID={3605B612-C3CF-4AB4-A426-2D853391DB2E};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Item(Index:I4): variant;
property-get Count: I4;
property-get _NewEnum: IUnknown;
function Find(FindType:CAPICOM_CERTIFICATE_FIND_TYPE; varCriteria:variant; bFindValidOnly:bool): ^ICertificates2;
function Select(Title:BSTR; DisplayString:BSTR; bMultiSelect:bool): ^ICertificates2;
function Add(pVal:^ICertificate2);
function Remove(Index:variant);
function Clear;
function Save(FileName:BSTR; Password:BSTR; SaveAs:CAPICOM_CERTIFICATES_SAVE_AS_TYPE; ExportFlag:CAPICOM_EXPORT_FLAG);
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Item(Index:I4): variant;
property-get Count: I4;
property-get _NewEnum: IUnknown;
function _ExportToStore(hCertStore:^void): HResult;
Dispatch ICertificates2; // ICertificates2 Interface
GUID={7B57C04B-1786-4B30-A7B6-36235CD58A14};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Item(Index:I4): variant;
property-get Count: I4;
property-get _NewEnum: IUnknown;
function Find(FindType:CAPICOM_CERTIFICATE_FIND_TYPE; varCriteria:variant; bFindValidOnly:bool): ^ICertificates2;
function Select(Title:BSTR; DisplayString:BSTR; bMultiSelect:bool): ^ICertificates2;
function Add(pVal:^ICertificate2);
function Remove(Index:variant);
function Clear;
function Save(FileName:BSTR; Password:BSTR; SaveAs:CAPICOM_CERTIFICATES_SAVE_AS_TYPE; ExportFlag:CAPICOM_EXPORT_FLAG);
Interface ICCertificates; // ICCertificates Interface
GUID={EBDC6DC2-684D-4425-BBB7-CB4D15A088A7};
function _ExportToStore(hCertStore:^void): HResult;
Class Chain; // Chain Class
GUID={550C8FFB-4DC0-4756-828C-862E6D0AE74F};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Certificates: ^ICertificates;
property-get Status(Index:I4): I4;
function Build(pICertificate:^ICertificate): bool;
function CertificatePolicies: ^IOIDs;
function ApplicationPolicies: ^IOIDs;
function ExtendedErrorInfo(Index:I4): BSTR;
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Certificates: ^ICertificates;
property-get Status(Index:I4): I4;
function Build(pICertificate:^ICertificate): bool;
property-get ChainContext(out pChainContext:^I4): HResult;
property-put ChainContext(pChainContext:I4): HResult;
function FreeContext(pChainContext:I4): HResult;
Dispatch IChain2; // IChain2 Interface
GUID={CA65D842-2110-4073-AEE3-D0AA5F56C421};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Certificates: ^ICertificates;
property-get Status(Index:I4): I4;
function Build(pICertificate:^ICertificate): bool;
function CertificatePolicies: ^IOIDs;
function ApplicationPolicies: ^IOIDs;
function ExtendedErrorInfo(Index:I4): BSTR;
Dispatch IChain; // IChain Interface
GUID={77F6F881-5D3A-4F2F-AEF0-E4A2F9AA689D};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Certificates: ^ICertificates;
property-get Status(Index:I4): I4;
function Build(pICertificate:^ICertificate): bool;
Interface IChainContext; // IChainContext Interface
GUID={B27FFB30-432E-4585-A3FD-72530108CBFD};
property-get ChainContext(out pChainContext:^I4): HResult;
property-put ChainContext(pChainContext:I4): HResult;
function FreeContext(pChainContext:I4): HResult;
Class Store; // Store Class
GUID={91D221C4-0CD4-461C-A728-01D509321556};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Certificates: ^ICertificates;
function Open(StoreLocation:CAPICOM_STORE_LOCATION; StoreName:BSTR; OpenMode:CAPICOM_STORE_OPEN_MODE);
function Add(pVal:^ICertificate);
function Remove(pVal:^ICertificate);
function Export(SaveAs:CAPICOM_STORE_SAVE_AS_TYPE; EncodingType:CAPICOM_ENCODING_TYPE): BSTR;
function Import(EncodedStore:BSTR);
function Load(FileName:BSTR; Password:BSTR; KeyStorageFlag:CAPICOM_KEY_STORAGE_FLAG);
property-get Name: BSTR;
property-get Location: CAPICOM_STORE_LOCATION;
function Delete: bool;
function Close;
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Certificates: ^ICertificates;
function Open(StoreLocation:CAPICOM_STORE_LOCATION; StoreName:BSTR; OpenMode:CAPICOM_STORE_OPEN_MODE);
function Add(pVal:^ICertificate);
function Remove(pVal:^ICertificate);
function Export(SaveAs:CAPICOM_STORE_SAVE_AS_TYPE; EncodingType:CAPICOM_ENCODING_TYPE): BSTR;
function Import(EncodedStore:BSTR);
function Load(FileName:BSTR; Password:BSTR; KeyStorageFlag:CAPICOM_KEY_STORAGE_FLAG);
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Certificates: ^ICertificates;
function Open(StoreLocation:CAPICOM_STORE_LOCATION; StoreName:BSTR; OpenMode:CAPICOM_STORE_OPEN_MODE);
function Add(pVal:^ICertificate);
function Remove(pVal:^ICertificate);
function Export(SaveAs:CAPICOM_STORE_SAVE_AS_TYPE; EncodingType:CAPICOM_ENCODING_TYPE): BSTR;
function Import(EncodedStore:BSTR);
property-get StoreHandle(out phCertStore:^I4): HResult;
property-put StoreHandle(phCertStore:I4): HResult;
property-get StoreLocation(out pStoreLocation:^CAPICOM_STORE_LOCATION): HResult;
property-put StoreLocation(pStoreLocation:CAPICOM_STORE_LOCATION): HResult;
function CloseHandle(hCertStore:I4): HResult;
Dispatch IStore3; // IStore3 Interface
GUID={F701F8EC-31C7-48FB-B621-5DE417C3A607};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Certificates: ^ICertificates;
function Open(StoreLocation:CAPICOM_STORE_LOCATION; StoreName:BSTR; OpenMode:CAPICOM_STORE_OPEN_MODE);
function Add(pVal:^ICertificate);
function Remove(pVal:^ICertificate);
function Export(SaveAs:CAPICOM_STORE_SAVE_AS_TYPE; EncodingType:CAPICOM_ENCODING_TYPE): BSTR;
function Import(EncodedStore:BSTR);
function Load(FileName:BSTR; Password:BSTR; KeyStorageFlag:CAPICOM_KEY_STORAGE_FLAG);
property-get Name: BSTR;
property-get Location: CAPICOM_STORE_LOCATION;
function Delete: bool;
function Close;
Dispatch IStore2; // IStore2 Interface
GUID={4DA6ABC4-BDCD-4317-B650-262075B93A9C};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Certificates: ^ICertificates;
function Open(StoreLocation:CAPICOM_STORE_LOCATION; StoreName:BSTR; OpenMode:CAPICOM_STORE_OPEN_MODE);
function Add(pVal:^ICertificate);
function Remove(pVal:^ICertificate);
function Export(SaveAs:CAPICOM_STORE_SAVE_AS_TYPE; EncodingType:CAPICOM_ENCODING_TYPE): BSTR;
function Import(EncodedStore:BSTR);
function Load(FileName:BSTR; Password:BSTR; KeyStorageFlag:CAPICOM_KEY_STORAGE_FLAG);
Dispatch IStore; // IStore Interface
GUID={E860EF75-1B63-4254-AF47-960DAA3DD337};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Certificates: ^ICertificates;
function Open(StoreLocation:CAPICOM_STORE_LOCATION; StoreName:BSTR; OpenMode:CAPICOM_STORE_OPEN_MODE);
function Add(pVal:^ICertificate);
function Remove(pVal:^ICertificate);
function Export(SaveAs:CAPICOM_STORE_SAVE_AS_TYPE; EncodingType:CAPICOM_ENCODING_TYPE): BSTR;
function Import(EncodedStore:BSTR);
Interface ICertStore; // ICertStore Interface
GUID={BB3ECB9C-A83A-445C-BDB5-EFBEF691B731};
property-get StoreHandle(out phCertStore:^I4): HResult;
property-put StoreHandle(phCertStore:I4): HResult;
property-get StoreLocation(out pStoreLocation:^CAPICOM_STORE_LOCATION): HResult;
property-put StoreLocation(pStoreLocation:CAPICOM_STORE_LOCATION): HResult;
function CloseHandle(hCertStore:I4): HResult;
Class Attribute; // Attribute Class
GUID={54BA1E8F-818D-407F-949D-BAE1692C5C18};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Name: CAPICOM_ATTRIBUTE;
property-put Name(CAPICOM_ATTRIBUTE);
property-get Value: variant;
property-put Value(variant);
Dispatch IAttribute; // IAttribute Interface
GUID={B17A8D78-B5A6-45F7-BA21-01AB94B08415};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Name: CAPICOM_ATTRIBUTE;
property-put Name(CAPICOM_ATTRIBUTE);
property-get Value: variant;
property-put Value(variant);
Class Attributes; // Attributes Class
GUID={933013A9-64C8-4485-ACEF-4908C3692A33};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Item(Index:I4): variant;
property-get Count: I4;
property-get _NewEnum: IUnknown;
function Add(pVal:^IAttribute);
function Remove(Index:I4);
function Clear;
Dispatch IAttributes; // IAttributes Interface
GUID={6ADC653E-D5B9-422A-991A-A2B0119CEDAC};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Item(Index:I4): variant;
property-get Count: I4;
property-get _NewEnum: IUnknown;
function Add(pVal:^IAttribute);
function Remove(Index:I4);
function Clear;
Class Signer; // Signer Class
GUID={60A9863A-11FD-4080-850E-A8E184FC3A3C};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Certificate: ^ICertificate;
property-put Certificate(^ICertificate);
property-get AuthenticatedAttributes: ^IAttributes;
property-get Chain: ^IChain;
property-get Options: CAPICOM_CERTIFICATE_INCLUDE_OPTION;
property-put Options(CAPICOM_CERTIFICATE_INCLUDE_OPTION);
function Load(FileName:BSTR; Password:BSTR);
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Certificate: ^ICertificate;
property-put Certificate(^ICertificate);
property-get AuthenticatedAttributes: ^IAttributes;
property-get AdditionalStore(out phAdditionalStore:^I4): HResult;
property-put AdditionalStore(phAdditionalStore:I4): HResult;
Dispatch ISigner2; // ISigner2 Interface
GUID={625B1F55-C720-41D6-9ECF-BA59F9B85F17};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Certificate: ^ICertificate;
property-put Certificate(^ICertificate);
property-get AuthenticatedAttributes: ^IAttributes;
property-get Chain: ^IChain;
property-get Options: CAPICOM_CERTIFICATE_INCLUDE_OPTION;
property-put Options(CAPICOM_CERTIFICATE_INCLUDE_OPTION);
function Load(FileName:BSTR; Password:BSTR);
Dispatch ISigner; // ISigner Interface
GUID={51017B88-1913-49AD-82BE-6BB7C417DCF2};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Certificate: ^ICertificate;
property-put Certificate(^ICertificate);
property-get AuthenticatedAttributes: ^IAttributes;
Interface ICSigner; // ICSigner Interface
GUID={8F83F792-014C-4E22-BD57-5C381E622F34};
property-get AdditionalStore(out phAdditionalStore:^I4): HResult;
property-put AdditionalStore(phAdditionalStore:I4): HResult;
Class Signers; // Signers Class
GUID={1314C1D8-D3A8-4F8A-BED0-811FD7A8A633};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Item(Index:I4): variant;
property-get Count: I4;
property-get _NewEnum: IUnknown;
Dispatch ISigners; // ISigners Interface
GUID={5A0780F8-9E6B-4BB0-BF54-87CD9627A8B4};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Item(Index:I4): variant;
property-get Count: I4;
property-get _NewEnum: IUnknown;
Class SignedData; // SignedData Class
GUID={94AFFFCC-6C05-4814-B123-A941105AA77F};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-put Content(BSTR);
property-get Content: BSTR;
property-get Signers: ^ISigners;
property-get Certificates: ^ICertificates;
function Sign(pSigner:^ISigner; bDetached:bool; EncodingType:CAPICOM_ENCODING_TYPE): BSTR;
function CoSign(pSigner:^ISigner; EncodingType:CAPICOM_ENCODING_TYPE): BSTR;
function Verify(SignedMessage:BSTR; bDetached:bool; VerifyFlag:CAPICOM_SIGNED_DATA_VERIFY_FLAG);
Dispatch ISignedData; // ISignedData Interface
GUID={AE9C454B-FC65-4C10-B130-CD9B45BA948B};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-put Content(BSTR);
property-get Content: BSTR;
property-get Signers: ^ISigners;
property-get Certificates: ^ICertificates;
function Sign(pSigner:^ISigner; bDetached:bool; EncodingType:CAPICOM_ENCODING_TYPE): BSTR;
function CoSign(pSigner:^ISigner; EncodingType:CAPICOM_ENCODING_TYPE): BSTR;
function Verify(SignedMessage:BSTR; bDetached:bool; VerifyFlag:CAPICOM_SIGNED_DATA_VERIFY_FLAG);
Class Algorithm; // Algorithm Class
GUID={A1EEF42F-5026-4A32-BC5C-2E552B70FD96};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Name: CAPICOM_ENCRYPTION_ALGORITHM;
property-put Name(CAPICOM_ENCRYPTION_ALGORITHM);
property-get KeyLength: CAPICOM_ENCRYPTION_KEY_LENGTH;
property-put KeyLength(CAPICOM_ENCRYPTION_KEY_LENGTH);
Dispatch IAlgorithm; // IAlgorithm Interface
GUID={BF3D04A9-B0DA-4153-B45E-6CCFA5AC715B};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Name: CAPICOM_ENCRYPTION_ALGORITHM;
property-put Name(CAPICOM_ENCRYPTION_ALGORITHM);
property-get KeyLength: CAPICOM_ENCRYPTION_KEY_LENGTH;
property-put KeyLength(CAPICOM_ENCRYPTION_KEY_LENGTH);
Class Recipients; // Recipients Class
GUID={96A1B8B0-8F9A-436A-84DE-E23CD6818DA5};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Item(Index:I4): variant;
property-get Count: I4;
property-get _NewEnum: IUnknown;
function Add(pVal:^ICertificate);
function Remove(Index:I4);
function Clear;
Dispatch IRecipients; // IRecipients Interface
GUID={A694C896-FC38-4C34-AE61-3B1A95984C14};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Item(Index:I4): variant;
property-get Count: I4;
property-get _NewEnum: IUnknown;
function Add(pVal:^ICertificate);
function Remove(Index:I4);
function Clear;
Class EnvelopedData; // EnvelopedData Class
GUID={F3A12E08-EDE9-4160-8B51-334D982A9AD0};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-put Content(BSTR);
property-get Content: BSTR;
property-get Algorithm: ^IAlgorithm;
property-get Recipients: ^IRecipients;
function Encrypt(EncodingType:CAPICOM_ENCODING_TYPE): BSTR;
function Decrypt(EnvelopedMessage:BSTR);
Dispatch IEnvelopedData; // IEnvelopedData Interface
GUID={F6CB6A20-CC18-4424-AE57-6F2AA3DC2059};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-put Content(BSTR);
property-get Content: BSTR;
property-get Algorithm: ^IAlgorithm;
property-get Recipients: ^IRecipients;
function Encrypt(EncodingType:CAPICOM_ENCODING_TYPE): BSTR;
function Decrypt(EnvelopedMessage:BSTR);
Class EncryptedData; // EncryptedData Class
GUID={A440BD76-CFE1-4D46-AB1F-15F238437A3D};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-put Content(BSTR);
property-get Content: BSTR;
property-get Algorithm: ^IAlgorithm;
function SetSecret(newVal:BSTR; SecretType:CAPICOM_SECRET_TYPE);
function Encrypt(EncodingType:CAPICOM_ENCODING_TYPE): BSTR;
function Decrypt(EncryptedMessage:BSTR);
Dispatch IEncryptedData; // IEncryptedData Interface
GUID={C4778A66-972F-42E4-87C5-5CC16F7931CA};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-put Content(BSTR);
property-get Content: BSTR;
property-get Algorithm: ^IAlgorithm;
function SetSecret(newVal:BSTR; SecretType:CAPICOM_SECRET_TYPE);
function Encrypt(EncodingType:CAPICOM_ENCODING_TYPE): BSTR;
function Decrypt(EncryptedMessage:BSTR);
Class OID; // OID Class
GUID={7BF3AC5C-CC84-429A-ACA5-74D916AD6B8C};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Name: CAPICOM_OID;
property-put Name(CAPICOM_OID);
property-get FriendlyName: BSTR;
property-put FriendlyName(BSTR);
property-get Value: BSTR;
property-put Value(BSTR);
Class OIDs; // OIDs Class
GUID={FD661131-D716-4D15-A187-AEAAB161C8AD};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Item(Index:variant): variant;
property-get Count: I4;
property-get _NewEnum: IUnknown;
function Add(pVal:^IOID);
function Remove(Index:variant);
function Clear;
Class NoticeNumbers; // NoticeNumbers Class
GUID={A6FDF22A-8E00-464B-B15D-1A891D88B6ED};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Item(Index:I4): variant;
property-get Count: I4;
property-get _NewEnum: IUnknown;
Dispatch INoticeNumbers; // INoticeNumbers Interface
GUID={EE2C051D-33A1-4157-86B4-9280E29782F2};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Item(Index:I4): variant;
property-get Count: I4;
property-get _NewEnum: IUnknown;
Class Qualifier; // Qualifier Class
GUID={E5F29B74-0902-4654-8A9A-21C5201DFA61};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get OID: ^IOID;
property-get CPSPointer: BSTR;
property-get OrganizationName: BSTR;
property-get NoticeNumbers: ^INoticeNumbers;
property-get ExplicitText: BSTR;
Dispatch IQualifier; // IQualifier Interface
GUID={3604C9DD-A22E-4A15-A469-8181C0C113DE};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get OID: ^IOID;
property-get CPSPointer: BSTR;
property-get OrganizationName: BSTR;
property-get NoticeNumbers: ^INoticeNumbers;
property-get ExplicitText: BSTR;
Class Qualifiers; // Qualifiers Class
GUID={6C8006C0-F649-4783-B4A6-617DD0B270C7};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Item(Index:I4): variant;
property-get Count: I4;
property-get _NewEnum: IUnknown;
Dispatch IQualifiers; // IQualifiers Interface
GUID={6B5A8AB6-597D-4398-AC63-1036EF546348};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Item(Index:I4): variant;
property-get Count: I4;
property-get _NewEnum: IUnknown;
Class PolicyInformation; // PolicyInformation Class
GUID={0AAF88F4-1C22-4F65-A0E3-289D97DCE994};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get OID: ^IOID;
property-get Qualifiers: ^IQualifiers;
Dispatch IPolicyInformation; // IPolicyInformation Interface
GUID={8973710C-8411-4951-9E65-D45FD524FFDF};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get OID: ^IOID;
property-get Qualifiers: ^IQualifiers;
Class CertificatePolicies; // CertificatePolicies Class
GUID={988583C2-00C7-4D22-9241-E810E35EED1B};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Item(Index:I4): variant;
property-get Count: I4;
property-get _NewEnum: IUnknown;
Dispatch ICertificatePolicies; // ICertificatePolicies Interface
GUID={CC7A72A7-C83A-4049-85F4-4292DE9DBFD3};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Item(Index:I4): variant;
property-get Count: I4;
property-get _NewEnum: IUnknown;
Class EncodedData; // EncodedData Class
GUID={7083C0AA-E7B9-48A4-8EFB-D6A109EBEC13};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Value(EncodingType:CAPICOM_ENCODING_TYPE): BSTR;
function Format(bMultiLines:bool): BSTR;
function Decoder: IDispatch;
Class Extension; // Extension Class
GUID={D2359E2C-82D6-458F-BB6F-41559155E693};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get OID: ^IOID;
property-get IsCritical: bool;
property-get EncodedData: ^IEncodedData;
Dispatch IExtension; // IExtension Interface
GUID={ED4E4ED4-FDD8-476E-AED9-5239E7948257};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get OID: ^IOID;
property-get IsCritical: bool;
property-get EncodedData: ^IEncodedData;
Class Extensions; // Extensions Class
GUID={7C92E131-C1DC-4CA1-B02C-F513A08B41ED};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Item(Index:variant): variant;
property-get Count: I4;
property-get _NewEnum: IUnknown;
Class ExtendedProperty; // ExtendedProperty Class
GUID={9E7EA907-5810-4FCA-B817-CD0BBA8496FC};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get PropID: CAPICOM_PROPID;
property-put PropID(CAPICOM_PROPID);
property-get Value(EncodingType:CAPICOM_ENCODING_TYPE): BSTR;
property-put Value(EncodingType:CAPICOM_ENCODING_TYPE; BSTR);
Class ExtendedProperties; // ExtendedProperties Class
GUID={90E7143D-1A07-438D-8F85-3DBB0B73D314};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Item(Index:I4): variant;
property-get Count: I4;
property-get _NewEnum: IUnknown;
function Add(pVal:^IExtendedProperty);
function Remove(PropID:CAPICOM_PROPID);
Class Template; // Template Class
GUID={61F0D2BD-373E-4F3C-962E-59B7C42C1B22};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get IsPresent: bool;
property-get IsCritical: bool;
property-get Name: BSTR;
property-get OID: ^IOID;
property-get MajorVersion: I4;
property-get MinorVersion: I4;
Class PublicKey; // PublicKey Class
GUID={301FC658-4055-4D76-9703-AA38E6D7236A};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Algorithm: ^IOID;
property-get Length: I4;
property-get EncodedKey: ^IEncodedData;
property-get EncodedParameters: ^IEncodedData;
Class PrivateKey; // PrivateKey Class
GUID={03ACC284-B757-4B8F-9951-86E600D2CD06};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get ContainerName: BSTR;
property-get UniqueContainerName: BSTR;
property-get ProviderName: BSTR;
property-get ProviderType: CAPICOM_PROV_TYPE;
property-get KeySpec: CAPICOM_KEY_SPEC;
function IsAccessible: bool;
function IsProtected: bool;
function IsExportable: bool;
function IsRemovable: bool;
function IsMachineKeyset: bool;
function IsHardwareDevice: bool;
function Open(ContainerName:BSTR; ProviderName:BSTR; ProviderType:CAPICOM_PROV_TYPE; KeySpec:CAPICOM_KEY_SPEC; StoreLocation:CAPICOM_STORE_LOCATION; bCheckExistence:bool);
function Delete;
function _GetKeyProvInfo(out pKeyProvInfo:^^_CRYPT_KEY_PROV_INFO): HResult;
function _GetKeyContext(out pKeyContext:^^_CERT_KEY_CONTEXT): HResult;
Interface ICPrivateKey; // ICPrivateKey Interface
GUID={50F241B7-A8F2-4E0A-B982-4BD7DF0CCF3C};
function _GetKeyProvInfo(out pKeyProvInfo:^^_CRYPT_KEY_PROV_INFO): HResult;
function _GetKeyContext(out pKeyContext:^^_CERT_KEY_CONTEXT): HResult;
Record _CRYPT_KEY_PROV_INFO;
pwszContainerName: LPWSTR;
pwszProvName: LPWSTR;
dwProvType: UI4;
dwFlags: UI4;
cProvParam: UI4;
rgProvParam: ^_CRYPT_KEY_PROV_PARAM;
dwKeySpec: UI4;
Record _CRYPT_KEY_PROV_PARAM;
dwParam: UI4;
pbData: ^UI1;
cbData: UI4;
dwFlags: UI4;
Record _CERT_KEY_CONTEXT;
cbSize: UI4;
__MIDL____MIDL_itf_capicom_0001_00640106: __MIDL___MIDL_itf_capicom_0001_0064_0024;
dwKeySpec: UI4;
Union __MIDL___MIDL_itf_capicom_0001_0064_0024;
hCryptProv: UI4;
hNCryptKey: UI4;
Class SignedCode; // SignedCode Class
GUID={8C3E4934-9FA4-4693-9253-A29A05F99186};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get FileName: BSTR;
property-put FileName(BSTR);
property-get Description: BSTR;
property-put Description(BSTR);
property-get DescriptionURL: BSTR;
property-put DescriptionURL(BSTR);
property-get Signer: ^ISigner2;
property-get TimeStamper: ^ISigner2;
property-get Certificates: ^ICertificates2;
function Sign(pISigner2:^ISigner2);
function Timestamp(URL:BSTR);
function Verify(bUIAllowed:bool);
Dispatch ISignedCode; // ISignedCode Interface
GUID={84FBCB95-5600-404C-9187-AC25B4CD6E94};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get FileName: BSTR;
property-put FileName(BSTR);
property-get Description: BSTR;
property-put Description(BSTR);
property-get DescriptionURL: BSTR;
property-put DescriptionURL(BSTR);
property-get Signer: ^ISigner2;
property-get TimeStamper: ^ISigner2;
property-get Certificates: ^ICertificates2;
function Sign(pISigner2:^ISigner2);
function Timestamp(URL:BSTR);
function Verify(bUIAllowed:bool);
Class HashedData; // HashedData Class
GUID={CE32ABF6-475D-41F6-BF82-D27F03E3D38B};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Value: BSTR;
property-get Algorithm: CAPICOM_HASH_ALGORITHM;
property-put Algorithm(CAPICOM_HASH_ALGORITHM);
function Hash(newVal:BSTR);
Dispatch IHashedData; // IHashedData Interface
GUID={9F7F23E8-06F4-42E8-B965-5CBD044BF27F};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Value: BSTR;
property-get Algorithm: CAPICOM_HASH_ALGORITHM;
property-put Algorithm(CAPICOM_HASH_ALGORITHM);
function Hash(newVal:BSTR);
Class Utilities; // Utilities Class
GUID={22A85CE1-F011-4231-B9E4-7E7A0438F71B};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
function GetRandom(Length:I4; EncodingType:CAPICOM_ENCODING_TYPE): BSTR;
function Base64Encode(SrcString:BSTR): BSTR;
function Base64Decode(EncodedString:BSTR): BSTR;
function BinaryToHex(BinaryString:BSTR): BSTR;
function HexToBinary(HexString:BSTR): BSTR;
function BinaryStringToByteArray(BinaryString:BSTR): variant;
function ByteArrayToBinaryString(varByteArray:variant): BSTR;
function LocalTimeToUTCTime(LocalTime:date): date;
function UTCTimeToLocalTime(UTCTime:date): date;
Dispatch IUtilities; // IUtilities Interface
GUID={EB166CF6-2AE6-44DA-BD96-0C1635D183FE};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
function GetRandom(Length:I4; EncodingType:CAPICOM_ENCODING_TYPE): BSTR;
function Base64Encode(SrcString:BSTR): BSTR;
function Base64Decode(EncodedString:BSTR): BSTR;
function BinaryToHex(BinaryString:BSTR): BSTR;
function HexToBinary(HexString:BSTR): BSTR;
function BinaryStringToByteArray(BinaryString:BSTR): variant;
function ByteArrayToBinaryString(varByteArray:variant): BSTR;
function LocalTimeToUTCTime(LocalTime:date): date;
function UTCTimeToLocalTime(UTCTime:date): date;
CapiCom 组件内部枚举类型 元素具体值
最新推荐文章于 2019-07-24 01:35:15 发布