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 |