Функция ImageEnumerateCertificates (imagehlp.h)
Извлекает сведения о сертификатах, содержащихся в данный момент в файле образа.
Синтаксис
BOOL IMAGEAPI ImageEnumerateCertificates(
[in] HANDLE FileHandle,
[in] WORD TypeFilter,
[out] PDWORD CertificateCount,
[in, out] PDWORD Indices,
[in, optional] DWORD IndexCount
);
Параметры
[in] FileHandle
Дескриптор файла изображения, который требуется изучить. Этот дескриптор должен быть открыт для доступа FILE_READ_DATA.
[in] TypeFilter
Тип раздела сертификата, используемый в качестве фильтра при возврате сведений о сертификате. CERT_SECTION_TYPE_ANY должны передаваться для получения сведений обо всех типах разделов, присутствующих на изображении.
[out] CertificateCount
Указатель на переменную, получающую количество сертификатов на изображении, содержащее разделы типа, указанного параметром TypeFilter . Если ни один из них не найден, этот параметр равен нулю.
[in, out] Indices
При необходимости предоставляет буфер для возврата массива индексов сертификатам, содержащим разделы указанного типа. При запросе CERT_SECTION_TYPE_ANY не следует предполагать упорядочение значений индекса. Кроме того, они не гарантируются как непрерывные.
[in, optional] IndexCount
Размер буфера индексов в DWORD. Этот параметр будет проверяться при каждом наличии индексов . Если значение CertificateCount больше IndexCount, индексы будут заполнены первыми разделами IndexCount , найденными на изображении; все остальные не будут возвращены.
Возвращаемое значение
Если функция выполняется успешно, возвращается значение TRUE.
Если функция завершается сбоем, возвращается значение FALSE. Чтобы получить расширенные сведения об ошибке, вызовите Метод GetLastError.
Комментарии
Функция ImageEnumerateCertificates возвращает сведения о сертификатах, содержащихся в данный момент в файле образа. Он имеет возможности фильтрации, которые позволяют возвращать сертификаты, содержащие разделы любого отдельного типа (или любого типа).
После обнаружения индексов интересных сертификатов их можно передать в функцию ImageGetCertificateData , чтобы получить фактические тела сертификатов.
Все функции ImageHlp, такие как эта, являются однопоточными. Поэтому вызовы из нескольких потоков к этой функции, скорее всего, приведут к непредвиденному поведению или повреждению памяти. Чтобы избежать этого, необходимо синхронизировать все параллельные вызовы из нескольких потоков в эту функцию.
Требования
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | imagehlp.h |
Библиотека | Imagehlp.lib |
DLL | Imagehlp.dll |