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) 。 對應的錯誤訊息會格式化並顯示在對話框中。 將此參數的值設定為零,以顯示沒有錯誤訊息。

[in] pszPackage

要使用的安全性套件名稱。

[in] pInputAuthIdentity

用來在對話框中填入認證欄位的身分識別結構。 若要將認證欄位保留空白,請將此參數的值設定為 NULL

[out] ppAuthIdentity

識別結構,表示此函式所收集的認證。

當您完成使用此結構時,請呼叫 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

如果函式失敗,它會傳回非零錯誤碼。

備註

注意

sspi.h 標頭會根據 UNICODE 預處理器常數的定義,將 SspiPromptForCredentials 定義為別名,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows 7 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 R2 [僅限傳統型應用程式]
目標平台 Windows
標頭 sspi.h
程式庫 Credui.lib
Dll Credui.dll