routprot.h (SUPPORT_FUNCTIONS_50 结构)

路由器管理器使用 SUPPORT_FUNCTIONS 结构向路由协议传递一组指向路由器管理器提供的函数的指针。

语法

typedef struct _SUPPORT_FUNCTIONS_50 {
  union {
    ULONGLONG _Align8;
    struct {
      DWORD dwVersion;
      DWORD dwReserved;
    };
  };
  DWORD( )(DWORD ProtocolId,DWORD InterfaceIndex) *DemandDialRequest;
  DWORD( )(DWORD ProtocolId,DWORD InterfaceIndex,DWORD InterfaceReceiveType,BOOL bActivate) *SetInterfaceReceiveType;
  DWORD( )(DWORD ProtocolId,PVOID RouteInfo,PVOID DestAddress) *ValidateRoute;
  DWORD( )(DWORD dwRoutingPid,DWORD dwEntrySize,LPVOID lpEntry) *MIBEntryCreate;
  DWORD( )(DWORD dwRoutingPid,DWORD dwEntrySize,LPVOID lpEntry) *MIBEntryDelete;
  DWORD( )(DWORD dwRoutingPid,DWORD dwEntrySize,LPVOID lpEntry) *MIBEntrySet;
  DWORD( )(DWORD dwRoutingPid,DWORD dwInEntrySize,LPVOID lpInEntry,LPDWORD lpOutEntrySize,LPVOID lpOutEntry) *MIBEntryGet;
  DWORD( )(DWORD dwRoutingPid,DWORD dwInEntrySize,LPVOID lpInEntry,LPDWORD lpOutEntrySize,LPVOID lpOutEntry) *MIBEntryGetFirst;
  DWORD( )(DWORD dwRoutingPid,DWORD dwInEntrySize,LPVOID lpInEntry,LPDWORD lpOutEntrySize,LPVOID lpOutEntry) *MIBEntryGetNext;
  DWORD( )(VOID) *GetRouterId;
  BOOL( )(DWORD dwIfIndex,DWORD dwGroupAddress)  *HasMulticastBoundary;
} SUPPORT_FUNCTIONS_50;

成员

_Align8

dwVersion

dwReserved

DemandDialRequest

路由协议调用 DemandDialRequest 来启动请求拨号连接。

指向路由器管理器为路由协议提供的 DemandDialRequest 函数的指针。

ProtocolId

指定应代表其建立连接的路由协议的标识符。 (通常,此参数是调用路由协议的标识符。)

InterfaceIndex

指定应为其建立连接的接口的标识符。

SetInterfaceReceiveType

路由协议调用 SetInterfaceReceiveType 函数来设置指定接口的接收功能。

指向路由器管理器为路由协议提供的 SetInterfaceReceiveType 函数的指针。

ProtocolId

指定进行调用的路由协议的标识符。

InterfaceIndex

指定要设置接收类型的接口的索引。

InterfaceReceiveType

指定接收类型。 此参数须为下列值之一。

IR_PROMISCUOUS

IR_PROMISCUOUS_MULTICAST

bActivate

指定是否激活 接口。

ValidateRoute

路由协议调用 ValidateRoute 函数来设置路由首选项并执行其他路由验证。

指向路由器管理器为路由协议提供的 ValidateRoute 函数的指针。

ProtocolId

指定进行调用的路由协议的标识符。

RouteInfo

指向描述要验证的路由的信息的指针。

DestAddress

指向描述目标地址的信息的指针。 此参数是可选的,可以为 NULL

MIBEntryCreate

路由协议调用 MIBEntryCreate 来执行路由器管理器或对等协议 DLL 的 Create 请求。 实现此函数以处理 SNMP 样式的请求。

指向路由器管理器为路由协议提供的 MIBEntryCreate 函数的指针。

dwRoutingPid

指定应处理此请求的 DLL 的标识符。 此参数可以是路由器管理器的标识符或路由协议的标识符。

