CertRegisterSystemStore-Funktion (wincrypt.h)

Die CertRegisterSystemStore-Funktion registriert einen Systemspeicher.

Syntax

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

Parameter

[in] pvSystemStore

Gibt den zu registrierenden Systemspeicher an. Wenn CERT_SYSTEM_STORE_RELOCATE_FLAG im dwFlags-Parameter festgelegt ist, verweist pvSystemStore auf eine CERT_SYSTEM_STORE_RELOCATE_PARA-Struktur . Andernfalls verweist er auf eine Unicode-Zeichenfolge mit NULL-Beendigung, die den Namen des Systemspeichers enthält.

Mit den entsprechenden Einstellungen in dwFlags kann es sich bei dem identifizierten Speicher um einen Systemspeicher auf einem lokalen Remotecomputer handeln. Speicher auf Remotecomputern können mit dem Computernamen als Präfix für den Namen des Systemspeichers registriert werden. Beispielsweise kann ein lokaler Remotecomputerspeicher mit pvSystemStore registriert werden, der auf die Zeichenfolge "\ComputerName\Trust" oder "ComputerName\Trust" verweist.

Führende umgekehrte Schrägstriche "\" sind vor computerName optional.

[in] dwFlags

Das hohe Wort des dwFlags-Parameters wird verwendet, um den Speicherort des Systemspeichers anzugeben.

Die folgenden Hohen-Wort-Werte werden definiert.

Wert Bedeutung
CERT_SYSTEM_STORE_CURRENT_SERVICE
pvSystemStore kann ein Systemspeichername sein, dem serviceName vorangestellt ist.
CERT_SYSTEM_STORE_CURRENT_USER
pvSystemStore kann ein Systemspeichername mit dem Präfix UserName sein.
CERT_SYSTEM_STORE_LOCAL_MACHINE
pvSystemStore kann ein Systemspeicher sein, der sich auf einem Remotecomputer befindet.
CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY
pvSystemStore ist ein Gruppenrichtlinienspeicher und kann sich auf einem Remotecomputer befinden.
CERT_SYSTEM_STORE_SERVICES
pvSystemStore muss ein Systemspeichername mit dem Präfix ServiceName sein.
CERT_SYSTEM_STORE_USERS
pvSystemStore muss ein Systemspeichername mit dem Präfix UserName sein.
 

Speicher auf Remotecomputern können für CERT_SYSTEM_STORE_LOCAL_MACHINE, CERT_SYSTEM_STORE_SERVICES, CERT_SYSTEM_STORE_USERS oder CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY registriert werden.

Die folgenden Werte mit niedrigen Wörtern werden ebenfalls definiert und können mithilfe eines bitweisen OR-Vorgangs mit hohen Wortwerten kombiniert werden.

Wert Bedeutung
CERT_SYSTEM_STORE_RELOCATE_FLAG
Der Systemspeicher befindet sich nicht im Standardregisterspeicherort, und pvSystemStore muss ein Zeiger auf eine CERT_SYSTEM_STORE_RELOCATE_PARA-Struktur sein.
CERT_STORE_CREATE_NEW_FLAG
Die Funktion schlägt fehl, wenn der Systemspeicher bereits am Speicherort vorhanden ist.

[in] pStoreInfo

Reserviert für die zukünftige Verwendung und muss auf NULL festgelegt werden.

[in] pvReserved

Reserviert für die zukünftige Verwendung und muss auf NULL festgelegt werden.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt die Funktion nonzero zurück.

Wenn die Funktion fehlschlägt, gibt sie null zurück.

Hinweise

Um die Registrierung eines Systemspeichers aufzuheben, der von dieser Funktion registriert wurde, rufen Sie CertUnregisterSystemStore auf.

Beispiele

Das folgende Beispiel zeigt das Hinzufügen eines Systemspeichers zu einer Sammlung des Registrierungssystemspeichers. Ein Beispiel, das den vollständigen Kontext für dieses Beispiel enthält, finden Sie unter Beispiel C-Programm: Auflisten von System- und physischen Speichern.

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

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile wincrypt.h
Bibliothek Crypt32.lib
DLL Crypt32.dll

Weitere Informationen

CertEnumPhysicalStore

CertEnumSystemStore

CertEnumSystemStoreLocation

CertRegisterPhysicalStore

CertUnregisterPhysicalStore

CertUnregisterSystemStore

Zertifikatspeicherfunktionen