Función CertRegisterSystemStore (wincrypt.h)

La función CertRegisterSystemStore registra un almacén del sistema.

Sintaxis

BOOL CertRegisterSystemStore(
  [in] const void              *pvSystemStore,
  [in] DWORD                   dwFlags,
  [in] PCERT_SYSTEM_STORE_INFO pStoreInfo,
  [in] void                    *pvReserved
);

Parámetros

[in] pvSystemStore

Identifica el almacén del sistema que se va a registrar. Si CERT_SYSTEM_STORE_RELOCATE_FLAG se establece en el parámetro dwFlags , pvSystemStore apunta a una estructura de CERT_SYSTEM_STORE_RELOCATE_PARA . De lo contrario, apunta a una cadena Unicode terminada en null que asigna un nombre al almacén del sistema.

Con la configuración adecuada en dwFlags, el almacén identificado puede ser un almacén del sistema en un equipo local remoto. Los almacenes en equipos remotos se pueden registrar con el nombre del equipo como prefijo para el nombre del almacén del sistema. Por ejemplo, se puede registrar un almacén de equipos local remoto con pvSystemStore que apunte a la cadena "\ComputerName\Trust" o "ComputerName\Trust".

Las barras diagonales inversas "\" iniciales son opcionales antes de computerName.

[in] dwFlags

La palabra alta del parámetro dwFlags se usa para especificar la ubicación del almacén del sistema.

Se definen los siguientes valores de palabra alta.

Valor Significado
CERT_SYSTEM_STORE_CURRENT_SERVICE
pvSystemStore puede ser un nombre de almacén del sistema con el prefijo ServiceName.
CERT_SYSTEM_STORE_CURRENT_USER
pvSystemStore puede ser un nombre de almacén del sistema con el prefijo UserName.
CERT_SYSTEM_STORE_LOCAL_MACHINE
pvSystemStore puede ser un almacén del sistema que se encuentra en un equipo remoto.
CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY
pvSystemStore es un almacén de directivas de grupo y puede estar en un equipo remoto.
CERT_SYSTEM_STORE_SERVICES
pvSystemStore debe tener el prefijo de nombre de almacén del sistema con ServiceName.
CERT_SYSTEM_STORE_USERS
pvSystemStore debe ser un nombre de almacén del sistema que tenga el prefijo UserName.
 

Las tiendas en equipos remotos se pueden registrar para CERT_SYSTEM_STORE_LOCAL_MACHINE, CERT_SYSTEM_STORE_SERVICES, CERT_SYSTEM_STORE_USERS o CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY.

Los siguientes valores de palabra baja también se definen y se pueden combinar mediante una operación OR bit a bit con valores de palabra alta.

Valor Significado
CERT_SYSTEM_STORE_RELOCATE_FLAG
El almacén del sistema no está en su ubicación de registro predeterminada y pvSystemStore debe ser un puntero a una estructura de CERT_SYSTEM_STORE_RELOCATE_PARA .
CERT_STORE_CREATE_NEW_FLAG
Se produce un error en la función si el almacén del sistema ya existe en la ubicación del almacén.

[in] pStoreInfo

Reservado para uso futuro y debe establecerse en NULL.

[in] pvReserved

Reservado para uso futuro y debe establecerse en NULL.

Valor devuelto

Si la función se ejecuta correctamente, la función devuelve un valor distinto de cero.

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

Comentarios

Para anular el registro de un almacén del sistema registrado por esta función, llame a CertUnregisterSystemStore.

Ejemplos

En el ejemplo siguiente se muestra cómo agregar un almacén del sistema a una colección de almacenes del sistema del Registro. Para obtener un ejemplo que incluya el contexto completo de este ejemplo, vea Programa C de ejemplo: Enumerar el sistema y los almacenes físicos.

//--------------------------------------------------------------------
// Declare and initialize variables.

LPCWSTR pvSystemName= L"NEWSTORE";  // For this setting of 
                                    // dwFlags, the store name may 
                                    // be prefixed with a user name.
DWORD dwFlags= CERT_SYSTEM_STORE_CURRENT_USER;

if(CertRegisterSystemStore(
    pvSystemName,
    dwFlags,
    NULL,
    NULL))
{
  printf("System store %S is registered. \n",pvSystemName);
}
else
{
  printf("The system store did not register. \n");
  exit(1);
}

Requisitos

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

Consulte también

CertEnumPhysicalStore

CertEnumSystemStore

CertEnumSystemStoreLocation

CertRegisterPhysicalStore

CertUnregisterPhysicalStore

CertUnregisterSystemStore

Funciones del almacén de certificados