📄 capicom_tlb.pas
字号:
CAPICOM_CERTIFICATE_FIND_ISSUER_NAME = $00000002;
CAPICOM_CERTIFICATE_FIND_ROOT_NAME = $00000003;
CAPICOM_CERTIFICATE_FIND_TEMPLATE_NAME = $00000004;
CAPICOM_CERTIFICATE_FIND_EXTENSION = $00000005;
CAPICOM_CERTIFICATE_FIND_EXTENDED_PROPERTY = $00000006;
CAPICOM_CERTIFICATE_FIND_APPLICATION_POLICY = $00000007;
CAPICOM_CERTIFICATE_FIND_CERTIFICATE_POLICY = $00000008;
CAPICOM_CERTIFICATE_FIND_TIME_VALID = $00000009;
CAPICOM_CERTIFICATE_FIND_TIME_NOT_YET_VALID = $0000000A;
CAPICOM_CERTIFICATE_FIND_TIME_EXPIRED = $0000000B;
CAPICOM_CERTIFICATE_FIND_KEY_USAGE = $0000000C;
// Constants for enum CAPICOM_HASH_ALGORITHM
type
CAPICOM_HASH_ALGORITHM = TOleEnum;
const
CAPICOM_HASH_ALGORITHM_SHA1 = $00000000;
CAPICOM_HASH_ALGORITHM_MD2 = $00000001;
CAPICOM_HASH_ALGORITHM_MD4 = $00000002;
CAPICOM_HASH_ALGORITHM_MD5 = $00000003;
CAPICOM_HASH_ALGORITHM_SHA_256 = $00000004;
CAPICOM_HASH_ALGORITHM_SHA_384 = $00000005;
CAPICOM_HASH_ALGORITHM_SHA_512 = $00000006;
type
// *********************************************************************//
// Forward declaration of types defined in TypeLibrary
// *********************************************************************//
ISettings = interface;
ISettingsDisp = dispinterface;
IEKU = interface;
IEKUDisp = dispinterface;
IEKUs = interface;
IEKUsDisp = dispinterface;
IKeyUsage = interface;
IKeyUsageDisp = dispinterface;
IExtendedKeyUsage = interface;
IExtendedKeyUsageDisp = dispinterface;
IBasicConstraints = interface;
IBasicConstraintsDisp = dispinterface;
ICertificateStatus = interface;
ICertificateStatusDisp = dispinterface;
ICertificateStatus2 = interface;
ICertificateStatus2Disp = dispinterface;
ICertificateStatus3 = interface;
ICertificateStatus3Disp = dispinterface;
IOIDs = interface;
IOIDsDisp = dispinterface;
IOID = interface;
IOIDDisp = dispinterface;
ICertificates = interface;
ICertificatesDisp = dispinterface;
ICertificate = interface;
ICertificateDisp = dispinterface;
ICertificate2 = interface;
ICertificate2Disp = dispinterface;
ICertContext = interface;
ITemplate = interface;
ITemplateDisp = dispinterface;
IPublicKey = interface;
IPublicKeyDisp = dispinterface;
IEncodedData = interface;
IEncodedDataDisp = dispinterface;
IPrivateKey = interface;
IPrivateKeyDisp = dispinterface;
IExtensions = interface;
IExtensionsDisp = dispinterface;
IExtendedProperties = interface;
IExtendedPropertiesDisp = dispinterface;
IExtendedProperty = interface;
IExtendedPropertyDisp = dispinterface;
ICertificates2 = interface;
ICertificates2Disp = dispinterface;
ICCertificates = interface;
IChain = interface;
IChainDisp = dispinterface;
IChain2 = interface;
IChain2Disp = dispinterface;
IChainContext = interface;
IStore = interface;
IStoreDisp = dispinterface;
IStore2 = interface;
IStore2Disp = dispinterface;
IStore3 = interface;
IStore3Disp = dispinterface;
ICertStore = interface;
IAttribute = interface;
IAttributeDisp = dispinterface;
IAttributes = interface;
IAttributesDisp = dispinterface;
ISigner = interface;
ISignerDisp = dispinterface;
ISigner2 = interface;
ISigner2Disp = dispinterface;
ICSigner = interface;
ISigners = interface;
ISignersDisp = dispinterface;
ISignedData = interface;
ISignedDataDisp = dispinterface;
IAlgorithm = interface;
IAlgorithmDisp = dispinterface;
IRecipients = interface;
IRecipientsDisp = dispinterface;
IEnvelopedData = interface;
IEnvelopedDataDisp = dispinterface;
IEncryptedData = interface;
IEncryptedDataDisp = dispinterface;
INoticeNumbers = interface;
INoticeNumbersDisp = dispinterface;
IQualifier = interface;
IQualifierDisp = dispinterface;
IQualifiers = interface;
IQualifiersDisp = dispinterface;
IPolicyInformation = interface;
IPolicyInformationDisp = dispinterface;
ICertificatePolicies = interface;
ICertificatePoliciesDisp = dispinterface;
IExtension = interface;
IExtensionDisp = dispinterface;
ICPrivateKey = interface;
ISignedCode = interface;
ISignedCodeDisp = dispinterface;
IHashedData = interface;
IHashedDataDisp = dispinterface;
IUtilities = interface;
IUtilitiesDisp = dispinterface;
// *********************************************************************//
// Declaration of CoClasses defined in Type Library
// (NOTE: Here we map each CoClass to its Default Interface)
// *********************************************************************//
Settings = ISettings;
EKU = IEKU;
EKUs = IEKUs;
KeyUsage = IKeyUsage;
ExtendedKeyUsage = IExtendedKeyUsage;
BasicConstraints = IBasicConstraints;
CertificateStatus = ICertificateStatus3;
Certificate = ICertificate2;
Certificates = ICertificates2;
Chain = IChain2;
Store = IStore3;
Attribute = IAttribute;
Attributes = IAttributes;
Signer = ISigner2;
Signers = ISigners;
SignedData = ISignedData;
Algorithm = IAlgorithm;
Recipients = IRecipients;
EnvelopedData = IEnvelopedData;
EncryptedData = IEncryptedData;
OID = IOID;
OIDs = IOIDs;
NoticeNumbers = INoticeNumbers;
Qualifier = IQualifier;
Qualifiers = IQualifiers;
PolicyInformation = IPolicyInformation;
CertificatePolicies = ICertificatePolicies;
EncodedData = IEncodedData;
Extension = IExtension;
Extensions = IExtensions;
ExtendedProperty = IExtendedProperty;
ExtendedProperties = IExtendedProperties;
Template = ITemplate;
PublicKey = IPublicKey;
PrivateKey = IPrivateKey;
SignedCode = ISignedCode;
HashedData = IHashedData;
Utilities = IUtilities;
// *********************************************************************//
// Declaration of structures, unions and aliases.
// *********************************************************************//
PUserType1 = ^_CRYPT_KEY_PROV_INFO; {*}
PUserType2 = ^_CERT_KEY_CONTEXT; {*}
_CRYPT_KEY_PROV_PARAM = packed record
dwParam: LongWord;
pbData: ^Byte;
cbData: LongWord;
dwFlags: LongWord;
end;
_CRYPT_KEY_PROV_INFO = packed record
pwszContainerName: PWideChar;
pwszProvName: PWideChar;
dwProvType: LongWord;
dwFlags: LongWord;
cProvParam: LongWord;
rgProvParam: ^_CRYPT_KEY_PROV_PARAM;
dwKeySpec: LongWord;
end;
__MIDL___MIDL_itf_capicom_0001_0064_0024 = record
case Integer of
0: (hCryptProv: LongWord);
1: (hNCryptKey: LongWord);
end;
_CERT_KEY_CONTEXT = packed record
cbSize: LongWord;
__MIDL____MIDL_itf_capicom_0001_00640106: __MIDL___MIDL_itf_capicom_0001_0064_0024;
dwKeySpec: LongWord;
end;
// *********************************************************************//
// Interface: ISettings
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {A24104F5-46D0-4C0F-926D-665565908E91}
// *********************************************************************//
ISettings = interface(IDispatch)
['{A24104F5-46D0-4C0F-926D-665565908E91}']
function Get_EnablePromptForCertificateUI: WordBool; safecall;
procedure Set_EnablePromptForCertificateUI(pVal: WordBool); safecall;
function Get_ActiveDirectorySearchLocation: CAPICOM_ACTIVE_DIRECTORY_SEARCH_LOCATION; safecall;
procedure Set_ActiveDirectorySearchLocation(pVal: CAPICOM_ACTIVE_DIRECTORY_SEARCH_LOCATION); safecall;
property EnablePromptForCertificateUI: WordBool read Get_EnablePromptForCertificateUI write Set_EnablePromptForCertificateUI;
property ActiveDirectorySearchLocation: CAPICOM_ACTIVE_DIRECTORY_SEARCH_LOCATION read Get_ActiveDirectorySearchLocation write Set_ActiveDirectorySearchLocation;
end;
// *********************************************************************//
// DispIntf: ISettingsDisp
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {A24104F5-46D0-4C0F-926D-665565908E91}
// *********************************************************************//
ISettingsDisp = dispinterface
['{A24104F5-46D0-4C0F-926D-665565908E91}']
property EnablePromptForCertificateUI: WordBool dispid 1;
property ActiveDirectorySearchLocation: CAPICOM_ACTIVE_DIRECTORY_SEARCH_LOCATION dispid 2;
end;
// *********************************************************************//
// Interface: IEKU
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {976B7E6D-1002-4051-BFD4-824A74BD74E2}
// *********************************************************************//
IEKU = interface(IDispatch)
['{976B7E6D-1002-4051-BFD4-824A74BD74E2}']
function Get_Name: CAPICOM_EKU; safecall;
procedure Set_Name(pVal: CAPICOM_EKU); safecall;
function Get_OID: WideString; safecall;
procedure Set_OID(const pVal: WideString); safecall;
property Name: CAPICOM_EKU read Get_Name write Set_Name;
property OID: WideString read Get_OID write Set_OID;
end;
// *********************************************************************//
// DispIntf: IEKUDisp
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {976B7E6D-1002-4051-BFD4-824A74BD74E2}
// *********************************************************************//
IEKUDisp = dispinterface
['{976B7E6D-1002-4051-BFD4-824A74BD74E2}']
property Name: CAPICOM_EKU dispid 0;
property OID: WideString dispid 1;
end;
// *********************************************************************//
// Interface: IEKUs
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {47C87CEC-8C4B-4E3C-8D22-34280274EFD1}
// *********************************************************************//
IEKUs = interface(IDispatch)
['{47C87CEC-8C4B-4E3C-8D22-34280274EFD1}']
function Get_Item(Index: Integer): OleVariant; safecall;
function Get_Count: Integer; safecall;
function Get__NewEnum: IUnknown; safecall;
property Item[Index: Integer]: OleVariant read Get_Item; default;
property Count: Integer read Get_Count;
property _NewEnum: IUnknown read Get__NewEnum;
end;
// *********************************************************************//
// DispIntf: IEKUsDisp
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {47C87CEC-8C4B-4E3C-8D22-34280274EFD1}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -