Compartilhar via


Função CertRegisterSystemStore (wincrypt.h)

A função CertRegisterSystemStore registra um repositório do sistema.

Sintaxe

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

Parâmetros

[in] pvSystemStore

Identifica o repositório do sistema a ser registrado. Se CERT_SYSTEM_STORE_RELOCATE_FLAG estiver definido no parâmetro dwFlags , pvSystemStore apontará para uma estrutura CERT_SYSTEM_STORE_RELOCATE_PARA . Caso contrário, ele aponta para uma cadeia de caracteres Unicode terminada em nulo que nomeia o repositório do sistema.

Com as configurações apropriadas em dwFlags, o repositório identificado pode ser um repositório do sistema em um computador local remoto. Os repositórios em computadores remotos podem ser registrados com o nome do computador como um prefixo para o nome do repositório do sistema. Por exemplo, um repositório de computador local remoto pode ser registrado com pvSystemStore apontando para a cadeia de caracteres "\ComputerName\Trust" ou "ComputerName\Trust".

As barras invertidas "\" à esquerda são opcionais antes de um ComputerName.

[in] dwFlags

A palavra alta do parâmetro dwFlags é usada para especificar o local do repositório do sistema.

Os valores de palavra alta a seguir são definidos.

Valor Significado
CERT_SYSTEM_STORE_CURRENT_SERVICE
pvSystemStore pode ser um nome de repositório do sistema prefixado com o ServiceName.
CERT_SYSTEM_STORE_CURRENT_USER
pvSystemStore pode ser um nome de repositório do sistema prefixado com o UserName.
CERT_SYSTEM_STORE_LOCAL_MACHINE
pvSystemStore pode ser um repositório do sistema que está em um computador remoto.
CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY
pvSystemStore é um repositório de políticas de grupo e pode estar em um computador remoto.
CERT_SYSTEM_STORE_SERVICES
pvSystemStore deve ser um nome de repositório do sistema prefixado com o ServiceName.
CERT_SYSTEM_STORE_USERS
pvSystemStore deve ser um nome de repositório do sistema prefixado com o UserName.
 

Os repositórios em computadores remotos podem ser registrados para CERT_SYSTEM_STORE_LOCAL_MACHINE, CERT_SYSTEM_STORE_SERVICES, CERT_SYSTEM_STORE_USERS ou CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY.

Os valores de palavras baixas a seguir também são definidos e podem ser combinados usando uma operação OR bit a bit com valores de palavra alta.

Valor Significado
CERT_SYSTEM_STORE_RELOCATE_FLAG
O repositório do sistema não está em seu local de registro padrão e pvSystemStore deve ser um ponteiro para uma estrutura CERT_SYSTEM_STORE_RELOCATE_PARA .
CERT_STORE_CREATE_NEW_FLAG
A função falhará se o repositório do sistema já existir no local do repositório.

[in] pStoreInfo

Reservado para uso futuro e deve ser definido como NULL.

[in] pvReserved

Reservado para uso futuro e deve ser definido como NULL.

Retornar valor

Se a função for bem-sucedida, a função retornará diferente de zero.

Se a função falhar, ela retornará zero.

Comentários

Para cancelar o registro de um repositório do sistema que foi registrado por essa função, chame CertUnregisterSystemStore.

Exemplos

O exemplo a seguir mostra a adição de um repositório do sistema a uma coleção de repositórios do sistema de registro. Para obter um exemplo que inclui o contexto completo para este exemplo, consulte Exemplo de programa C: listando o sistema e repositórios 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 Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho wincrypt.h
Biblioteca Crypt32.lib
DLL Crypt32.dll

Confira também

CertEnumPhysicalStore

CertEnumSystemStore

CertEnumSystemStoreLocation

CertRegisterPhysicalStore

CertUnregisterPhysicalStore

CertUnregisterSystemStore

Funções de repositório de certificados