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_Done或EAPACTION_SendAndDone且 dwAuthResultCode 為零時,這個成員應該在驗證器端設定。
當 ActionEAPACTION_Authenticate時,數位可能包含驗證使用者所需的其他屬性,例如用戶密碼。 如果驗證通訊協定只傳入用戶名稱,RAS 不會叫用驗證提供者來驗證使用者,相反地,RAS 只會傳回使用者目前的屬性。
當 Action是EAPACTION_Done 或 EAPACTION_SendAndDone, 而 dwAuthResultCode 為零時,陣列可能包含要指派給使用者的其他屬性。 這些屬性會覆寫驗證提供者所傳回之相同類型的任何屬性。
驗證通訊協定會在其 RasEapEnd 函式中釋放此記憶體。
fInvokeInteractiveUI
指定 RAS 是否應該叫用驗證通訊協定的互動式 UI。 如果驗證通訊協定將此成員設定為 TRUE,則 RAS 會呼叫驗證通訊協定所提供的 RasEapInvokeInteractiveUI 函式來叫用互動式 UI。
pUIContextData
RAS 應該傳入 RasEapInvokeInteractiveUI 呼叫的內容數據指標。 驗證通訊協議應該在其 RasEapEnd 實作中釋放此記憶體。
dwSizeOfUIContextData
指定 RAS 應該傳入 RasEapInvokeInteractiveUI 呼叫的內容數據大小。
fSaveConnectionData
指定 RAS 是否應該儲存 pConnectionData 成員所指向的資訊。 如果 fSaveConnectionData 為 TRUE,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_Done 或 EAPACTION_SendAndDone。 如需 MPPE 子屬性格式的詳細資訊,請參閱 Microsoft 廠商特定的 RADIUS 屬性。 如需屬性格式的詳細資訊,請參閱 RAS_AUTH_ATTRIBUTE、 RAS_AUTH_ATTRIBUTE_TYPE和 RFC 2865。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
標頭 | raseapif.h |