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
決定此函式行為的旗標。 目前已定義下列旗標。
值 | 意義 |
---|---|
|
會忽略 pfSave 參數的值,而且不會儲存此函式所收集的認證。
Windows 7 和 Windows Server 2008 R2: 會忽略 pfSave 參數的值,而且不會儲存此函式所收集的認證。 只有這個可能值的名稱SSPIPFC_SAVE_CRED_BY_CALLER。 |
|
值表示密碼和智慧卡認證提供者不會向使用者顯示 [記住我的認證] 複選框。 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 |