CertEnumCertificatesInStore (Compact 2013)
3/28/2014
This function retrieves the first or next certificate in a certificate store. Used in a loop, this function can retrieve in sequence all certificates in a certificate store.
Syntax
PCCERT_CONTEXT WINAPI CertEnumCertificatesInStore(
HCERTSTORE hCertStore,
PCCERT_CONTEXT pPrevCertContext
);
Parameters
- hCertStore
[in] Handle to a certificate store.
pPrevCertContext
[in] Pointer to the CERT_CONTEXT structure of the previous certificate context found.This parameter must be NULL to begin the enumeration and get the first certificate in the store. Successive certificates are enumerated by setting the pPrevCertContext parameter to the pointer returned by a previous call to the function.
The enumeration skips any certificate previously deleted by the CertDeleteCertificateFromStore function.
Return Value
If the function succeeds, the return value is a pointer to the next CERT_CONTEXT structure in the store. If no more certificates exist in the store, the function returns NULL.
For extended error information, call the GetLastError function. The following table shows some possible error codes.
Value |
Description |
---|---|
E_INVALIDARG |
The handle in the hCertStore parameter is not the same as that in the certificate context pointed to by the pPrevCertContext parameter. |
CRYPT_E_NOT_FOUND |
No certificates were found. This happens if the store is empty or if the function reached the end of the store's list. |
Remarks
The returned pointer is freed when passed as the pPrevCertContext parameter on a subsequent call. Otherwise, the pointer must be freed by calling the CertFreeCertificateContext function. A pPrevCertContext parameter that is not NULL is always freed by the CertFreeCertificateContext function, even for an error.
A duplicate of the currently enumerated certificate can be made by calling the CertDuplicateCertificateContext function.
Requirements
Header |
wincrypt.h |
Library |
crypt32.lib |
See Also
Reference
Certificates Functions
CertDeleteCertificateFromStore
CertDuplicateCertificateContext
CertFindCertificateInStore
CertFreeCertificateContext
CERT_CONTEXT