次の方法で共有


SspiPromptForCredentialsA 関数 (sspi.h)

セキュリティ サポート プロバイダー インターフェイス (SSPI) アプリケーションで、ユーザーに資格情報の入力を求めるメッセージを表示できるようにします。

構文

unsigned long SEC_ENTRY SspiPromptForCredentialsA(
  [in]                PCSTR                           pszTargetName,
  [in]                PCREDUI_INFOA                   pUiInfo,
  [in]                unsigned long                   dwAuthError,
  [in]                PCSTR                           pszPackage,
  [in]                PSEC_WINNT_AUTH_IDENTITY_OPAQUE pInputAuthIdentity,
  [out]               PSEC_WINNT_AUTH_IDENTITY_OPAQUE *ppAuthIdentity,
  [in, out, optional] int                             *pfSave,
  [in]                unsigned long                   dwFlags
);

パラメーター

[in] pszTargetName

使用するターゲットの名前。

[in] pUiInfo

この関数が表示するダイアログ ボックスの外観をカスタマイズするための情報を含む CREDUI_INFO 構造体へのポインター。

CREDUI_INFO 構造体の hwndParent メンバーが NULLされていない場合、この関数は親ウィンドウの中央にモーダル ダイアログ ボックスを表示します。

CREDUI_INFO 構造体の hwndParent メンバーが NULL場合、関数は画面の中央にダイアログ ボックスを表示します。

この関数は、CREDUI_INFO 構造体の hbmBanner メンバーを無視します。

[in] dwAuthError

ダイアログ ボックスに表示される Windows エラー コード (Winerror.h で定義)。 以前に収集された資格情報が無効な場合、呼び出し元はこのパラメーターを使用して、資格情報を収集した API (Winlogon など) からこの関数にエラー メッセージを渡します。 対応するエラー メッセージが書式設定され、ダイアログ ボックスに表示されます。 エラー メッセージを表示しない場合は、このパラメーターの値を 0 に設定します。

[in] pszPackage

使用するセキュリティ パッケージの名前。

[in] pInputAuthIdentity

ダイアログ ボックスで資格情報フィールドを設定するために使用される ID 構造体。 資格情報フィールドを空のままにするには、このパラメーターの値を NULLに設定します。

[out] ppAuthIdentity

この関数が収集する資格情報を表す ID 構造体。

この構造体の使用が完了したら、SspiFreeAuthIdentity 関数を呼び出して解放します。

[in, out, optional] pfSave

入力時に、この関数が表示するダイアログ ボックスで [保存] チェック ボックスをオンにするかどうかを指定するブール値へのポインター。 出力時に、このパラメーターの値は、ユーザーがダイアログ ボックスの [送信] ボタンをクリックしたときに[保存]チェック ボックスをオンにしたかどうかを指定します。 [保存] チェック ボックスを無視するには、このパラメーターを NULL 設定します。

dwFlags パラメーターで CREDUIWIN_CHECKBOX フラグが設定されていない場合、このパラメーターは無視されます。

[in] dwFlags

この関数の動作を決定するフラグ。 現在、次のフラグが定義されています。

価値 意味
SSPIPFC_CREDPROV_DO_NOT_SAVE
0x00000001
pfSave パラメーターの値は無視され、この関数によって収集された資格情報は保存されません。

Windows 7 および Windows Server 2008 R2: pfSave パラメーターの値は無視され、この関数によって収集された資格情報は保存されません。 この可能な値の名前のみがSSPIPFC_SAVE_CRED_BY_CALLERされました。

SSPIPFC_NO_CHECKBOX
0x00000002
この値は、パスワードとスマート カードの資格情報プロバイダーがユーザーに [資格情報を記憶する] チェック ボックスを表示しないことを示します。 SspiPromptForCredentials 関数は、credUIPromptForWindowsCredentials 関数の pvInAuthBuffer パラメーターで、このフラグ値 SSPIPFC_NO_CHECKBOX渡します。

戻り値

関数が成功した場合は、SEC_E_OKを返します。

関数が失敗すると、0 以外のエラー コードが返されます。

備考

手記

sspi.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SspiPromptForCredentials を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 7 [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー sspi.h
ライブラリ Credui.lib
DLL Credui.dll