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


Функция CertEnumSystemStore (wincrypt.h)

Функция CertEnumSystemStore извлекает системные хранилища, доступные. Функция вызывает предоставленную функцию обратного вызова для каждого найденного системного хранилища.

Синтаксис

BOOL CertEnumSystemStore(
  [in]           DWORD                      dwFlags,
  [in, optional] void                       *pvSystemStoreLocationPara,
  [in]           void                       *pvArg,
  [in]           PFN_CERT_ENUM_SYSTEM_STORE pfnEnum
);

Параметры

[in] dwFlags

Указывает расположение системного хранилища. Этот параметр может иметь один из следующих флагов:

  • CERT_SYSTEM_STORE_CURRENT_USER
  • CERT_SYSTEM_STORE_CURRENT_SERVICE
  • CERT_SYSTEM_STORE_LOCAL_MACHINE
  • CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY
  • CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY
  • CERT_SYSTEM_STORE_SERVICES
  • CERT_SYSTEM_STORE_USERS
  • CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE
Кроме того, CERT_SYSTEM_STORE_RELOCATE_FLAG можно комбинировать с помощью побитовой операции ИЛИ с любым из флагов расположения с высоким уровнем слов.

[in, optional] pvSystemStoreLocationPara

Если параметр CERT_SYSTEM_STORE_RELOCATE_FLAG задан в параметре dwFlags , pvSystemStoreLocationPara указывает на CERT_SYSTEM_STORE_RELOCATE_PARA структуру, которая указывает как имя, так и расположение системного хранилища. В противном случае pvSystemStoreLocationPara является указателем на строку Юникода, которая называет системное хранилище.

Для CERT_SYSTEM_STORE_LOCAL_MACHINE или CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY параметру pvSystemStoreLocationPara при необходимости можно задать имя компьютера в Юникоде для перечисления локальных хранилищ компьютеров на удаленном компьютере, например "\\computer_name" или "computer_name". Начальная обратная косая черта (\) в computer_name необязательна.

Для CERT_SYSTEM_STORE_SERVICES или CERT_SYSTEM_STORE_USERS, если pvSystemStoreLocationPara имеет значение NULL, функция перечисляет имена служб или пользователей и хранилища для каждого имени службы или пользователя. В противном случае pvSystemStoreLocationPara — это строка Юникода, содержащая имя удаленного компьютера и, если доступно, имя службы или пользователя, например "service_name", "\\computer_name" или "computer_name".

Если указан только computer_name , у него должны быть начальные обратные косые черты (\) или обратная косая черта в конце (\). В противном случае он интерпретируется как service_name или user_name.

[in] pvArg

Указатель на void , который позволяет приложению объявлять, определять и инициализировать структуру для хранения любых сведений, передаваемых в функцию перечисления обратного вызова.

[in] pfnEnum

Указатель на функцию обратного вызова, используемую для отображения сведений о каждом системном хранилище. Эта функция обратного вызова определяет содержимое и формат для представления сведений в каждом системном хранилище. Приложение должно предоставить функцию обратного вызова CertEnumSystemStoreCallback .

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

Если функция выполнена успешно, функция возвращает значение TRUE.

Если функция завершается сбоем, она возвращает значение FALSE.

Комментарии

Чтобы использовать CertEnumSystemStore, приложение должно объявить и определить структуру ENUM_ARG и функцию обратного вызова CertEnumSystemStoreCallback .

Примеры

Пример использования этой функции см. в разделе Пример программы C. Перечисление системных и физических хранилищ.

Требования

   
Минимальная версия клиента Windows XP [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2003 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header wincrypt.h
Библиотека Crypt32.lib
DLL Crypt32.dll

См. также раздел

CERT_SYSTEM_STORE_RELOCATE_PARA

CertEnumPhysicalStore

CertEnumSystemStoreLocation

CertRegisterPhysicalStore

CertRegisterSystemStore

CertUnregisterPhysicalStore

CertUnregisterSystemStore

Функции хранилища сертификатов