Função CredUnprotectW (wincred.h)

A função CredUnprotect descriptografa credenciais que foram criptografadas anteriormente usando a função CredProtect . As credenciais devem ter sido criptografadas no mesmo contexto de segurança no qual CredUnprotect é chamado.

Sintaxe

BOOL CredUnprotectW(
  [in]      BOOL   fAsSelf,
  [in]      LPWSTR pszProtectedCredentials,
  [in]      DWORD  cchProtectedCredentials,
  [out]     LPWSTR pszCredentials,
  [in, out] DWORD  *pcchMaxChars
);

Parâmetros

[in] fAsSelf

Defina como TRUE para especificar que as credenciais foram criptografadas no contexto de segurança do processo atual. Defina como FALSE para especificar que as credenciais foram criptografadas no contexto de segurança do contexto de segurança do thread de chamada.

[in] pszProtectedCredentials

Um ponteiro para uma cadeia de caracteres que especifica as credenciais criptografadas.

[in] cchProtectedCredentials

O tamanho, em caracteres, do buffer pszProtectedCredentials .

[out] pszCredentials

Um ponteiro para uma cadeia de caracteres que, na saída, recebe as credenciais descriptografadas.

[in, out] pcchMaxChars

O tamanho, em caracteres do buffer pszCredentials . Na saída, se o pszCredentials não for de tamanho suficiente para receber as credenciais criptografadas, esse parâmetro especificará o tamanho necessário, em caracteres, do buffer pszCredentials .

Valor retornado

TRUE se a função for bem-sucedida; caso contrário, FALSE.

Para obter informações de erro estendidas, chame a função GetLastError . A tabela a seguir mostra valores comuns para a função GetLastError .

Valor/código retornado Descrição
ERROR_NOT_CAPABLE
O contexto de segurança usado para criptografar as credenciais é diferente do contexto de segurança usado para descriptografar as credenciais.
ERROR_INSUFFICIENT_BUFFER
O buffer pszCredentials era de tamanho insuficiente.

Comentários

Observação

O cabeçalho wincred.h define CredUnprotect 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 Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho wincred.h
Biblioteca Advapi32.lib
DLL Advapi32.dll