PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE Rückruffunktion (wincrypt.h)

Die PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE-Funktion initialisiert den Anbieter. Sie müssen diese Funktion als Teil Ihres benutzerdefinierten Anbieters implementieren.

Syntax

PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE PfnCryptObjectLocatorProviderInitialize;

BOOL PfnCryptObjectLocatorProviderInitialize(
  [in]  PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH pfnFlush,
  [in]  LPVOID pContext,
  [out] DWORD *pdwExpectedObjectCount,
  [out] PCRYPT_OBJECT_LOCATOR_PROVIDER_TABLE *ppFuncTable,
  [out] void **ppPluginContext
)
{...}

Parameter

[in] pfnFlush

Zeiger auf die Implementierung der PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH-Funktion .

[in] pContext

Zeiger auf ein vom Anbieter definiertes Objekt, das Informationen zum Anbieter und zu den Objekten enthält.

[out] pdwExpectedObjectCount

Gibt die Anzahl der eindeutigen Objekte an, die der Anbieter zu finden erwartet. Dieser Wert teilt dem Aufrufer mit, wie viel Arbeitsspeicher zum Speichern von Objekten zugeordnet werden soll. Legen Sie diesen Wert auf Null (0) fest, um den Standardwert von 10.000 Objekten anzugeben.

[out] ppFuncTable

Eine CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE-Struktur , die Zeiger auf die vom Anbieter implementierten Funktionen enthält. Keine Zeiger in der Tabelle können NULL sein. Der Aufrufer gibt diese Struktur nicht frei. Es wird erwartet, dass der Anbieter eine Tabelle zurückgibt, die nicht auf dem Heap zugeordnet ist.

[out] ppPluginContext

Zeiger auf einen optionalen Puffer, der von diesem Anbieter definiert wird. Der Puffer wird vom Aufrufer nicht geändert. Ihr Anbieter kann die Daten verwenden, um zu bestimmen, welche Aktionen ausgeführt werden sollen, oder um zusätzliche Informationen zu verwalten. Dieser Wert kann auf NULL festgelegt werden.

Rückgabewert

Wenn die Funktion erfolgreich ist, geben Sie ungleich null (TRUE) zurück.

Wenn die Funktion fehlschlägt, geben Sie null (FALSE) zurück, und geben Sie einen entsprechenden Fehler in der SetLastError-Funktion an. Die meisten Fehler werden unverändert über Schannel übergeben, aber dieses Verhalten ist nicht garantiert. Einige Fehler können anderen Fehlern zugeordnet werden.

Hinweise

Die funktion PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE wird derzeit nur vom Secure Channel (Schannel) Security Service Provider (SSP) aufgerufen. Die Kryptografie-API (CAPI) ruft Ihren benutzerdefinierten Anbieter intern auf, wenn Sie ab Windows 8 den Namen des Sicherheitsprinzipals im pszPrincipal-Parameter der AcquireCredentialsHandle-Funktion angeben.

Wenn Sie diese Funktion implementieren, denken Sie daran, die CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE Funktionstabelle mit Zeigern auf die folgenden Funktionen zu füllen, die von Ihrem Anbieter implementiert werden:

Sie müssen CryptRegisterDefaultOIDFunction aufrufen, um den Anbieter in der Windows-Registrierung zu registrieren.

Anforderungen

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

Weitere Informationen

CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE

PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH