Share via


CERT_STORE_PROV_INFO-Struktur (wincrypt.h)

Die CERT_STORE_PROV_INFO-Struktur enthält Informationen, die von der installierten CertDllOpenStoreProv-Funktion zurückgegeben werden, wenn ein Speicher mithilfe von geöffnet wird.
CertOpenStore-Funktion .

Beim Öffnen eines Speichers legt die CertOpenStore-Funktion alle Felder in der CERT_STORE_PROV_INFO-Struktur auf null fest, mit Ausnahme von cbSize, das auf die Größe CERT_STORE_PROV_INFO festgelegt ist. Die Struktur wird von der installierbaren Funktion CertDllOpenStoreProv aktualisiert. Wenn keine zusätzlichen Rückruffunktionen aufgerufen werden sollen, bleibt cStoreProvFunc bei der Rückgabe null.

Syntax

typedef struct _CERT_STORE_PROV_INFO {
  DWORD             cbSize;
  DWORD             cStoreProvFunc;
  void              **rgpvStoreProvFunc;
  HCERTSTOREPROV    hStoreProv;
  DWORD             dwStoreProvFlags;
  HCRYPTOIDFUNCADDR hStoreProvFuncAddr2;
} CERT_STORE_PROV_INFO, *PCERT_STORE_PROV_INFO;

Member

cbSize

Enthält die Größe dieser Struktur in Bytes.

cStoreProvFunc

Enthält die Anzahl der Elemente im rgpvStoreProvFunc-Array . Diese Anzahl muss alle NULL-Werte enthalten, die vor der letzten Implementierung der Rückruffunktion in Indizes verwendet werden. Wenn z. B. nur eine Rückruffunktion implementiert ist, diese jedoch bei Index 2 (CERT_STORE_PROV_WRITE_CERT_FUNC) mit NULL für die Indizes 0 und 1 liegt, sollte die Zahl 3 für diesen Parameter übergeben werden.

rgpvStoreProvFunc

Ein Array von Zeigern auf die Rückruffunktionen, die vom Anbieter implementiert werden. Dieses Array wird anhand der werte indiziert, die in der folgenden Tabelle angegeben sind, und sie müssen in der angezeigten Reihenfolge vorliegen. Die zugeordnete Rückruffunktion wird ebenfalls angezeigt. Alle Rückruffunktionen, die nicht implementiert sind, müssen auf NULL festgelegt werden. Das Array muss nicht alle Rückruffunktionsindizes enthalten, es muss nur den höchsten implementierten Rückruffunktionsindex enthalten. Wenn beispielsweise nur die Rückruffunktion CERT_STORE_PROV_WRITE_CERT_FUNC (2) implementiert ist, muss das Array nur drei Elemente enthalten.

Wert Bedeutung
CERT_STORE_PROV_CLOSE_FUNC
0 (0x0)

CertStoreProvCloseCallback

CERT_STORE_PROV_READ_CERT_FUNC
1 (0x1)

CertStoreProvReadCertCallback

CERT_STORE_PROV_WRITE_CERT_FUNC
2 (0x2)

CertStoreProvWriteCertCallback

CERT_STORE_PROV_DELETE_CERT_FUNC
3 (0x3)

CertStoreProvDeleteCertCallback

CERT_STORE_PROV_SET_CERT_PROPERTY_FUNC
4 (0x4)

CertStoreProvSetCertPropertyCallback

CERT_STORE_PROV_READ_CRL_FUNC
5 (0x5)

CertStoreProvReadCRLCallback

CERT_STORE_PROV_WRITE_CRL_FUNC
6 (0x6)

CertStoreProvWriteCRLCallback

CERT_STORE_PROV_DELETE_CRL_FUNC
7 (0x7)

CertStoreProvDeleteCRLCallback

CERT_STORE_PROV_SET_CRL_PROPERTY_FUNC
8 (0x8)

CertStoreProvSetCRLPropertyCallback

