Compartilhar via


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 marshalada deve ser passada como a cadeia de caracteres de nome de usuário para qualquer API que seja passada 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 ou imprimir credenciais em marshaled. 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 marshalada.

[in] Credential

Credencial a ser marshalada.

Esse é um dos valores CRED_MARSHAL_TYPE.

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

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

[out] MarshaledCredential

Ponteiro para um cadeia de caracteresterminada nula que contém a credencial marshalada. O chamador deve liberar o buffer retornado usando credFree.

Valor de retorno

Essa função retorna TRUE com ê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 código de status a seguir pode ser retornado:

ERROR_INVALID_PARAMETER

CredType não é válido.

Observações

Nota

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 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 XP [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows Server 2003 [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho wincred.h
biblioteca Advapi32.lib
de DLL Advapi32.dll

Consulte também

CERT_CREDENTIAL_INFO

CRED_MARSHAL_TYPE

CredFree

CredUnmarshalCredential

GetLastError

USERNAME_TARGET_CREDENTIAL_INFO