ICredentialProviderFilter::Filter method (credentialprovider.h)
Evaluates whether a list of credential providers should be allowed to provide credential tiles.
Syntax
HRESULT Filter(
[in] CREDENTIAL_PROVIDER_USAGE_SCENARIO cpus,
[in] DWORD dwFlags,
[in] GUID *rgclsidProviders,
[in, out] BOOL *rgbAllow,
[in] DWORD cProviders
);
Parameters
[in] cpus
Type: CREDENTIAL_PROVIDER_USAGE_SCENARIO
A pointer to a CREDENTIAL_PROVIDER_USAGE_SCENARIO value that declares the scenarios in which a credential provider is supported.
[in] dwFlags
Type: DWORD
Usage scenario flags. This parameter is valid only if cpus is CPUS_CREDUI. They are defined in Wincred.h.
CREDUIWIN_GENERIC
Plain text username/password is being requested.
CREDUIWIN_CHECKBOX
Show the Save Credential checkbox.
CREDUIWIN_AUTHPACKAGE_ONLY
Only credential providers that support the input authentication package should enumerate.
CREDUIWIN_IN_CRED_ONLY
Only the incoming credential for the specific authentication package should be enumerated.
CREDUIWIN_ENUMERATE_ADMINS
Credential providers should enumerate administrators.
CREDUIWIN_ENUMERATE_CURRENT_USER
Only the incoming credential
CREDUIWIN_PACK_32_WOW
[in] rgclsidProviders
Type: GUID*
A pointer to an array of credential provider CLSIDs.
[in, out] rgbAllow
Type: BOOL*
On entry, a pointer to an array of BOOL values, one for each corresponding member of the rgclsidProviders array, all initialized to TRUE.
On exit, contains TRUE if the corresponding credential provider in rgclsidProviders is allowed to provide a credential tile; otherwise, FALSE.
[in] cProviders
Type: DWORD
The number of members in rgbAllow or rgclsidProviders (they should be the same).
Return value
Type: HRESULT
Always returns S_OK.
Remarks
On entry, this method receives two parallel arrays; rgclsidProviders, which contains the credential provider CLSIDs and rgbAllow, which contains BOOL values for the corresponding CLSIDs. ICredentialProviderFilter::Filter looks at each credential provider in rgclsidProviders and decides whether the credential provider should be allowed to enumerate credential tiles for the scenario specified by dwFlags. If this is acceptable, the corresponding entry in rgbAllow is set to TRUE. If this is unacceptable, it is set to FALSE.
Never filter out a CLSID for a credential provider that you do not know about.
Do not filter if cpus is CPUS_CREDUI and a dwFlags value of CREDUIWIN_GENERIC is passed in.
It is legitimate to return success from the method and not modify rgbAllow.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows Vista [desktop apps only] |
Minimum supported server | Windows Server 2008 [desktop apps only] |
Target Platform | Windows |
Header | credentialprovider.h |