Поделиться через


Функция CryptCATAdminEnumCatalogFromHash (mscat.h)

[Функция CryptCATAdminEnumCatalogFromHash доступна для использования в операционных системах, указанных в разделе Требования. Он может быть изменен или недоступен в последующих версиях.]

Функция CryptCATAdminEnumCatalogFromHash перечисляет каталоги, содержащие указанный хэш. Хэш обычно возвращается из функции CryptCATAdminCalcHashFromFileHandle . После окончательного вызова этой функции вызовите CryptCATAdminReleaseCatalogContext , чтобы освободить выделенную память.

Синтаксис

HCATINFO CryptCATAdminEnumCatalogFromHash(
  [in] HCATADMIN hCatAdmin,
  [in] BYTE      *pbHash,
  [in] DWORD     cbHash,
  [in] DWORD     dwFlags,
  [in] HCATINFO  *phPrevCatInfo
);

Параметры

[in] hCatAdmin

Дескриптор контекста администратора каталога, ранее назначенный функцией CryptCATAdminAcquireContext .

[in] pbHash

Указатель на буфер, содержащий хэш, полученный путем вызова CryptCATAdminCalcHashFromFileHandle.

[in] cbHash

Количество байтов в буфере, выделенном для pbHash.

[in] dwFlags

Этот параметр зарезервирован для использования в будущем и должен иметь нулевое значение.

[in] phPrevCatInfo

Указатель на дескриптор предыдущего контекста каталога или значение NULL. Чтобы получить первый каталог, содержащий хэш, или запустить перечисление всех каталогов, передайте значение NULL для этого параметра. Чтобы продолжить перечисление, передайте возвращаемое значение предыдущего вызова, пока каталоги не будут найдены.

Возвращаемое значение

Возвращаемое значение является дескриптором контекста каталога или значением NULL , если нет дополнительных каталогов для перечисления.

Примечание: Тип HCATINFO — это просто определение типа для HANDLE, что упрощает случайное использование HCATINFO в неправильном контексте. В частности, это НЕ то же самое, что HANDLE, возвращаемый из CryptCATOpen, хотя компилятор не будет препятствовать использованию HCATINFO в любой функции, которая ожидает дескриптор каталога. Чтобы получить дескриптор каталога из этой функции, сначала вызовите CryptCATCatalogInfoFromContext , чтобы получить имя файла каталога, а затем вызовите CryptCATOpen с этим именем файла.

Для получения дополнительных сведений об ошибке вызовите функцию GetLastError . Полный список кодов ошибок, предоставляемых операционной системой, см. в разделе Системные коды ошибок.

Примечание: Функция возвращает значение типа HCATINFO, но это просто определение типа для HANDLE. Из-за этого легко случайно использовать HCATINFO при вызове функции, которая ожидает другой тип HANDLE. В частности, это не то же самое, что HANDLE , возвращенный из CryptCATOpen, хотя компилятор не будет препятствовать использованию HCATINFO в любой функции, которая ожидает дескриптор каталога.

Чтобы получить дескриптор каталога из этой функции, сначала вызовите CryptCATCatalogInfoFromContext , чтобы получить имя каталога, а затем вызовите CryptCATOpen с этим именем файла, чтобы открыть каталог.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header mscat.h
Библиотека Wintrust.lib
DLL Wintrust.dll