CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION構造体 (credentialprovider.h)

資格情報の詳細が含まれます。

構文

typedef struct _CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION {
  ULONG ulAuthenticationPackage;
  GUID  clsidCredentialProvider;
  ULONG cbSerialization;
  byte  *rgbSerialization;
} CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION;

メンバー

ulAuthenticationPackage

種類: ULONG

認証パッケージの一意識別子。 LsaLogonUser を呼び出すときは、このパラメーターが必要です。 資格情報 UI シナリオでは、シリアル化が SetSerialization 経由で送信される前に、この値が設定されます。 これは、 LsaLookupAuthenticationPackage によって返される認証パッケージの値と同じです。 コンテンツ プロバイダーは、このパラメーターを使用して、この認証パッケージの資格情報を返すことができるかどうかを判断できます。 独自の認証パッケージを記述する開発者は、独自の価値を提供できます。

clsidCredentialProvider

種類: GUID

資格情報プロバイダーの CLSID。 資格情報プロバイダーは、シリアル化中に独自の CLSID をこのメンバーに割り当てます。 資格情報 UI では、このメンバーは無視されます。

cbSerialization

種類: ULONG

rgbSerialization が指す資格情報のサイズ (バイト単位)。

rgbSerialization

型: byte*

シリアル化された資格情報を含むバイトの配列。 このデータの正確な形式は、資格情報プロバイダーが対象とする認証パッケージによって異なります。

注釈

ユーザーが資格情報の情報を資格情報タイルに入力したら、バッファーに格納する必要があります。 この情報のパッケージ化はシリアル化と呼ばれ、シナリオでログオン UI と資格情報 UI のどちらを使用するかに関係なく必要です。 CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATIONでは、シリアル化の構造を定義します。 シリアル化後、バッファーが送信される場所は、ログオン UI シナリオか資格情報 UI シナリオかによって異なります。 ログオン UI では、バッファーは Winlogon に渡されます。 資格情報 UI のシナリオでは、このバッファーは呼び出し元のアプリケーションに返され、それを使用してユーザーを認証します。

重要  

CPUS_LOGONCREDENTIAL_PROVIDER_USAGE_SCENARIOを実装している場合でも、LsaLogonUser を直接呼び出すわけではありません。 その呼び出しはシステムによって処理されます。 資格情報を Winlogon に渡すだけでかまいません。

 
また、SetSerialization から入力資格情報を受信した場合、資格情報プロバイダーは資格情報タイルを列挙することもできます。 これが役立つ 1 つの例は、ユーザーが無効なユーザー パスワードの組み合わせを提供している場合です。 資格情報 UI は無効であるため、資格情報プロバイダーに資格情報を渡します。 資格情報プロバイダーは、既にユーザー名が入力されているユーザーにタイルを表示することを選択できます。

入力資格情報にはさまざまな形式を使用できます。 シリアル化された資格情報を受信するときは、資格情報プロバイダーが堅牢であることが重要です。 これには、不完全な資格情報や部分的な資格情報が含まれる場合があります。 多くの場合、不完全な入力資格情報は、呼び出し元が望む資格情報の種類に関するヒントです。 このプロセスが使用される 1 つのケースは、ユーザーからスマート カード資格情報のみを収集する呼び出し元です。 CPUS_LOGONの使用シナリオでは、システムは SetSerialization を使用してリモート コンピューターからの情報の一部を入力します。 ログオン UI は、列挙サイクルごとに SetSerialization を 0 回または 1 回呼び出します。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
Header credentialprovider.h