Função CredMarshalCredentialA (wincred.h)

A função CredMarshalCredential transforma uma credencial em uma cadeia de caracteres de texto. Historicamente, muitas funções, como NetUseAdd, assumem um nome de domínio, um nome de usuário e uma senha como credenciais. Essas funções não aceitam certificados como credenciais. A função CredMarshalCredential converte essas credenciais em um formulário que pode ser passado para essas APIs.

A credencial marshaled deve ser passada como a cadeia de caracteres de nome de usuário para qualquer API que tenha credenciais passadas no momento. O nome de domínio, se aplicável, passado para essa API deve ser passado como NULL ou vazio. Para credenciais de certificado, o PIN do certificado deve ser passado para essa API como a senha.

O chamador não deve modificar nem imprimir credenciais com marshaling. O valor retornado pode ser convertido livremente entre os conjuntos de caracteres Unicode, ANSI e OEM. A cadeia de caracteres diferencia maiúsculas de minúsculas.

Sintaxe

BOOL CredMarshalCredentialA(
  [in]  CRED_MARSHAL_TYPE CredType,
  [in]  PVOID             Credential,
  [out] LPSTR             *MarshaledCredential
);

Parâmetros

[in] CredType

Tipo da credencial a ser empacotada.

[in] Credential

Credencial para realizar marshaling.

Esse é um dos valores CRED_MARSHAL_TYPE .

Se CredType for CertCredential, Credential apontará para uma estrutura CERT_CREDENTIAL_INFO .

Se CredType for UsernameTargetCredential, a Credencial apontará para uma estrutura USERNAME_TARGET_CREDENTIAL_INFO .

[out] MarshaledCredential

Ponteiro para uma cadeia de caracteres terminada em nulo que contém a credencial marshaled. O chamador deve liberar o buffer retornado usando CredFree.

Retornar valor

Essa função retorna TRUE em caso de êxito e FALSE em caso de falha. A função GetLastError pode ser chamada para obter um código de status mais específico. O seguinte código de status pode ser retornado:

ERROR_INVALID_PARAMETER

CredType não é válido.

Comentários

Observação

O cabeçalho wincred.h define CredMarshalCredential 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

Requisito Valor
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 wincred.h
Biblioteca Advapi32.lib
DLL Advapi32.dll

Confira também

CERT_CREDENTIAL_INFO

CRED_MARSHAL_TYPE

CredFree

CredUnmarshalCredential

Obter Último Erro

USERNAME_TARGET_CREDENTIAL_INFO