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,則此函式會顯示以父視窗為中心的強制回應對話框。
如果 hwndParentCREDUI_INFO 結構的成員 NULL,則函式會顯示以畫面為中心的對話框。
此函式會忽略 CREDUI_INFO 結構的 hbmBanner 成員。
[in] dwAuthError
在 Winerror.h 中定義的 Windows 錯誤碼,會顯示在對話框中。 如果先前收集的認證無效,呼叫端會使用此參數,將收集認證 API 的錯誤訊息(例如 Winlogon) 傳遞至此函式。 對應的錯誤訊息會格式化並顯示在對話框中。 將此參數的值設定為零,以顯示沒有錯誤訊息。
[in] pszPackage
要使用的安全性套件名稱。
[in] pInputAuthIdentity
用來在對話框中填入認證欄位的身分識別結構。 若要讓認證欄位保持空白,請將此參數的值設定為 NULL。
[out] ppAuthIdentity
識別結構,表示此函式所收集的認證。
當您完成使用此結構時,請呼叫 SspiFreeAuthIdentity 函式來釋放它。
[in, out, optional] pfSave
在輸入時,布爾值的指標會指定此函式顯示的對話框中是否已選取 [儲存] 複選框。 在輸出中,此參數的值會指定當使用者在對話框中按兩下 [送出] 按鈕時,是否已選取 [儲存] 複選框。 將此參數設定為
如果未在 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 [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | sspi.h |
連結庫 | Credui.lib |
DLL | Credui.dll |