[This is preliminary documentation and subject to change.]
The authentication protocol uses the PPP_EAP_OUTPUT structure to communicate requests and status information to the RAS Connection Manager.
typedef struct _PPP_EAP_OUTPUT {
PPP_EAP_ACTION Action; // action that RAS
// should take
DWORD dwIdExpected; // ID of expected
// response packet
DWORD dwAuthResultCode; // result of
// authentication
CHAR szIdentity[UNLEN+1]; // identifies the
// authenticated user
RAS_AUTH_ATTRIBUTE * pAuthenticatedUserAttributes;
// array of attributes
// structure
BOOL fInvokeInteractiveUI; // causes RAS
// to invoke
// interactive UI
PBYTE pUIContextData; // data to send to
// interactive UI
DWORD dwSizeOfUIContextData; // size of data
BOOL fSaveConfigInfo; // RAS should save
// the config info
PBYTE pConnectionData; // pointer to the per-
// connection config info
DWORD dwSizeofConnectionData; // size of the per-
// connection config info
PBYTE pUserData; // pointer to the per-
// user config info
DWORD dwSizeofUserData; // size of the per-
// user config info
} PPP_EAP_OUTPUT, *PPPP_EAP_OUTPUT;
These structures are allocated by the authentication protocol only if the protocol is not using an existing authentication provider. It is up to the authentication protocol to free this memory in its RasEapEnd function. This member should be set on the authenticator side when Action is EAPACTION_Done or EAPACTION_SendAndDone, and dwAuthResultCode is zero.
Use the RasEapMakeMessage function to pass the PPP_EAP_OUTPUT structure between the authentication protocol and the RAS Connection Manager
Windows NT: Use version 5.0 or later.
Windows: Unsupported.
Windows CE: Unsupported.
Header: Declared in raseapif.h.
RAS_AUTH_ATTRIBUTE, PPP_EAP_ACTION, RasEapInvokeInteractiveUI, RasEapMakeMessage