Compartilhar via


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:

Você deve chamar CryptRegisterDefaultOIDFunction para registrar o provedor no Registro do Windows.

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

Confira também

CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE

PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH