Função CryptSetProviderA (wincrypt.h)
Se o provedor padrão de um usuário atual estiver definido, esse provedor padrão será adquirido por qualquer chamada desse usuário para CryptAcquireContext especificando um tipo de provedor dwProvType , mas não um nome CSP.
Uma versão aprimorada dessa função, CryptSetProviderEx, também está disponível.
Sintaxe
BOOL CryptSetProviderA(
[in] LPCSTR pszProvName,
[in] DWORD dwProvType
);
Parâmetros
[in] pszProvName
Nome do novo CSP padrão. O CSP nomeado deve ser instalado no computador. Para obter uma lista de provedores criptográficos disponíveis, consulte Nomes de provedor criptográfico.
[in] dwProvType
Tipo de provedor do CSP especificado por pszProvName.
Valor retornado
Se a função for bem-sucedida, o valor retornado será diferente de zero (TRUE).
Se a função falhar, o valor retornado será zero (FALSE). Para obter informações de erro estendidas, chame GetLastError. Alguns códigos de erro possíveis são listados na tabela a seguir.
Código de retorno | Descrição |
---|---|
|
Um dos parâmetros especifica um identificador que não é válido. |
|
Um dos parâmetros contém um valor que não é válido. Isso geralmente é um ponteiro que não é válido. |
|
O sistema operacional ficou sem memória durante a operação. |
Erros também podem ser propagados de chamadas internas para RegCreateKeyEx e RegSetValueEx.
Comentários
Aplicativos típicos não especificam um nome CSP ao chamar CryptAcquireContext; no entanto, um aplicativo tem a opção de selecionar um CSP específico. Isso dá a um usuário a liberdade de selecionar um CSP com um nível apropriado de segurança.
Como chamar CryptSetProvider determina o CSP de um tipo especificado usado por todos os aplicativos executados a partir desse ponto, essa função não deve ser chamada sem o consentimento dos usuários.
Observação
O cabeçalho wincrypt.h define CryptSetProvider como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | wincrypt.h |
Biblioteca | Advapi32.lib |
DLL | Advapi32.dll |