[This is preliminary documentation and subject to change.]
The RasEapMakeMessage function is the framework within which incoming and outgoing EAP packets, timeouts, and other events such as authentication completion are processed for an EAP. RAS will call the RasEapMakeMessage function every time there is an incoming or outgoing packet.
DWORD ( * RasEapMakeMessage ) (
VOID * pWorkBuf, // pointer to the workbuffer for this authentication sesssion
PPP_EAP_PACKET * pReceivePacket, // pointer to incoming packet
PPP_EAP_PACKET * pSendPacket, // pointer to packet to transmit
DWORD cbSendPacket, // max size of packet to transmit
PPP_EAP_OUTPUT * pEapOutput, // info/requests from EAP to RAS
PPP_EAP_INPUT * pEapInput // info/requests from RAS to EAP
);
If the function succeeds, the return value is NO_ERROR.
If the function fails, the return value should be an appropriate error code from winerror.h, raserror.h, or mprerror.h. Any error except for ERROR_PPP_INVALID_PACKET, will terminate the authentication session. For more information on the ERROR_PPP_INVALID_PACKET return code, see EAP Implementation Details.
The RasEapMakeMessage function is not part of the Routing and RAS API; it is implemented in the Extensible Authentication Protocol (EAP) DLL. When the RAS Connection Manager calls the RasEapGetInfo function, it receives a PPP_EAP_INFO structure for the authentication protocol. This structure contains a pointer to the RasEapMakeMessage function.
RAS allocates the buffers pointed to by pReceivePacket, pSendPacket, pEapOutput, and pEapInput. The authentication protocol does not allocate any of these buffers.
Windows NT: Use version 5.0 or later.
Windows: Unsupported.
Windows CE: Unsupported.
Header: Declared in raseapif.h.
RasEapGetInfo, PPP_EAP_INFO, PPP_EAP_INPUT, PPP_EAP_OUTPUT, PPP_EAP_PACKET