PPP_EAP_OUTPUT 結構 (raseapif.h)

驗證通訊協定會使用 PPP_EAP_OUTPUT 結構,在呼叫 RasEapMakeMessage 時將要求和狀態資訊傳達給 連線管理員。

語法

typedef struct _PPP_EAP_OUTPUT {
  DWORD              dwSizeInBytes;
  PPP_EAP_ACTION     Action;
  DWORD              dwAuthResultCode;
  RAS_AUTH_ATTRIBUTE *pUserAttributes;
  BOOL               fInvokeInteractiveUI;
  PBYTE              pUIContextData;
  DWORD              dwSizeOfUIContextData;
  BOOL               fSaveConnectionData;
  PBYTE              pConnectionData;
  DWORD              dwSizeOfConnectionData;
  BOOL               fSaveUserData;
  PBYTE              pUserData;
  DWORD              dwSizeOfUserData;
  NgcTicketContext   *pNgcKerbTicket;
  BOOL               fSaveToCredMan;
} PPP_EAP_OUTPUT, *PPPP_EAP_OUTPUT;

成員

dwSizeInBytes

指定這個 結構的大小。

Action

指定 PPP_EAP_ACTION 值。 連線管理員 代表驗證通訊協定執行此動作。

dwAuthResultCode

指定驗證是否成功。 dwAuthResultCode 的任何非零值都表示失敗。 失敗碼必須來自 Winerror.h、Raserror.h 或 Mprerror.h。 只有當 Action 成員的值EAPACTION_Done或EAPACTION_SendAndDone時,這個成員才有效。

pUserAttributes

RAS_AUTH_ATTRIBUTE 結構的選擇性陣列指標。 陣列是由具有 raatMinimum之 raaType 成員的結構終止, (請參閱RAS_AUTH_ATTRIBUTE_TYPE) 。

當 Action 是EAPACTION_Authenticate,或是當 Action是EAPACTION_DoneEAPACTION_SendAndDonedwAuthResultCode 為零時,這個成員應該在驗證器端設定。

ActionEAPACTION_Authenticate時,數位可能包含驗證使用者所需的其他屬性,例如用戶密碼。 如果驗證通訊協定只傳入用戶名稱,RAS 不會叫用驗證提供者來驗證使用者,相反地,RAS 只會傳回使用者目前的屬性。

Action是EAPACTION_DoneEAPACTION_SendAndDone而 dwAuthResultCode 為零時,陣列可能包含要指派給使用者的其他屬性。 這些屬性會覆寫驗證提供者所傳回之相同類型的任何屬性。

驗證通訊協定會在其 RasEapEnd 函式中釋放此記憶體。

fInvokeInteractiveUI

指定 RAS 是否應該叫用驗證通訊協定的互動式 UI。 如果驗證通訊協定將此成員設定為 TRUE,則 RAS 會呼叫驗證通訊協定所提供的 RasEapInvokeInteractiveUI 函式來叫用互動式 UI。

pUIContextData

RAS 應該傳入 RasEapInvokeInteractiveUI 呼叫的內容數據指標。 驗證通訊協議應該在其 RasEapEnd 實作中釋放此記憶體。

dwSizeOfUIContextData

指定 RAS 應該傳入 RasEapInvokeInteractiveUI 呼叫的內容數據大小。

fSaveConnectionData

指定 RAS 是否應該儲存 pConnectionData 成員所指向的資訊。 如果 fSaveConnectionDataTRUE,RAS 會將數據儲存在電話簿中。 只對正在驗證的進程有效。

pConnectionData

識別連線的特定數據,也就是不專屬於任何特定用戶的數據。 如果 fSaveConnectionData 成員為 TRUE,RAS 會將連線數據儲存在電話簿中。 驗證通訊協議應該會在呼叫 RasEapEnd 期間釋放此數據所佔用的記憶體。

dwSizeOfConnectionData

指定 pConnectionData 成員所指向之數據的大小,以位元組為單位。

fSaveUserData

指定 RAS 是否應該儲存 pUserData 成員指向的用戶數據。 如果此參數為 TRUE,RAS 會將使用者特定數據儲存在登錄的 HKEY_CURRENT_USER底下。

pUserData

RAS 應該儲存在登錄中的用戶數據指標。 RAS 會將此資料儲存在登錄的 HKEY_CURRENT_USER 底下。 驗證通訊協議應該會在 呼叫 RasEapEnd 期間釋放此記憶體。

dwSizeOfUserData

指定 pUserData 所指向之數據的大小,以位元組為單位。

pNgcKerbTicket

fSaveToCredMan

備註

使用 RasEapMakeMessage 函式,在驗證通訊協定與 連線管理員 之間傳遞PPP_EAP_OUTPUT結構。

驗證通訊協定可以使用 PPP_EAP_OUTPUT 結構傳回 Microsoft 點對點加密 (MPPE) 會話密鑰。 驗證通訊協議必須將會話密鑰放在 包含在raatVendorSpecific 類型屬性的值欄位中的子屬性的值欄位中, (請參閱RAS_AUTH_ATTRIBUTE_TYPE) 。 子屬性的廠商標識碼應為 311 (Microsoft) 和廠商類型的 MS-MPPE-Recv-Keys (17) 和 MS-MPPE-Send-Keys (16) 。 驗證通訊協議必須設定 pUserAttributes 成員以指向 raatVendorSpecific 屬性,並將 Action 成員設定為 EAPACTION_DoneEAPACTION_SendAndDone。 如需 MPPE 子屬性格式的詳細資訊,請參閱 Microsoft 廠商特定的 RADIUS 屬性。 如需屬性格式的詳細資訊,請參閱 RAS_AUTH_ATTRIBUTERAS_AUTH_ATTRIBUTE_TYPERFC 2865

注意 格式化加密密鑰的屬性時,強烈建議您使用 MSCHAPv2 及其 MS-MPPE-Recv-Keys 和 MS-MPPE-Send-Keys,這會建立 強式加密 ,而不是 MSCHAPv1 及其 MS-CHAP-MPPE-Keys。
 

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
標頭 raseapif.h

另請參閱

EAP 結構

可延伸驗證通訊協議參考

PPP_EAP_ACTION

RAS_AUTH_ATTRIBUTE

RasEapInvokeInteractiveUI

RasEapMakeMessage