Função CredPackAuthenticationBufferA (wincred.h)
A função
Começando com o Windows 8 e o Windows Server 2012, a função CredPackAuthenticationBuffer converte uma credencial de identidade em um buffer de autenticação, que é uma estrutura SEC_WINNT_AUTH_IDENTITY_EX2. Esse buffer pode ser passado para LsaLogonUser, AcquireCredentialsHandleou outras interfaces do provedor de identidade.
Sintaxe
CREDUIAPI BOOL CredPackAuthenticationBufferA(
[in] DWORD dwFlags,
[in] LPSTR pszUserName,
[in] LPSTR pszPassword,
[out] PBYTE pPackedCredentials,
[in, out] DWORD *pcbPackedCredentials
);
Parâmetros
[in] dwFlags
Especifica como a credencial deve ser empacotada. Isso pode ser uma combinação dos sinalizadores a seguir.
Valor | Significado |
---|---|
|
Criptografa a credencial para que ela só possa ser descriptografada por processos na sessão de logon do chamador. |
|
Criptografa a credencial em um buffer WOW. |
|
Criptografa a credencial em um buffer de CRED_GENERIC. |
|
Criptografa a credencial de uma identidade online em uma estrutura de SEC_WINNT_AUTH_IDENTITY_EX2. Se CRED_PACK_GENERIC_CREDENTIALS e CRED_PACK_ID_PROVIDER_CREDENTIALS não estiverem definidos, criptografará as credenciais em um buffer de KERB_INTERACTIVE_LOGON.
Windows 7, Windows Server 2008 R2, Windows Vista, Windows Server 2008: Esse valor não tem suporte. |
[in] pszUserName
Um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome de usuário a ser convertido. Para usuários de domínio, a cadeia de caracteres deve estar no seguinte formato:
\ UserName
Para identidades online, se a credencial for uma senha de texto sem formatação, o formato de nome de usuário será ProviderName\UserName. Se a credencial for uma estrutura SEC_WINNT_AUTH_IDENTITY_EX2, o nome de usuário será uma cadeia de caracteres codificada que é o UserName saída de parâmetro de uma chamada de função para SspiEncodeAuthIdentityAsStrings.
Para de cartão inteligente ou credenciais de certificado, o nome de usuário é uma cadeia de caracteres codificada que é a saída de uma chamada de função para credMarshalCredential com a opção CertCredential.
Windows Server 2008 R2, Windows 7, Windows Server 2008 e Windows Vista: não há suporte para identidades do Online.
[in] pszPassword
Um ponteiro para uma cadeia de caracteres terminada em nulo que especifica a senha a ser convertida.
Para SEC_WINNT_AUTH_IDENTITY_EX2 credenciais, a senha é uma cadeia de caracteres codificada que está no ppszPackedCredentialsString saída de uma chamada de função para SspiEncodeAuthIdentityAsStrings.
Para
Windows Server 2008 R2, Windows 7, Windows Server 2008 e Windows Vista: não há suporte para identidades do Online.
[out] pPackedCredentials
Um ponteiro para uma matriz de bytes que, na saída, recebe o buffer de autenticação empacotado. Esse parâmetro pode ser NULL para receber o tamanho do buffer necessário no parâmetro pcbPackedCredentials.
[in, out] pcbPackedCredentials
Um ponteiro para um valor DWORD que especifica o tamanho, em bytes, do pPackedCredentials buffer. Na saída, se o buffer não for de tamanho suficiente, especificará o tamanho necessário, em bytes, do pPackedCredentials buffer.
Valor de retorno
VERDADEIRO se a função for bem-sucedida; caso contrário, FALSE .
Para obter informações de erro estendidas, chame a função GetLastError, que pode retornar os seguintes códigos de erro.
Código de retorno | Descrição |
---|---|
|
O buffer fornecido por pPackedCredentials é muito pequeno. |
Observações
Nota
O cabeçalho wincred.h define CredPackAuthenticationBuffer como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows Vista [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows Server 2008 [somente aplicativos da área de trabalho] |
da Plataforma de Destino |
Windows |
cabeçalho | wincred.h |
biblioteca | Credui.lib |
de DLL |
Credui.dll |