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:
- PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_GET
- PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE
- PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_PASSWORD
- PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE
- PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_IDENTIFIER
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 |