Compartir a través de


Función CertEnumSystemStore (wincrypt.h)

La función CertEnumSystemStore recupera los almacenes del sistema disponibles. La función llama a la función de devolución de llamada proporcionada para cada almacén del sistema encontrado.

Sintaxis

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

Parámetros

[in] dwFlags

Especifica la ubicación del almacén del sistema. Este parámetro puede ser una de las marcas siguientes:

  • 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
Además, el CERT_SYSTEM_STORE_RELOCATE_FLAG se puede combinar mediante una operación OR bit a bit, con cualquiera de las marcas de ubicación de alta palabra.

[in, optional] pvSystemStoreLocationPara

Si CERT_SYSTEM_STORE_RELOCATE_FLAG se establece en el parámetro dwFlags , pvSystemStoreLocationPara apunta a una estructura de CERT_SYSTEM_STORE_RELOCATE_PARA que indica el nombre y la ubicación del almacén del sistema. De lo contrario, pvSystemStoreLocationPara es un puntero a una cadena Unicode que asigna un nombre al almacén del sistema.

Para CERT_SYSTEM_STORE_LOCAL_MACHINE o CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY, pvSystemStoreLocationPara se puede establecer opcionalmente en un nombre de equipo Unicode para enumerar los almacenes de equipos locales en un equipo remoto, por ejemplo "\\computer_name" o "computer_name". Las barras diagonales inversas iniciales (\) son opcionales en el computer_name.

Para CERT_SYSTEM_STORE_SERVICES o CERT_SYSTEM_STORE_USERS, si pvSystemStoreLocationPara es NULL, la función enumera los nombres de servicio o usuario y los almacenes de cada nombre de servicio o usuario. De lo contrario, pvSystemStoreLocationPara es una cadena Unicode que contiene un nombre de equipo remoto y, si está disponible, un nombre de servicio o usuario, por ejemplo, "service_name", "\\computer_name" o "computer_name".

Si solo se especifica el computer_name , debe tener las barras diagonales inversas iniciales (\) o una barra diagonal inversa final (\). De lo contrario, se interpreta como el service_name o user_name.

[in] pvArg

Puntero a un void que permite a la aplicación declarar, definir e inicializar una estructura para contener cualquier información que se pase a la función de enumeración de devolución de llamada.

[in] pfnEnum

Puntero a la función de devolución de llamada que se usa para mostrar los detalles de cada almacén del sistema. Esta función de devolución de llamada determina el contenido y el formato de la presentación de información en cada almacén del sistema. La aplicación debe proporcionar la función de devolución de llamada CertEnumSystemStoreCallback .

Valor devuelto

Si la función se ejecuta correctamente, la función devuelve TRUE.

Si se produce un error en la función, devuelve FALSE.

Comentarios

Para usar CertEnumSystemStore, la aplicación debe declarar y definir la estructura de ENUM_ARG y la función de devolución de llamada CertEnumSystemStoreCallback .

Ejemplos

Para obtener un ejemplo que usa esta función, vea Programa C de ejemplo: Enumerar el sistema y los almacenes físicos.

Requisitos

   
Cliente mínimo compatible Windows XP [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado wincrypt.h
Library Crypt32.lib
Archivo DLL Crypt32.dll

Consulte también

CERT_SYSTEM_STORE_RELOCATE_PARA

CertEnumPhysicalStore

CertEnumSystemStoreLocation

CertRegisterPhysicalStore

CertRegisterSystemStore

CertUnregisterPhysicalStore

CertUnregisterSystemStore

Funciones del almacén de certificados