ICredentialProviderCredential::GetSerialization メソッド (credentialprovider.h)

基になる認証エンジンにこの資格情報を送信しようとした場合に応答して呼び出されます。

構文

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

パラメーター

[out] pcpgsr

種類: CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE*

資格情報のシリアル化の試行の成功または失敗を示します。

[out] pcpcs

種類: CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION*

資格情報へのポインター。 結果によっては、有効な資格情報がない場合があります。

[out] ppszOptionalStatusText

種類: LPWSTR*

シリアル化後にログオン UI によって表示される Unicode 文字列値へのポインター。 NULL を指定できます。

[out] pcpsiOptionalStatusIcon

種類: CREDENTIAL_PROVIDER_STATUS_ICON*

GetSerialization の呼び出しが返された後に資格情報によって表示されるアイコンへのポインター。 この値には NULL を指定できます。

戻り値

型: HRESULT

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

解説

このメソッドは必須です。

CREDENTIAL_PROVIDER_USAGE_SCENARIOは、ユーザーが資格情報を送信しようとしたときの適切な応答を示します。 次の表は、使用シナリオに基づいて応答する方法を示しています。

CPUS_CHANGE_PASSWORD このシナリオでは、資格情報のシリアル化は行われません。 このシナリオでは、資格情報プロバイダーはユーザーの個人情報を更新し、CPGSR_NO_CREDENTIAL_FINISHEDを pcpgsr として返す必要があります。
CPUS_CREDUI 資格情報をシリアル化し、呼び出し元のアプリケーションに配信する必要があります。
CPUS_LOGONCPUS_UNLOCK_WORKSTATION 資格情報はバイナリ ストリームにパックし、 Winlogon と最終的には LSA に送信する必要があります。
 

資格情報プロバイダーのベスト プラクティス

資格情報プロバイダーは、ログオンとロック解除の要求を完了するために、非常に機密性の高いユーザー シークレットを処理します。 ベスト プラクティスとして、パスワードや PIN などのシークレット情報は細心の注意を払って処理する必要があります。 資格情報プロバイダー内でシークレット情報を処理するための適切な手法は次のとおりです。
  • シークレットは常に安全に破棄します。 これを行うには、シークレットを保持するために使用されるメモリを解放する前に 、SecureZeroMemory を呼び出します。
  • シークレットを使用した後、すぐに安全に破棄します。
  • 意図した目的に使用されていないシークレットは、予想される時間内に安全に破棄します。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー credentialprovider.h