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 中的值。
值 | 意義 |
---|---|
|
mcuEapUserIdentity 參數為 NULL。 |
|
函式是以 RASEAPF_NonInteractive 旗標呼叫。 不過,驗證通訊協議必須顯示UI,才能從使用者取得必要的身分識別資訊。 |
|
此電話簿項目的驗證方法不是 EAP,或驗證方法是 EAP,但通訊協定會使用標準 Windows NT/Windows 2000 認證對話框來取得使用者身分識別資訊。 不論是哪一種情況,呼叫端都不需要將 EAP 身分識別資訊傳遞至 RasDial。 |
|
遠端存取服務無法正確初始化。 |
|
使用 FormatMessage 擷取對應至傳回之錯誤碼的系統錯誤訊息。 |
備註
RasGetEapUserIdentity 會呼叫 RAS 函式 RasGetEapUserData 和 EAP 函式 RasEapGetIdentity。 RasEapGetIdentity 是由驗證通訊協議實作。
如果函式成功,也就是傳回值是NO_ERROR,呼叫端應該將 EAP 識別資訊從 ppRasEapUserIdentity 參數所指向的 RASEAPUSERIDENTITY 結構複製到 RASDIALPARAMS 和 RASDIALEXTENSIONS 結構中用於呼叫 RasDial 的 RASDIAL。
如果開發的遠端存取應用程式具有圖形用戶介面, 則 RasGetEapUserIdentity 的呼叫端不應該指定RASEAPF_NonInteractive旗標。 如果應用程式有命令行使用者介面,呼叫端可能會想要指定RASEAPF_NonInteractive旗標,以防止驗證通訊協議顯示圖形用戶介面。
注意
ras.h 標頭會根據 UNICODE 預處理器常數的定義,將 RasGetEapUserIdentity 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | ras.h |
程式庫 | Rasapi32.lib |
Dll | Rasapi32.dll |