RasGetEapUserIdentityA 函式 (ras.h)
RasGetEapUserIdentity 函式會擷取目前使用者的身分識別資訊。 使用這項資訊,透過需要可延伸驗證通訊協定 (EAP) 的電話簿專案來呼叫 RasDial。
語法
DWORD RasGetEapUserIdentityA(
[in] LPCSTR pszPhonebook,
[in] LPCSTR pszEntry,
[in] DWORD dwFlags,
[in] HWND hwnd,
[out] LPRASEAPUSERIDENTITYA *ppRasEapUserIdentity
);
參數
[in] pszPhonebook
null終止字串的指標,指定電話簿 (PBK) 檔案的完整路徑。 如果此參數 NULL,則函式會使用系統電話簿。
[in] pszEntry
指定現有項目名稱之 null終止字串的指標。
[in] dwFlags
指定下列旗標的零個或多個符合驗證程式的旗標。
旗 | 意義 |
---|---|
|
指定驗證通訊協定不應該顯示圖形用戶介面。 如果此旗標不存在,則通訊協定可以顯示使用者介面。 |
|
指定從 WinLogon 取得用戶數據。 |
|
指定在撥號之前,應提示使用者輸入身分識別資訊。 |
[in] hwnd
UI 對話框的父視窗句柄。 如果 fInvokeUI 參數 FALSE,則 hwnd 應 NULL。
[out] ppRasEapUserIdentity
成功傳回的指標會接收包含EAP使用者身分識別資訊的 RASEAPUSERIDENTITY 結構位址。 RasGetEapUserIdentity 配置 RASEAPUSERIDENTITY 結構的記憶體緩衝區。 呼叫 RasFreeEapUserIdentity來釋放此記憶體。
傳回值
如果函式成功,則傳回值會 ERROR_SUCCESS。
如果函式失敗,傳回值是下列其中一個錯誤碼,或來自 路由和遠端訪問錯誤碼的值 或 Winerror.h。
價值 | 意義 |
---|---|
|
|
|
使用 RASEAPF_NonInteractive 旗標呼叫函式。 不過,驗證通訊協議必須顯示UI,才能從使用者取得必要的身分識別資訊。 |
|
此電話簿項目的驗證方法不是 EAP,或驗證方法是 EAP,但通訊協定會使用標準 Windows NT/Windows 2000 認證對話框來取得使用者身分識別資訊。 不論是哪一種情況,呼叫者都不需要將 EAP 身分識別資訊傳遞至 RasDial。 |
|
遠端存取服務無法正確初始化。 |
|
使用 FormatMessage 擷取對應至傳回錯誤碼的系統錯誤訊息。 |
言論
RasGetEapUserIdentity 會呼叫 RAS 函式,RasGetEapUserData 和 EAP 函式 RasEapGetIdentity。 驗證通訊協議會實作 RasEapGetIdentity。
如果函式成功,即傳回值NO_ERROR, 呼叫端應該從 ppRasEapUserIdentity 參數所指向的 RASEAPUSERIDENTITY 結構,將 EAP 身分識別資訊複製到 RASDIALPARAMS 和 RASDIALEXTENSIONS 結構,用於呼叫 RasDial。
如果開發的遠端存取應用程式具有圖形使用者介面,則 RasGetEapUserIdentity 的呼叫者不應指定RASEAPF_NonInteractive旗標。 如果應用程式具有命令行使用者介面,呼叫端可能會想要指定RASEAPF_NonInteractive旗標,以防止驗證通訊協議顯示圖形用戶介面。
注意
ras.h 標頭會根據 UNICODE 預處理器常數的定義,將 RasGetEapUserIdentity 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
支援的最低伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | ras.h |
連結庫 | Rasapi32.lib |
DLL | Rasapi32.dll |