CERT_STORE_PROV_READ_CTL_FUNC
9 (0x9)

CertStoreProvReadCTL

CERT_STORE_PROV_WRITE_CTL_FUNC
10 (0xA)

CertStoreProvWriteCTL

CERT_STORE_PROV_DELETE_CTL_FUNC
11 (0xB)

CertStoreProvDeleteCTL

CERT_STORE_PROV_SET_CTL_PROPERTY_FUNC
12 (0xC)

CertStoreProvSetCTLProperty

CERT_STORE_PROV_CONTROL_FUNC
13 (0xD)

CertStoreProvControl

CERT_STORE_PROV_FIND_CERT_FUNC
14 (0xE)

CertStoreProvFindCert

CERT_STORE_PROV_FREE_FIND_CERT_FUNC
15 (0xF)

CertStoreProvFreeFindCert

CERT_STORE_PROV_GET_CERT_PROPERTY_FUNC
16 (0x10)

CertStoreProvGetCertProperty

CERT_STORE_PROV_FIND_CRL_FUNC
17 (0x11)

CertStoreProvFindCRL

CERT_STORE_PROV_FREE_FIND_CRL_FUNC
18 (0x12)

CertStoreProvFreeFindCRL

CERT_STORE_PROV_GET_CRL_PROPERTY_FUNC
19 (0x13)

CertStoreProvGetCRLProperty

CERT_STORE_PROV_FIND_CTL_FUNC
20 (0x14)

CertStoreProvFindCTL

CERT_STORE_PROV_FREE_FIND_CTL_FUNC
21 (0x15)

CertStoreProvFreeFindCTL

CERT_STORE_PROV_GET_CTL_PROPERTY_FUNC
22 (0x16)

CertStoreProvGetCTLProperty

hStoreProv

Ein anwendungsdefinierter 32-Bit-Wert, der der erste Parameter ist, der an alle Rückrufe übergeben wird. Eine Anwendung kann den Inhalt dieses Members wie gewünscht angeben. In der Regel handelt es sich dabei um einen Zeiger auf Anwendungsspezifische Daten, z. B. Anbieterstatusinformationen für jeden geöffneten Speicher.

dwStoreProvFlags

Enthält eine Reihe von Flags, die angeben, wie der Anbieter funktioniert. Enthält null oder eine Kombination aus einem oder mehreren der folgenden Werte.

Wert Bedeutung
CERT_STORE_PROV_EXTERNAL_FLAG
1 (0x1)
Der Anbieter speichert Zertifikate, Zertifikatsperrlisten und Zertifikatvertrauenslisten , die sich außerhalb des Caches des Speichers befinden.
CERT_STORE_PROV_DELETED_FLAG
2 (0x2)
Der Speicher wurde erfolgreich gelöscht. Der CertStoreProvCloseCallback-Rückruf wird nicht aufgerufen.
CERT_STORE_PROV_NO_PERSIST_FLAG
4 (0x4)
Standardmäßig speichert der Anbieter Änderungen, die am Speicher vorgenommen werden. Wenn dieses Flag festgelegt ist, speichert der Anbieter die am Speicher vorgenommenen Änderungen nicht.
CERT_STORE_PROV_SYSTEM_STORE_FLAG
8 (0x8)
Der Anbieter behält Kontexte in einem Systemspeicher bei.
CERT_STORE_PROV_LM_SYSTEM_STORE_FLAG
16 (0x10)
Der Anbieter speichert Kontexte in einem LocalMachine-Systemspeicher.

hStoreProvFuncAddr2

Enthält das von CryptGetOIDFunctionAddress zurückgegebene Handle. CertCloseStore ruft CryptFreeOIDFunctionAddress auf, um einen hStoreProvFuncAddr2 ungleich NULL frei zu geben. Dadurch kann der Rückruf eine andere installierbare Funktion aufrufen, die freigegeben wird, wenn der Speicher geschlossen wird.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Kopfzeile wincrypt.h