Logische und physische Speicher

Standardsystemspeicher, einschließlich MY, CA und ROOT, werden als logische Sammlungsspeicher mit einer Reihe vordefinierter physischer Speicher als Memberspeicher implementiert. Die physischen Memberspeicher eines Systemspeichers werden automatisch geöffnet, wenn der Systemspeicher geöffnet wird. Ein Benutzer kann jeder Systemspeichersammlung zusätzliche physische Speicher hinzufügen. Die CryptoAPI-Funktion CertRegisterPhysicalStore fügt einer Systemspeichersammlung einen neuen physischen Speicher hinzu. CertUnregisterPhysicalStore entfernt die Zuordnung eines physischen Speichers zu einem logischen Systemspeicher. CertRegisterSystemStore erstellt einen neuen Systemspeicher unter einem Registrierungsschlüssel, während CertUnregisterSystemStore einen Systemspeicher aus der Registrierung entfernt.

In CryptoAPI sind Systemspeicher logische Speicher mit zugeordneten physischen Speichern. Alle Zertifikate in einem vorhandenen Systemspeicher bleiben verfügbar, und das physische Hinzusingen neuer Zertifikate erfolgt in den physischen Speichern, aus denen der logische Systemspeicher besteht.

Benutzer, die weiterhin physische Systemspeicher verwenden und nicht in logische Speicher konvertieren möchten, können Systemspeicher mit dem CERT _ STORE _ PROV _ SYSTEM _ REGISTRY-Anbieter öffnen. Dieser Anbieter verwendet weiterhin jeden Systemspeicher als einzelnen physischen Speicher.

Die Funktionen CertEnumSystemStoreLocation, CertEnumSystemStoreund CertEnumPhysicalStore listen Systemspeicherorte, verfügbare Systemspeicher und alle physischen Speicher auf, die Mitglieder eines Systemspeichers sind.

Systemspeicher können auch verschoben werden. Standardmäßig wird ein Systemspeicher relativ zu einem Registrierungsunterschlüssel nach einem vordefinierten Muster geöffnet. Weitere Informationen finden Sie unter System Store Locations. Durch Festlegen des FLAGs CERT SYSTEM STORE RELOCATE im _ _ parameter _ _ dwFlags, der an CertOpenStore übergeben wird, wird ein Systemspeicher in der Registrierung unter einem vom Benutzer angegebenen Registrierungsunterschlüssel anstatt unter dem vordefinierten platziert.