Skip to main content
ICredentialProviderCredential::GetSerialization method

Called in response to an attempt to submit this credential to the underlying authentication engine.

Syntax


HRESULT GetSerialization(
  [out]  CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE *pcpgsr,
  [out]  CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcs,
  [out]  LPWSTR *ppszOptionalStatusText,
  [out]  CREDENTIAL_PROVIDER_STATUS_ICON *pcpsiOptionalStatusIcon
);

Parameters

pcpgsr [out]

Type: CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE*

Contains a pointer to a member of the CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE enumeration.

pcpcs [out]

Type: CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION*

Contains a pointer to a CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION structure containing the credential.

ppszOptionalStatusText [out]

Type: LPWSTR*

When this method returns, contains the address of a pointer to a Unicode string value. May be NULL.

pcpsiOptionalStatusIcon [out]

Type: CREDENTIAL_PROVIDER_STATUS_ICON*

When this method returns, contains a pointer to a member of the CREDENTIAL_PROVIDER_STATUS_ICON enumeration. This value can be NULL.

Return value

Type: HRESULT

If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.

Remarks

This method is required.

Credential Provider Best Practices

Credential providers handle extremely sensitive user secrets in order to complete logon and unlock requests. As a best practice, secret information such as passwords and PINs should be handled with the utmost care. Proper techniques for handling secret information within a credential provider are:

  • Always securely discard secrets. To do this, call SecureZeroMemory before freeing the memory used to hold any secret.
  • Securely discard secrets promptly after they are used.
  • Securely discard secrets if they are not used for their intended purpose within an expected amount of time.

Requirements

Minimum supported client

Windows Vista [desktop apps only]

Minimum supported server

Windows Server 2008 [desktop apps only]

Header

Credentialprovider.h

IDL

Credentialprovider.idl