Функция CryptEnumKeyIdentifierProperties (wincrypt.h)
Синтаксис
BOOL CryptEnumKeyIdentifierProperties(
[in, optional] const CRYPT_HASH_BLOB *pKeyIdentifier,
[in] DWORD dwPropId,
[in] DWORD dwFlags,
[in, optional] LPCWSTR pwszComputerName,
[in] void *pvReserved,
[in, optional] void *pvArg,
[in] PFN_CRYPT_ENUM_KEYID_PROP pfnEnum
);
Параметры
[in, optional] pKeyIdentifier
Указатель на структуру CRYPT_HASH_BLOB , содержащую идентификатор ключа.
Если pKeyIdentifier имеет значение NULL, функция перечисляет все идентификаторы ключей.
Если pKeyIdentifier не равно NULL, функция обратного вызова pfnEnum вызывается только для указанного идентификатора ключа.
[in] dwPropId
Указывает идентификатор свойства для перечисления.
Если значение dwPropId равно нулю, эта функция вызывает функцию обратного вызова со всеми свойствами.
Если значение dwPropId не равно нулю, а pKeyIdentifier имеет значение NULL, функция обратного вызова вызывается только для тех идентификаторов ключей, которые имеют указанное свойство (задает для параметра cProppfnEnum значение 1 ). Все идентификаторы ключей, у которых нет свойства , пропускаются.
Можно использовать любой идентификатор свойства сертификата.
[in] dwFlags
По умолчанию выполняется поиск в списке идентификаторов ключей для CurrentUser. Если задано CRYPT_KEYID_MACHINE_FLAG, выполняется поиск в списке идентификаторов ключей LocalMachine (если pwszComputerName имеет значение NULL) или удаленного компьютера (если pwszComputerName не равно NULL). Дополнительные сведения см. в разделе pwszComputerName.
[in, optional] pwszComputerName
Указатель на имя удаленного компьютера для поиска. Если CRYPT_KEYID_MACHINE_FLAG задано в dwFlags, на удаленном компьютере выполняется поиск списка идентификаторов ключей. Если выполняется поиск на локальном компьютере, а не на удаленном компьютере, pwszComputerName устанавливается значение NULL.
[in] pvReserved
Зарезервировано для использования в будущем и должно иметь значение NULL.
[in, optional] pvArg
Указатель на данные, передаваемые в функцию обратного вызова. Тип представляет собой пустоту, которая позволяет приложению объявлять, определять и инициализировать структуру или аргумент для хранения любой информации.
[in] pfnEnum
Указатель на определяемую приложением функцию обратного вызова, которая выполняется для каждой записи идентификатора ключа, которая соответствует входным параметрам. Дополнительные сведения о параметрах функций обратного вызова см. в разделе CRYPT_ENUM_KEYID_PROP.
Возвращаемое значение
Функция CryptEnumKeyIdentifierProperties неоднократно вызывает функцию обратного вызова CRYPT_ENUM_KEYID_PROP , пока не будет перечислен последний идентификатор ключа или функция обратного вызова не вернет значение FALSE.
Если main функция завершается успешно, функция возвращает ненулевое значение (TRUE).
Если функция завершается сбоем, она возвращает ноль (FALSE). Для получения дополнительных сведений об ошибке вызовите Метод GetLastError.
Чтобы продолжить перечисление, функция возвращает значение TRUE.
Чтобы остановить перечисление, функция возвращает значение FALSE и задает код последней ошибки.
Комментарии
Идентификатор ключа может иметь те же свойства, что и контекст сертификата.
Примеры
Пример использования этой функции см. в разделе Пример программы C. Работа с идентификаторами ключей.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | wincrypt.h |
Библиотека | Crypt32.lib |
DLL | Crypt32.dll |