ICredentialProvider interface
Exposes methods used in the setup and manipulation of a credential provider. All credential providers must implement this interface.
Methods
The ICredentialProvider interface has these methods.
Method | Description |
---|---|
ICredentialProvider::Advise | Allows a credential provider to initiate events in the Logon UI or Credential UI through a callback interface. |
ICredentialProvider::GetCredentialAt | Gets a specific credential. |
ICredentialProvider::GetCredentialCount | Gets the number of available credentials under this credential provider. |
ICredentialProvider::GetFieldDescriptorAt | Gets metadata that describes a specified field. |
ICredentialProvider::GetFieldDescriptorCount | Retrieves the count of fields in the needed to display this provider's credentials. |
ICredentialProvider::SetSerialization | Sets the serialization characteristics of the credential provider. |
ICredentialProvider::SetUsageScenario | Defines the scenarios for which the credential provider is valid. Called whenever the credential provider is initialized. |
ICredentialProvider::UnAdvise | Used by the Logon UI or Credential UI to advise the credential provider that event callbacks are no longer accepted. |
Remarks
This interface is how you will interact with the Logon UI and the Credential UI for your app.
An instantiated credential provider is maintained for the entire lifetime of a Logon UI. Because of this, the Logon UI can maintain the state of a credential provider. In particular, it remembers which provider and tile provided a credential. This means that you can potentially store state information when you are using a CREDENTIAL_PROVIDER_USAGE_SCENARIO of CPUS_LOGON, CPUS_UNLOCK_WORKSTATION, and CPUS_CHANGE_PASSWORD. This is not the case with the Credential UI. The Credential UI creates a new instance of the provider every time an application calls CredUIPromptForWindowsCredentials. Because of this, the Credential UI cannot remember a credential provider's state.
Be aware that a CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION generated in one scenario might be saved and used in a subsequent usage scenario. Because of this, it is necessary to make sure your ICredentialProvider implementation is robust enough to handle this scenario.
Windows 8 adds new functionality in the credential providers API, primarily the ability to group credentials by user. For more information, download the Microsoft Word document Credential Provider Framework Changes in Windows 8 from the Microsoft Download Center.
Requirements
Minimum supported client | Windows Vista [desktop apps only] |
Minimum supported server | Windows Server 2008 [desktop apps only] |
Target Platform | Windows |
Header | credentialprovider.h |
See Also
CREDENTIAL_PROVIDER_USAGE_SCENARIO
Credential Provider driven Windows Logon Experience