[This is preliminary documentation and subject to change.]
The MPR_ROUTING_CHARACTERISTICS structure contains information used to register routing protocols with the router manager.
typedef struct _MPR_ROUTING_CHARACTERISTICS {
DWORD dwVersion;
DWORD dwProtocolId;
DWORD fSupportedFunctionality;
PSTART_PROTOCOL pfnStartProtocol;
PSTOP_PROTOCOL pfnStopProtocol;
PADD_INTERFACE pfnAddInterface;
PDELETE_INTERFACE pfnDeleteInterface;
PGET_EVENT_MESSAGE pfnGetEventMessage;
PGET_INTERFACE_INFO pfnGetInterfaceInfo;
PSET_INTERFACE_INFO pfnSetInterfaceInfo;
PBIND_INTERFACE pfnBindInterface;
PUNBIND_INTERFACE pfnUnbindInterface;
PENABLE_INTERFACE pfnEnableInterface;
PDISABLE_INTERFACE pfnDisableInterface;
PGET_GLOBAL_INFO pfnGetGlobalInfo;
PSET_GLOBAL_INFO pfnSetGlobalInfo;
PDO_UPDATE_ROUTES pfnUpdateRoutes;
PDO_UPDATE_SERVICES pfnUpdateServices;
PMIB_CREATE pfnMibCreateEntry;
PMIB_DELETE pfnMibDeleteEntry;
PMIB_GET pfnMibGetEntry;
PMIB_SET pfnMibSetEntry;
PMIB_GET_FIRST pfnMibGetFirstEntry;
PMIB_GET_NEXT pfnMibGetNextEntry;
PMIB_SET_TRAP_INFO pfnMibSetTrapInfo;
PMIB_GET_TRAP_INFO pfnMibGetTrapInfo;
} MPR_ROUTING_CHARACTERISTICS, *PMPR_ROUTING_CHARACTERISTICS;
On output: the routing protocol should specify the version of Routing and RAS that it requires.
The symbol MS_ROUTER_VERSION in the header file routprot.h is defined to be the Routing and RAS version for a given implementation.
On output: the routing protocol should reset these flags to indicate the subset of functionality that it supports.
Supported Functionality Values
Value | Description |
---|---|
ROUTING | The protocol participates in Multiprotocol routing by importing Routing Table Manager APIs. |
SERVICES | The protocol assumes responsibility for managing services (such as IPX SAP), and provides Service Table Management APIs. |
DEMAND_UPDATE_ROUTES | The protocol is able to perform autostatic updates of routes when requested by the router manager. |
DEMAND_UPDATE_SERVICES | The protocol is able to perform autostatic updates of services when requested by the router manager. |
Most of the members of this structure are pointers to functions implemented in the routing protocol DLL. The routing protocol fills in the address values for these pointers during a call to the RegisterProtocol function.
For a complete description of a particular function pointed to by one of the structure members, see the reference page for that function.
To use this structure, the user should add -DMPR50=1 to the compiler flags.
MPR_SERVICE_CHARACTERISTICS, RegisterProtocol, Protocol Identifiers