Функция CredReadDomainCredentialsA (wincred.h)
Функция CredReadDomainCredentials считывает учетные данные домена из набора учетных данных пользователя. Используемый набор учетных данных связан с сеансом входа в текущий токен. Маркер не должен отключить идентификатор безопасности пользователя.
Синтаксис
BOOL CredReadDomainCredentialsA(
[in] PCREDENTIAL_TARGET_INFORMATIONA TargetInfo,
[in] DWORD Flags,
[out] DWORD *Count,
[out] PCREDENTIALA **Credential
);
Параметры
[in] TargetInfo
Целевые сведения, определяющие целевой сервер. Хотя бы один из элементов именования не должен быть NULL: NetbiosServerName, DnsServerName, NetbiosDomainName, DnsDomainName или DnsTreeName.
[in] Flags
Флаги, управляющие операцией функции.
Определен следующий флаг:
CRED_CACHE_TARGET_INFORMATION
Кэшируйте TargetInfo для последующего чтения с помощью CredGetTargetInfo.
[out] Count
Количество учетных данных, возвращаемых в массиве Учетные данные.
[out] Credential
Указатель на массив указателей на учетные данные. Возвращается наиболее конкретные существующие учетные данные, соответствующие TargetInfo. Если существуют учетные данные различных типов (например, CRED_TYPE_DOMAIN_PASSWORD и CRED_TYPE_DOMAIN_CERTIFICATE учетных данных), возвращается один из типов. Если подключение должно быть сделано с именованным целевым объектом, будут использоваться эти самые конкретные учетные данные.
Только эти типы учетных данных, указанныеTargetInfo
- CRED_TYPE_DOMAIN_CERTIFICATE
- CRED_TYPE_DOMAIN_PASSWORD
Возвращаемый буфер является одним выделенным блоком. Все указатели, содержащиеся в буфере, являются указателями на расположения в этом отдельном блоке. Один возвращаемый буфер должен быть освобожден путем вызова CredFree.
Возвращаемое значение
Функция возвращает TRUE при успешном выполнении и false при сбое. Функцию getLastError можно вызвать
- ERROR_INVALID_PARAMETER
Ни один из параметров именования не указан.
- ERROR_NOT_FOUND
Учетные данные не соответствуют указанным параметрам именования.
- ERROR_NO_SUCH_LOGON_SESSION
Сеанс входа не существует или нет набора учетных данных, связанных с этим сеансом входа. Сеансы входа в сеть не имеют связанного набора учетных данных.
- ERROR_INVALID_FLAGS
Недопустимый флаг был указан для параметра Flags.
Замечания
Эта функция возвращает наиболее конкретные учетные данные, соответствующие параметрам именования. Например, если есть учетные данные, соответствующие имени целевого сервера и учетным данным, соответствующим целевому домену, возвращаются только определенные учетные данные сервера. Это учетные данные, которые будут использоваться.
В следующем списке указывается порядок (от наиболее конкретного до наименее конкретного) того, какие учетные данные возвращаются при наличии нескольких совпадений:
- Имя целевого объекта учетных данных — это форма <DfsRoot>\<DfsShare>, и это точное совпадение в TargetName.
- Точное совпадение DnsServerName.
- Точное совпадение для NetBIOSServerName.
- Точное совпадение TargetName.
- Совпадение DnsServerName с учетными данными сервера подстановочных знаков. Если совпадает несколько учетных данных сервера подстановочных знаков, используется учетные данные с более длинным именем targetName. То есть учетные данные для *.example.microsoft.com используются вместо учетных данных для *.microsoft.com.
- Точное совпадение DnsDomainName с учетными данными домена подстановочного знака формы <DnsDomainName>\*.
- Точное совпадение NetBIOSDomainName с учетными данными домена подстановочного знака формы <NetBIOSDomainName>\*
- Учетные данные с именем CRED_SESSION_WILDCARD_NAME.
- Учетные данные с именем "*".
Если значение элемента
Эта функция может возвращать несколько учетных данных этого типа, но CRED_TYPE_DOMAIN_EXTENDED нельзя смешать с другими типами в CredTypes элемент структуры CREDENTIAL_TARGET_INFORMATION, указанной параметром TargetInfo.
Заметка
Заголовок wincred.h определяет CredReadDomainCredentials в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows XP [только классические приложения] |
минимальный поддерживаемый сервер | Windows Server 2003 [только классические приложения] |
целевая платформа | Виндоус |
заголовка | wincred.h |
библиотеки |
Advapi32.lib |
DLL | Advapi32.dll |