CertRegisterSystemStore, fonction (wincrypt.h)

La fonction CertRegisterSystemStore inscrit un magasin système.

Syntaxe

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

Paramètres

[in] pvSystemStore

Identifie le magasin système à inscrire. Si CERT_SYSTEM_STORE_RELOCATE_FLAG est défini dans le paramètre dwFlags , pvSystemStore pointe vers une structure CERT_SYSTEM_STORE_RELOCATE_PARA . Sinon, elle pointe vers une chaîne Unicode terminée par un caractère Null qui nomme le magasin système.

Avec les paramètres appropriés dans dwFlags, le magasin identifié peut être un magasin système sur un ordinateur local distant. Les magasins sur les ordinateurs distants peuvent être inscrits avec le nom de l’ordinateur comme préfixe du nom du magasin système. Par exemple, un magasin d’ordinateurs locaux distant peut être inscrit auprès de pvSystemStore pointant vers la chaîne « \ComputerName\Trust » ou « ComputerName\Trust ».

Les barres obliques inverses « \ » de début sont facultatives avant un ComputerName.

[in] dwFlags

Le mot haut du paramètre dwFlags est utilisé pour spécifier l’emplacement du magasin système.

Les valeurs de mots hauts suivantes sont définies.

Valeur Signification
CERT_SYSTEM_STORE_CURRENT_SERVICE
pvSystemStore peut être un nom de magasin système qui est précédé du ServiceName.
CERT_SYSTEM_STORE_CURRENT_USER
pvSystemStore peut être un nom de magasin système qui est précédé de UserName.
CERT_SYSTEM_STORE_LOCAL_MACHINE
pvSystemStore peut être un magasin système qui se trouve sur un ordinateur distant.
CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY
pvSystemStore est un magasin de stratégies de groupe qui peut se trouver sur un ordinateur distant.
CERT_SYSTEM_STORE_SERVICES
pvSystemStore doit être un nom de magasin système avec le préfixe ServiceName.
CERT_SYSTEM_STORE_USERS
pvSystemStore doit être un nom de magasin système qui est précédé de UserName.
 

Les magasins sur les ordinateurs distants peuvent être inscrits pour CERT_SYSTEM_STORE_LOCAL_MACHINE, CERT_SYSTEM_STORE_SERVICES, CERT_SYSTEM_STORE_USERS ou CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY.

Les valeurs de mots faibles suivantes sont également définies et peuvent être combinées à l’aide d’une opération or au niveau du bit avec des valeurs de mot élevé.

Valeur Signification
CERT_SYSTEM_STORE_RELOCATE_FLAG
Le magasin système ne se trouve pas dans son emplacement de registre par défaut et pvSystemStore doit être un pointeur vers une structure de CERT_SYSTEM_STORE_RELOCATE_PARA .
CERT_STORE_CREATE_NEW_FLAG
La fonction échoue si le magasin système existe déjà à l’emplacement du magasin.

[in] pStoreInfo

Réservé pour une utilisation ultérieure et doit être défini sur NULL.

[in] pvReserved

Réservé pour une utilisation ultérieure et doit être défini sur NULL.

Valeur retournée

Si la fonction réussit, la fonction retourne une valeur différente de zéro.

Si la fonction échoue, elle retourne zéro.

Remarques

Pour annuler l’inscription d’un magasin système qui a été inscrit par cette fonction, appelez CertUnregisterSystemStore.

Exemples

L’exemple suivant montre l’ajout d’un magasin système à une collection de magasins système du Registre. Pour obtenir un exemple qui inclut le contexte complet de cet exemple, consultez Exemple de programme C : Référencement des magasins système et physiques.

//--------------------------------------------------------------------
// 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);
}

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête wincrypt.h
Bibliothèque Crypt32.lib
DLL Crypt32.dll

Voir aussi

CertEnumPhysicalStore

CertEnumSystemStore

CertEnumSystemStoreLocation

CertRegisterPhysicalStore

CertUnregisterPhysicalStore

CertUnregisterSystemStore

Fonctions du magasin de certificats