MPR_ROUTING_CHARACTERISTICS

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

Members

dwVersion
On input: specifies the version of Routing and RAS currently running.

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.

dwProtocolID
Specifies the routing protocol that the router manager requests the DLL to register. (A common name space is used for all protocol families.)
fSupportedFunctionality
On input: specifies the functionality that the router manager supports.

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.

pfnStartProtocol
Pointer to an implementation of the StartProtocol function for this routing protocol.
pfnStopProtocol
Pointer to an implementation of the StopProtocol function for this routing protocol.
pfnAddInterface
Pointer to an implementation of the AddInterface function for this routing protocol.
pfnDeleteInterface
Pointer to an implementation of the DeleteInterface function for this routing protocol.
pfnGetInterfaceInfo
Pointer to an implementation of the GetInterfaceConfigInfo function for this routing protocol.
pfnSetInterfaceInfo
Pointer to an implementation of the SetInterfaceConfigInfo function for this routing protocol.
pfnBindInterface
Pointer to an implementation of the BindInterface function for this routing protocol.
pfnUnbindInterface
Pointer to an implementation of the UnbindInterface function for this routing protocol.
pfnEnableInterface
Pointer to an implementation of the EnableInterface function for this routing protocol.
pfnDisableInterface
Pointer to an implementation of the DisableInterface function for this routing protocol.
pfnGetGlobalInfo
Pointer to an implementation of the GetGlobalInfo function for this routing protocol.
pfnSetGlobalInfo
Pointer to an implementation of the SetGlobalInfo function for this routing protocol.
pfnUpdateRoutes
Pointer to an implementation of the DoUpdateRoutes function for this routing protocol.
pfnUpdateServices
Pointer to an implementation of the DoUpdateServices function for this routing protocol.
pfnMibCreateEntry
Pointer to an implementation of the MibCreate function for this routing protocol.
pfnMibDeleteEntry
Pointer to an implementation of the MibDelete function for this routing protocol.
pfnMibGetEntry
Pointer to an implementation of the MibGet function for this routing protocol.
pfnMibSetEntry
Pointer to an implementation of the MibSet function for this routing protocol.
pfnMibGetFirstEntry
Pointer to an implementation of the MibGetFirst function for this routing protocol.
pfnMibGetNextEntry
Pointer to an implementation of the MibGetNext function for this routing protocol.
pfnMibSetTrapInfo
Pointer to an implementation of the MibSetTrapInfo function for this routing protocol.
pfnMibGetTrapInfo
Pointer to an implementation of the MibGetTrapInfo function for this routing protocol.

Remarks

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.

See Also

MPR_SERVICE_CHARACTERISTICS, RegisterProtocol, Protocol Identifiers