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:

Debe llamar a CryptRegisterDefaultOIDFunction para registrar el proveedor en el Registro de Windows.

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

Consulte también

CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE

PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH