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


Функция 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 значений.

Если CredTypeCertCredential, учетные данные указывает на структуру CERT_CREDENTIAL_INFO.

Если CredTypeusernameTargetCredential, Credential указывает на структуру USERNAME_TARGET_CREDENTIAL_INFO.

[out] MarshaledCredential

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

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

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

ERROR_INVALID_PARAMETER

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

Замечания

Заметка

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003 [только классические приложения]
целевая платформа Виндоус
заголовка wincred.h
библиотеки Advapi32.lib
DLL Advapi32.dll

См. также

CERT_CREDENTIAL_INFO

CRED_MARSHAL_TYPE

CredFree

CredUnmarshalCredential

GetLastError

USERNAME_TARGET_CREDENTIAL_INFO