WinTrustSubjectEnumCertificates

【勇芳软件工作室】汉化HomePreviousNext

[New - Windows NT]

WinTrustSubjectEnumCertificates功能确定主题中捆绑的证书的类型。您可以检索主题包含的所有证书类型的列表,或者您可以确定主题是否包含指定的证书类型。

BOOL WinTrustSubjectEnumCertificates(

LPWIN_TRUST_SIP_SUBJECT 【lpSubject】,//指向主题描述的指针
DWORD 【dwTypeFilter】,//枚举类型的证书
LPDWORD 【lpCertificateCount】,//接收指定类型的证书数
LPDWORD 【lpIndices】,//指向接收证书类型的数组的指针
DWORD 【dwIndexCount】//数组的大小
); 

参数

【lpSubject】

指向WIN_TRUST_SIP_SUBJECT结构的指针,用于标识从中获取证书信息的主题。

【dwTypeFilter】

指定要列出的证书类型。此参数可以为零以列出所有类型的证书,也可以是以下值之一。

含义
WIN_CERT_TYPE_X509证书包含X.509证书。
WIN_CERT_TYPE_PKCS_SIGNED_DATA证书包含PKCS SignedData结构。
WIN_CERT_TYPE_RESERVED_1保留。

【lpCertificateCount】

指向DWORD【lpSubject】,它接收由【lpSubject】标识的主题中指定类型的证书数量。该值表示即使【lpIndices】数组不够大以容纳它们也可以返回的数字。

【lpIndices】

指向一组DWORD值,它们接收一个WIN_CERT_TYPE_xxx值的列表,该列表指示主题中捆绑的证书的类型。您可以在WinTrustSubjectGetCertificate函数中使用这些证书类型值来检索实际证书。

【lpCertificateCount】中返回的值表示数组中返回的有效条目数。如果【dwIndexCount】小于【lpCertificateCount】中返回的值,则该数组包含垃圾,您需要再次使用更大的数组调用WinTrustSubjectEnumCertificates.

【dwIndexCount】

表示【lpIndices】数组中可以返回的条目数。

返回值

如果函数成功,则返回值为非零值。

如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.

备注

信任提供者调用WinTrustSubjectEnumCertificates函数来检索指定主题中的证书类型。信任提供者调用该函数的WinTrust实现。WinTrust然后调用相应的主题界面包(SIP)的WinTrustSubjectEnumCertificates实现。适当的SIP是注册以处理由【lpSubject】参数指定的主题类型的SIP。

每个主题界面包(SIP)DLL都必须实现WinTrustSubjectEnumCertificates功能。当WinTrust调用SIP的WinTrustSipInitialize初始化功能时,WinTrust将获得指向SIP的WinTrustSubjectEnumCertificates实现的指针。

LPWINTRUST_SUBJECT_ENUM_CERTIFICATES类型是指向WinTrustSubjectEnumCertificates函数的指针。

也可以看看

WIN_TRUST_SIP_SUBJECT, WinTrustSipInitialize