PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE função de retorno de chamada (wincrypt.h)
A função PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE inicializa o provedor. Você deve implementar essa função como parte do provedor personalizado.
Sintaxe
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
Ponteiro para a implementação da função PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH .
[in] pContext
Ponteiro para um objeto definido pelo provedor que contém informações sobre o provedor e os objetos .
[out] pdwExpectedObjectCount
Especifica o número de objetos exclusivos que o provedor espera localizar. Esse valor informa ao chamador quanta memória alocar para armazenar objetos. Defina esse valor como zero (0) para especificar o valor padrão de 10.000 objetos.
[out] ppFuncTable
Uma estrutura CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE que contém ponteiros para as funções implementadas pelo provedor. Nenhum ponteiro na tabela pode ser NULL. O chamador não libera essa estrutura. Espera-se que o provedor retorne uma tabela que não está alocada no heap.
[out] ppPluginContext
Ponteiro para um buffer opcional definido por esse provedor. O buffer não é modificado pelo chamador. Seu provedor pode usar os dados para ajudá-lo a determinar quais ações executar ou manter informações adicionais. Esse valor pode ser definido como NULL.
Retornar valor
Se a função for bem-sucedida, retorne diferente de zero (TRUE).
Se a função falhar, retorne zero (FALSE) e especifique um erro apropriado na função SetLastError . A maioria dos erros é passada por meio do Schannel inalterado, mas esse comportamento não é garantido. Alguns erros podem ser mapeados para outros erros.
Comentários
A função PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE atualmente é chamada apenas pelo SSP (provedor de serviços de segurança) Schannel (Canal Seguro). A CAPI (API de Criptografia) chamará internamente seu provedor personalizado se, começando com Windows 8, você especificar o nome da entidade de segurança no parâmetro pszPrincipal da função AcquireCredentialsHandle.
Ao implementar essa função, lembre-se de preencher a tabela de funções CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE com ponteiros para as seguintes funções implementadas pelo provedor:
- 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 | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2012 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | wincrypt.h |