Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

MPR40_SERVICE_CHARACTERISTICS structure (stm.h)

The MPR_SERVICE_CHARACTERISTICS structure contains information used to register a routing protocol with the router manager.

Syntax

typedef struct _MPR40_SERVICE_CHARACTERISTICS {
 DWORD dwVersion;
 DWORD dwProtocolId;
 DWORD fSupportedFunctionality;
 PIS_SERVICE pfnIsService;
 PDO_UPDATE_SERVICES pfnUpdateServices;
 PCREATE_SERVICE_ENUMERATION_HANDLE pfnCreateServiceEnumerationHandle;
 PENUMERATE_GET_NEXT_SERVICE pfnEnumerateGetNextService;
 PCLOSE_SERVICE_ENUMERATION_HANDLE pfnCloseServiceEnumerationHandle;
 PGET_SERVICE_COUNT pfnGetServiceCount;
 PCREATE_STATIC_SERVICE pfnCreateStaticService;
 PDELETE_STATIC_SERVICE pfnDeleteStaticService;
 PBLOCK_CONVERT_SERVICES_TO_STATIC pfnBlockConvertServicesToStatic;
 PBLOCK_DELETE_STATIC_SERVICES pfnBlockDeleteStaticServices;
 PGET_FIRST_ORDERED_SERVICE pfnGetFirstOrderedService;
 PGET_NEXT_ORDERED_SERVICE pfnGetNextOrderedService;
} MPR40_SERVICE_CHARACTERISTICS;

Members

dwVersion

On input, specifies the version of RRAS currently running.

On output, the routing protocol should specify the version of RRAS that it requires.

The symbol MS_ROUTER_VERSION in the header file Routprot.h is defined to be the RRAS 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. If this routing protocol does not provide services, fSupportedFunctionality should be zero.

This parameter is one or more of the following values.

Value Meaning
ROUTING
The protocol participates in multi-protocol routing by importing routing table manager APIs. There is one routing table manager that maintains a table for each protocol family (such as IP and IPX).
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.

pfnIsService

Pointer to an implementation of the IsService function for this routing protocol.

pfnUpdateServices

pfnCreateServiceEnumerationHandle

Pointer to an implementation of the CreateServiceEnumerationHandle function for this routing protocol.

pfnEnumerateGetNextService

Pointer to an implementation of the EnumerateGetNextService function for this routing protocol.

pfnCloseServiceEnumerationHandle

Pointer to an implementation of the CloseServiceEnumerationHandle function for this routing protocol.

pfnGetServiceCount

Pointer to an implementation of the GetServiceCount function for this routing protocol.

pfnCreateStaticService

Pointer to an implementation of the CreateStaticService function for this routing protocol.

pfnDeleteStaticService

Pointer to an implementation of the DeleteStaticService function for this routing protocol.

pfnBlockConvertServicesToStatic

Pointer to an implementation of the BlockConvertServicesToStatic function for this routing protocol.

pfnBlockDeleteStaticServices

Pointer to an implementation of the BlockDeleteStaticServices function for this routing protocol.

pfnGetFirstOrderedService

Pointer to an implementation of the GetFirstOrderedService function for this routing protocol.

pfnGetNextOrderedService

Pointer to an implementation of the GetNextOrderedService function for this routing protocol.

Remarks

The members of this structure are pointers to Service Table Management 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.

Only routing protocol DLLs that support services need to fill in the MPR_SERVICE_CHARACTERISTICS structure.

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.

Requirements

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

See also

MPR_ROUTING_CHARACTERISTICS

Protocol Identifiers

RegisterProtocol

Routing Protocol Interface Reference

Routing Protocol Interface Structures


Feedback

Was this page helpful?

Additional resources