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 |