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 是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*
認證提供者 CLID 陣列的指標。
[in, out] rgbAllow
類型: BOOL*
在專案上, BOOL 值的數位指標,一個用於 rgclsidProviders 陣列的每個對應成員,全部都初始化為 TRUE。
結束時,如果允許 rgclsidProviders 中的對應認證提供者提供認證磚,則會包含 TRUE;否則為 FALSE。
[in] cProviders
類型: DWORD
rgbAllow 或 rgclsidProviders 中的成員數目, (它們應該是相同的) 。
傳回值
類型: HRESULT
一律會傳回S_OK。
備註
在輸入時,這個方法會收到兩個平行陣列; rgclsidProviders,其中包含認證提供者 CLSID 和 rgbAllow,其中包含對應 CLSID 的 BOOL 值。 ICredentialProviderFilter::Filter 會查看 rgclsidProviders 中的每個認證提供者,並決定是否允許認證提供者列舉 dwFlags 所指定案例的認證磚。 如果這是可接受的, rgbAllow 中的對應項目會設定為 TRUE。 如果無法接受,則會將它設定為 FALSE。
絕對不要篩選出您不知道的認證提供者 CLSID。
如果 cpu 是 CPUS_CREDUI,而且會傳入CREDUIWIN_GENERIC的 dwFlags 值,請勿篩選。
從方法傳回成功,而不是修改 rgbAllow 是合法的。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | credentialprovider.h |