структура CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION (credentialprovider.h)
Содержит сведения об учетных данных.
Синтаксис
typedef struct _CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION {
ULONG ulAuthenticationPackage;
GUID clsidCredentialProvider;
ULONG cbSerialization;
byte *rgbSerialization;
} CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION;
Члены
ulAuthenticationPackage
Тип: ULONG
Уникальный идентификатор пакета проверки подлинности. Этот параметр является обязательным при вызове LsaLogonUser. В сценарии пользовательского интерфейса учетных данных это значение устанавливается перед отправкой сериализации с помощью SetSerialization. Это то же значение, что и значение пакета проверки подлинности, возвращаемое LsaLookupAuthenticationPackage. Поставщики содержимого могут использовать этот параметр, чтобы определить, могут ли они возвращать учетные данные для этого пакета проверки подлинности. Разработчики, которые пишут собственный пакет проверки подлинности, могут предоставлять свои собственные значения.
clsidCredentialProvider
Тип: GUID
CLSID поставщика учетных данных. Поставщики учетных данных назначают этому члену собственный идентификатор CLSID во время сериализации. Пользовательский интерфейс учетных данных игнорирует этот элемент.
cbSerialization
Тип: ULONG
Размер (в байтах) учетных данных, на которые указывает rgbSerialization.
rgbSerialization
Тип: байт*
Массив байтов, содержащий сериализованные учетные данные. Точный формат этих данных зависит от пакета проверки подлинности, предназначенного поставщиком учетных данных.
Комментарии
Когда пользователь введет учетные данные на плитку учетных данных, ее необходимо поместить в буфер. Упаковка этих сведений называется сериализацией и необходима независимо от того, использует ли сценарий пользовательский интерфейс входа или пользовательский интерфейс учетных данных. CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION определяет структуру сериализации. Место отправки буфера после сериализации зависит от того, является ли он пользовательским интерфейсом входа или пользовательским интерфейсом учетных данных. При использовании пользовательского интерфейса входа буфер передается в Winlogon. В сценарии пользовательского интерфейса учетных данных этот буфер возвращается вызывающему приложению, которое затем использует его для проверки подлинности пользователя.
Даже если вы реализуете CREDENTIAL_PROVIDER_USAGE_SCENARIOCPUS_LOGON, вы не вызываете LsaLogonUser напрямую. Этот вызов обрабатывается системой. Необходимо просто передать учетные данные в Winlogon.
Входные учетные данные могут принимать различные формы. Важно, чтобы поставщики учетных данных были надежными при получении сериализованных учетных данных. Это может включать неполные или частичные учетные данные. Во многих случаях неполные входные учетные данные — это подсказка о том, какой тип учетных данных требуется вызывающему объекту. Один из случаев, когда этот процесс используется с вызывающими абонентами, которые хотят получить только смарт-карта учетные данные от пользователя. Во время сценария использования CPUS_LOGON система использует SetSerialization для заполнения некоторых сведений с удаленного компьютера. Пользовательский интерфейс входа будет вызывать SetSerialization ноль или один раз каждый цикл перечисления.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Верхняя часть | credentialprovider.h |