PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE función de devolución de llamada (wincrypt.h)
La función PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE inicializa el proveedor. Debe implementar esta función como parte del proveedor personalizado.
Sintaxis
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
)
{...}
Parámetros
[in] pfnFlush
Puntero a la implementación de la función PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH .
[in] pContext
Puntero a un objeto definido por el proveedor que contiene información sobre el proveedor y los objetos .
[out] pdwExpectedObjectCount
Especifica el número de objetos únicos que el proveedor espera localizar. Este valor indica al autor de la llamada la cantidad de memoria que se va a asignar para almacenar objetos. Establezca este valor en cero (0) para especificar el valor predeterminado de 10 000 objetos.
[out] ppFuncTable
Estructura CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE que contiene punteros a las funciones implementadas por el proveedor. Ningún puntero de la tabla puede ser NULL. El autor de la llamada no libera esta estructura. Se espera que el proveedor devuelva una tabla que no está asignada en el montón.
[out] ppPluginContext
Puntero a un búfer opcional definido por este proveedor. El autor de la llamada no modifica el búfer. El proveedor puede usar los datos para ayudarle a determinar qué acciones realizar o para mantener información adicional. Este valor se puede establecer en NULL.
Valor devuelto
Si la función se ejecuta correctamente, devuelva un valor distinto de cero (TRUE).
Si se produce un error en la función, devuelva cero (FALSE) y especifique un error adecuado en la función SetLastError . La mayoría de los errores se pasan a través de Schannel sin modificar, pero este comportamiento no está garantizado. Algunos errores se pueden asignar a otros errores.
Comentarios
Actualmente, solo el proveedor de servicios de seguridad (Schannel) del canal seguro (Schannel) llama a la función PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE . La API de criptografía (CAPI) llamará internamente a su proveedor personalizado si, a partir de Windows 8, especifique el nombre de la entidad de seguridad en el parámetro pszPrincipal de la función AcquireCredentialsHandle.
Al implementar esta función, recuerde rellenar la tabla de funciones de CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE con punteros a las siguientes funciones implementadas por el proveedor:
- 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
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 8 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2012 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | wincrypt.h |