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

指定下列零個或多個符合驗證程式的旗標。

旗標 意義
RASEAPF_NonInteractive
指定驗證通訊協定不應該顯示圖形用戶介面。 如果這個旗標不存在,通訊協定可以顯示使用者介面。
RASEAPF_Logon
指定從 WinLogon 取得用戶數據。
RASEAPF_Preview
指定在撥號之前,應該提示使用者輸入身分識別資訊。

[in] hwnd

UI 對話框的父視窗句柄。 如果 fInvokeUI 參數為 FALSE則 hwnd 應該是 NULL

[out] ppRasEapUserIdentity

成功傳回之指標的指標會接收包含EAP用戶識別資訊的 RASEAPUSERIDENTITY 結構位址。 RasGetEapUserIdentity 會配置 RASEAPUSERIDENTITY 結構的記憶體緩衝區。 藉由呼叫 RasFreeEapUserIdentity 來釋放此記憶體。

傳回值

如果函式成功,傳回值 會ERROR_SUCCESS

如果函式失敗,傳回值是下列其中一個錯誤碼,或是 路由和遠端訪問錯誤碼 或 Winerror.h 中的值。

意義
E_INVALID_ARG
mcuEapUserIdentity 參數為 NULL
ERROR_INTERACTIVE_MODE
函式是以 RASEAPF_NonInteractive 旗標呼叫。 不過,驗證通訊協議必須顯示UI,才能從使用者取得必要的身分識別資訊。
ERROR_INVALID_FUNCTION_FOR_ENTRY
此電話簿項目的驗證方法不是 EAP,或驗證方法是 EAP,但通訊協定會使用標準 Windows NT/Windows 2000 認證對話框來取得使用者身分識別資訊。 不論是哪一種情況,呼叫端都不需要將 EAP 身分識別資訊傳遞至 RasDial
ERROR_RASMAN_CANNOT_INITIALIZE
遠端存取服務無法正確初始化。
其他
使用 FormatMessage 擷取對應至傳回之錯誤碼的系統錯誤訊息。

備註

RasGetEapUserIdentity 會呼叫 RAS 函式 RasGetEapUserData 和 EAP 函式 RasEapGetIdentityRasEapGetIdentity 是由驗證通訊協議實作。

如果函式成功,也就是傳回值是NO_ERROR,呼叫端應該將 EAP 識別資訊從 ppRasEapUserIdentity 參數所指向的 RASEAPUSERIDENTITY 結構複製到 RASDIALPARAMSRASDIALEXTENSIONS 結構中用於呼叫 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

另請參閱

RASEAPUSERIDENTITY

RasDial

RasEapGetIdentity

RasFreeEapUserIdentity

RasGetEapUserData

RasSetEapUserData