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


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

Функция CredGetTargetInfo извлекает все известные сведения об имени целевого объекта для именованного целевого компьютера. Это выполняется локально и не требует каких-либо особых привилегий. Ожидается, что возвращаемые сведения будут переданы в функции CredReadDomainCredentials и CredWriteDomainCredentials . Данные не должны использоваться для каких-либо других целей.

Пакеты проверки подлинности вычисляют TargetInfo при попытке пройти проверку подлинности в TargetName. Пакеты проверки подлинности кэшируют эти целевые сведения, чтобы сделать их доступными для CredGetTargetInfo. Таким образом, сведения о целевом объекте будут доступны только при недавней попытке проверить подлинность TargetName.

Пакеты проверки подлинности, не в процессе LSA, могут кэшировать TargetInfo для последующего получения CredGetTargetInfo путем вызова CredReadDomainCredentials с флагом CRED_CACHE_TARGET_INFORMATION.

Синтаксис

BOOL CredGetTargetInfoA(
  [in]  LPCSTR                          TargetName,
  [in]  DWORD                           Flags,
  [out] PCREDENTIAL_TARGET_INFORMATIONA *TargetInfo
);

Параметры

[in] TargetName

Указатель на строку, завершающуюся значением NULL, которая содержит имя целевого компьютера, для которого требуется извлечь сведения.

[in] Flags

Флаги, управляющие работой функции. Можно использовать следующий флаг:

CRED_ALLOW_NAME_RESOLUTION

Если нет сведений о целевом объекте, разрешение имени TargetName выполняется в TargetName , чтобы преобразовать его в другие формы. Если для любой из этих форм существует целевая информация, она возвращается. В настоящее время выполняется только разрешение DNS-имен.

Это полезно, если приложение не вызывает пакет проверки подлинности напрямую. Приложение может передать TargetName другому уровню программного обеспечения для проверки подлинности на сервере, и этот уровень программного обеспечения может разрешить имя и передать разрешенное имя в пакет проверки подлинности. Таким образом, для исходного targetName не будет сведений о целевом объекте.

[out] TargetInfo

Указатель на один выделенный буфер блока для хранения целевой информации. По крайней мере один из возвращенных элементов TargetInfo будет иметь значение, отличное от NULL. Все указатели, содержащиеся в буфере, являются указателями на расположения в этом одном выделенном блоке. Один возвращаемый буфер должен быть освобожден путем вызова CredFree.

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

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

  • ERROR_NOT_FOUND

    Сведения о целевом объекте для именованного сервера недоступны.

Комментарии

Примечание

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

Требования

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

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

CredFree

CredReadDomainCredentials

CredWriteDomainCredentials

Getlasterror