Поделиться через


Функция CredMarshalCredentialA (wincred.h)

Функция CredMarshalCredential преобразует учетные данные в текстовую строку. Исторически многие функции, такие как NetUseAdd, принимают доменное имя, имя пользователя и пароль в качестве учетных данных. Эти функции не принимают сертификаты в качестве учетных данных. Функция CredMarshalCredential преобразует такие учетные данные в форму, которую можно передать в эти API.

Маршалированные учетные данные должны передаваться в качестве строки имени пользователя в любой API, которому в настоящее время переданы учетные данные. Доменное имя, если применимо, переданное в этот API, должно быть передано как NULL или пустое. Для учетных данных сертификата ПИН-код сертификата должен быть передан в этот API в качестве пароля.

Вызывающий объект не должен изменять или печатать маршалированные учетные данные. Возвращаемое значение можно свободно преобразовывать между наборами символов Юникода, ANSI и OEM. В строке учитывается регистр.

Синтаксис

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

Параметры

[in] CredType

Тип учетных данных для маршалинга.

[in] Credential

Учетные данные для маршалинга.

Это одно из CRED_MARSHAL_TYPE значений .

Если credType имеет значение CertCredential, credential указывает на структуру CERT_CREDENTIAL_INFO .

Если параметр CredType имеет значение UsernameTargetCredential, credential указывает на структуру USERNAME_TARGET_CREDENTIAL_INFO .

[out] MarshaledCredential

Указатель на строку, завершающуюся пустым значением, которая содержит маршалированные учетные данные. Вызывающий объект должен освободить возвращенный буфер с помощью CredFree.

Возвращаемое значение

Эта функция возвращает значение TRUE при успешном выполнении и FALSE при сбое. Для получения более конкретного кода состояния можно вызвать функцию GetLastError . Можно вернуть следующий код состояния:

ERROR_INVALID_PARAMETER

CredType недопустим .

Комментарии

Примечание

Заголовок wincred.h определяет CredMarshalCredential в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header wincred.h
Библиотека Advapi32.lib
DLL Advapi32.dll

См. также раздел

CERT_CREDENTIAL_INFO

CRED_MARSHAL_TYPE

CredFree

CredUnmarshalCredential

Getlasterror

USERNAME_TARGET_CREDENTIAL_INFO