InputDataSize

指定要随创建请求一起传递的数据的大小(以字节为单位)。

InputData

指向要随创建请求传递的数据的指针。

MIBEntryDelete

指向路由器管理器为路由协议提供的 MIBEntryDelete 函数的指针。

MIBEntrySet

路由协议调用 MIBEntrySet 来执行路由器管理器或对等协议 DLL 的 SNMP MIB 样式集请求。

指向路由器管理器为路由协议提供的 MIBEntrySet 函数的指针。

dwRoutingPid

指定处理此请求的 DLL 的标识符。 此参数可以是路由器管理器的标识符,也可以是路由协议的标识符。

InputDataSize

指定要随 Set 请求一起传递的数据的大小(以字节为单位)。

InputData

指向要通过 Set 请求传递的数据的指针。

MIBEntryGet

路由协议调用 MIBEntryGet 来执行路由器管理器或对等协议 DLL 的 Get 请求。 实现此函数以处理 SNMP 样式的请求。

指向路由器管理器为路由协议提供的 MIBEntryGet 函数的指针。

dwRoutingPid

指定处理此请求的 DLL 的标识符。 此参数可以是路由器管理器的标识符,也可以是路由协议的标识符。

InputDataSize

指定要随 Get 请求一起传递的数据的大小(以字节为单位)。

InputData

指向要随 Get 请求传递的数据的指针。

OutputDataSize

指向 DWORD 变量的指针:

在输入时,此变量包含输出缓冲区的大小(以字节为单位)。

在输出时,此变量包含放置在输出缓冲区中的数据的大小(以字节为单位)。 如果初始大小不够大,则此变量包含保存所有输出数据所需的缓冲区大小。

OutputData

接收指向保存 MIB 条目中的数据的缓冲区的指针。

MIBEntryGetFirst

路由协议调用 MIBEntryGetFirst 来执行路由器管理器或对等协议 DLL 的 Get First 请求。 实现此函数以处理 SNMP 样式的请求。

指向路由器管理器为路由协议提供的 MIBEntryGetFirst 函数的指针。

dwRoutingPid

指定应处理此请求的 DLL 的标识符。 此参数可以是路由器管理器的标识符,也可以是路由协议的标识符。

InputDataSize

指定要随 Get First 请求一起传递的数据的大小(以字节为单位)。

InputData

指向要通过 Get First 请求传递的数据的指针。

OutputDataSize

指向 DWORD 变量的指针:

输入时,此变量指定输出缓冲区的大小(以字节为单位)。

在输出时,此变量接收放置在输出缓冲区中的数据的大小(以字节为单位)。 如果初始大小不够大,则此变量包含保存所有输出数据所需的缓冲区大小。

OutputData

指向从 MIB 条目接收数据的缓冲区的指针。

MIBEntryGetNext

路由协议调用 MIBEntryGetNext 来执行路由器管理器或对等协议 DLL 的 Get Next 请求。 实现此函数以处理 SNMP 样式的请求。

指向路由器管理器为路由协议提供的 MIBEntryGetNext 函数的指针。

dwRoutingPid

指定处理此请求的 DLL 的标识符。 此参数可以是路由器管理器的标识符,也可以是路由协议的标识符。

InputDataSize

指定要随“获取下一个”请求传递的数据的大小(以字节为单位)。

InputData

指向要随“获取下一个”请求传递的数据的指针。

OutputDataSize

指向 DWORD 变量的指针:

输入时,此变量指定输出缓冲区的大小(以字节为单位)。

输出时,此变量接收放置在输出缓冲区中的数据的大小(以字节为单位)。 如果初始大小不够大,则此变量包含保存所有输出数据所需的缓冲区大小。

OutputData

指向保存 MIB 条目中的数据的缓冲区的指针。

GetRouterId

HasMulticastBoundary

要求

   
最低受支持的客户端 无受支持的版本
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
标头 routprot.h

请参阅

StartProtocol