RasEapMakeMessage

[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
);
 

Parameters

pWorkBuf
Pointer to the work buffer. The authentication protocol provides RAS a pointer to this buffer via the RasEapBegin function.
pReceivePacket
Pointer to a PPP_EAP_PACKET structure that contains a received packet. A pReceivePacket value of NULL indicates either that RAS is initiating the dialog with the authentication protocol, or that a timeout has occurred and the authentication protocol should resend the last packet. The authentication protocol must determine based on context which of these two cases is true.
pSendPacket
Pointer to a PPP_EAP_PACKET structure. The authentication protocol can use this structure to specify a packet to send.
cbSendPacket
Specifies the size in bytes of the buffer pointed to by pSendPacket.
pEapOutput
Points to PPP_EAP_OUTPUT structure.
pEapInput
Points to a PPP_EAP_INPUT structure. This parameter may be NULL.

Return Values

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.

Remarks

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.

QuickInfo

  Windows NT: Use version 5.0 or later.
  Windows: Unsupported.
  Windows CE: Unsupported.
  Header: Declared in raseapif.h.

See Also

RasEapGetInfo, PPP_EAP_INFO, PPP_EAP_INPUT, PPP_EAP_OUTPUT, PPP_EAP_PACKET