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


Метод ICredentialProviderFilter::Filter (credentialprovider.h)

Оценивает, следует ли разрешить списку поставщиков учетных данных предоставлять плитки учетных данных.

Синтаксис

HRESULT Filter(
  [in]      CREDENTIAL_PROVIDER_USAGE_SCENARIO cpus,
  [in]      DWORD                              dwFlags,
  [in]      GUID                               *rgclsidProviders,
  [in, out] BOOL                               *rgbAllow,
  [in]      DWORD                              cProviders
);

Параметры

[in] cpus

Тип: CREDENTIAL_PROVIDER_USAGE_SCENARIO

Указатель на значение CREDENTIAL_PROVIDER_USAGE_SCENARIO , объявляющее сценарии, в которых поддерживается поставщик учетных данных.

[in] dwFlags

Тип: DWORD

Флаги сценариев использования. Этот параметр действителен, только если ЦП CPUS_CREDUI. Они определены в Wincred.h.

CREDUIWIN_GENERIC

Запрашивается имя пользователя или пароль в виде обычного текста.

CREDUIWIN_CHECKBOX

Отображает флажок Сохранить учетные данные .

CREDUIWIN_AUTHPACKAGE_ONLY

Перечислять должны только поставщики учетных данных, поддерживающие входной пакет проверки подлинности.

CREDUIWIN_IN_CRED_ONLY

Необходимо перечислить только входящие учетные данные для конкретного пакета проверки подлинности.

CREDUIWIN_ENUMERATE_ADMINS

Поставщики учетных данных должны перечислять администраторов.

CREDUIWIN_ENUMERATE_CURRENT_USER

Только входные учетные данные

CREDUIWIN_PACK_32_WOW

[in] rgclsidProviders

Тип: GUID*

Указатель на массив идентификаторов CLSID поставщика учетных данных.

[in, out] rgbAllow

Тип: BOOL*

При входе указатель на массив значений BOOL , по одному для каждого соответствующего члена массива rgclsidProviders , инициализируется значением TRUE.

При выходе содержит значение TRUE , если соответствующему поставщику учетных данных в rgclsidProviders разрешено предоставлять плитку учетных данных; в противном случае — FALSE.

[in] cProviders

Тип: DWORD

Количество элементов в rgbAllow или rgclsidProviders (они должны быть одинаковыми).

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

Тип: HRESULT

Всегда возвращает S_OK.

Комментарии

При входе этот метод получает два параллельных массива; rgclsidProviders, который содержит идентификаторы CLSID поставщика учетных данных и rgbAllow, который содержит значения BOOL для соответствующих идентификаторов CLSID. ICredentialProviderFilter::Filter проверяет каждый поставщик учетных данных в rgclsidProviders и решает, следует ли разрешить поставщику учетных данных перечислять плитки учетных данных для сценария, заданного dwFlags. Если это допустимо, соответствующая запись в rgbAllow имеет значение TRUE. Если это неприемлемо, устанавливается значение FALSE.

Никогда не отфильтруйте ИДЕНТИФИКАТОР CLSID для поставщика учетных данных, о который вы не знаете.

Не фильтруйте , если ЦП CPUS_CREDUI и передается значение dwFlags CREDUIWIN_GENERIC.

Допустимо возвращать успешное выполнение из метода, а не изменять rgbAllow.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header credentialprovider.h