PPP_EAP_INFO structure (raseapif.h)

The PPP_EAP_INFO structure provides information to the Connection Manager about the authentication protocol, including pointers to functions located in the EAP DLL.

Syntax

typedef struct _PPP_EAP_INFO {
  DWORD  dwSizeInBytes;
  DWORD  dwEapTypeId;
  DWORD( )(BOOL fInitialize) *RasEapInitialize;
  DWORD(VOID **ppWorkBuffer,PPP_EAP_INPUT *pPppEapInput) * )(RasEapBegin;
  DWORD()(VOID *pWorkBuffer) * RasEapEnd;
  DWORD(ID *pWorkBuf,PPP_EAP_PACKET *pReceivePacket,PPP_EAP_PACKET *pSendPacket,DWORD cbSendPacket,PPP_EAP_OUTPUT *pEapOutput,PPP_EAP_INPUT *pEapInput) * )(VORasEapMakeMessage;
} PPP_EAP_INFO, *PPPP_EAP_INFO;

Members

dwSizeInBytes

Specifies the size of the PPP_EAP_INFO structure. RAS passes in this value to the EAP DLL. The DLL uses this value to determine which version of the PPP_EAP_INFO structure RAS is using.

dwEapTypeId

Specifies a particular authentication protocol. This identifier must be unique throughout industry-wide implementation of EAP. The implementer of an authentication protocol must obtain this identifier from the Internet Assigned Numbers Authority (IANA).

RasEapInitialize

Pointer to the RasEapInitialize function for the authentication protocol. The authentication protocol sets the value of this member. The authentication protocol may set this member to NULL, in which case the protocol does not require RAS to call this function.

fInitialize

Specifies whether the authentication protocol should initialize or de-initialize. This parameter is TRUE if the protocol initializes and FALSE if the protocol does not initialize.

RasEapBegin

Pointer to the RasEapBegin function for the requested authentication protocol. The authentication protocol sets the value of this member. This member may be NULL, in which case, the authentication protocol does not require any initialization. If this member is NULL, RAS ignores the RasEapEnd member.

ppWorkBuffer

Pointer to a pointer that, on successful return, points to a work buffer. This buffer is opaque to RAS; the contents of the buffer are used only by the authentication protocol. The RAS connection manager passes a pointer to this buffer to the authentication protocol in subsequent calls to RasEapMakeMessage.

pPppEapInput

Pointer to a PPP_EAP_INPUT structure that specifies initialization information for the authentication session.

RasEapEnd

Pointer to the RasEapEnd function for the authentication protocol. The authentication protocol sets the value of this member.

pWorkBuffer

Pointer to the work buffer to free.

RasEapMakeMessage

Pointer to the RasEapMakeMessage function for the requested authentication protocol. The authentication protocol sets the value of this member.

pWorkBuf

Pointer to the work buffer. The authentication protocol provides RAS with 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 time out 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

Pointer to a PPP_EAP_OUTPUT structure.

pEapInput

Pointer to a PPP_EAP_INPUT structure. This parameter may be NULL.

Remarks

A given EAP DLL may implement more than one authentication protocol. Use the dwEapTypeId member to specify for which protocol to retrieve information.

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Header raseapif.h

See also

EAP Structures

Extensible Authentication Protocol Reference

RasEapBegin

RasEapEnd

RasEapGetInfo

RasEapMakeMessage