[New - Windows NT]
The WinTrustSubjectGetCertificate function retrieves a specified certificate from a subject.
BOOL WinTrustSubjectGetCertificate(
LPWIN_TRUST_SIP_SUBJECT lpSubject, | // pointer to description of the subject |
DWORD dwCertificateIndex, | // type of certificate to retrieve |
LPWIN_CERTIFICATE lpCertificate, | // pointer to a buffer that receives the certificate |
LPDWORD lpRequiredLength | // pointer to the size, in bytes, of the buffer |
); |
Parameters
lpSubject
Pointer to a WIN_TRUST_SIP_SUBJECT structure that identifies the subject from which to get a certificate.
dwCertificateIndex
Specifies the type of certificate to retrieve. You can call the WinTrustSubjectEnumCertificates function to enumerate the types of certificates that the subject contains.
lpCertificate
Pointer to buffer that receives the WIN_CERTIFICATE structure header and the associated certificate data.
lpRequiredLength
Pointer to a DWORD. On input, it specifies the size, in bytes, of the lpCertificate buffer. On output, it receives the length of the returned certificate. If the buffer is not large enough to hold the certificate, the function fails, and lpRequiredLength returns the required buffer size.
Return Values
If the function succeeds, the return value is a nonzero value.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
Remarks
A trust provider calls the WinTrust implementation of the WinTrustSubjectGetCertificate function. WinTrust then calls the WinTrustSubjectGetCertificate implementation of the appropriate Subject Interface Package (SIP). The appropriate SIP is the one registered to handle the type of subject specified by the lpSubject parameter.
Each Subject Interface Package (SIP) DLL must implement the WinTrustSubjectGetCertificate function. WinTrust gets a pointer to the SIP's WinTrustSubjectGetCertificate implementation when WinTrust calls the SIP's WinTrustSipInitialize initialization function.
The LPWINTRUST_SUBJECT_GET_CERTIFICATE type is a pointer to a WinTrustSubjectGetCertificate function.
See Also
WIN_CERTIFICATE, WIN_TRUST_SIP_SUBJECT, WinTrustSipInitialize, WinTrustSubjectEnumCertificates