次の方法で共有


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

ダイアログ ボックスに表示される、Winerror.h で定義された Windows エラー コード。 以前に収集された資格情報が無効な場合、呼び出し元はこのパラメーターを使用して、資格情報を収集した 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 を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー sspi.h
Library Credui.lib
[DLL] Credui.dll