LPM_GetRsvpObjects 函数 (lpmapi.h)
LPM_GetRsvpObjects 函数允许 PCM 查询 LPM 以获取策略数据。 数据由 PCM 转发到 SBM,以包含在需要策略数据的 RSVP 刷新消息中。 LPM_GetRsvpObjects 函数的结果可以同步或异步返回。 异步结果通过调用 cbGetRsvpObjects 回调函数返回。
语法
ULONG LPM_GetRsvpObjects(
[in] RHANDLE PcmReqHandle,
[in] ULONG MaxPdSize,
[in] RSVP_HOP *SendingIntfAddr,
[in] RSVP_MSG_OBJS *pRsvpMsgObjs,
[out] int *pRsvpObjectsCount,
[out] RsvpObjHdr ***pppRsvpObjects,
[out] void *Reserved
);
参数
[in] PcmReqHandle
将此请求与所有其他请求区分开的唯一句柄。 使用 cbGetRsvpObjects 回调函数异步返回结果时,LPM 应使用此 PcmReqHandle。
[in] MaxPdSize
返回的策略数据允许的最大大小。
[in] SendingIntfAddr
指向将发送 RSVP 消息的接口的指针。发送接口 IP 地址作为 RSVP HOP 对象提供,这相当于 PATH 消息的 PHOP 和 RESV 消息的 NHOP。 逻辑接口句柄设置为 SNMP 索引。 请注意,由于 Windows 2000 的即插即用功能,接口索引号可能会随着接口的添加和删除而更改。
[in] pRsvpMsgObjs
由 SBM 生成的 RSVP 对象。 所有 RSVP 对象都按主机顺序排列。 提供了下表中的对象。
[out] pRsvpObjectsCount
指向要返回的策略对象数的指针。 当 LPM 立即返回结果时,应使用 pRsvpObjectsCount 和 pppRsvpObjects 参数返回策略数据对象。 请注意,应使用内存分配函数 PALLOCMEM( 在 LPM_Initialize 函数中提供)分配包含策略数据对象的缓冲区。
[out] pppRsvpObjects
指向为响应请求而返回的策略数据对象指针数组的指针的指针。 请注意,应使用内存分配函数 PALLOCMEM(在 LPM_Initialize 函数中提供)分配包含策略数据对象的缓冲区和此 策略 数据对象指针数组。
[out] Reserved
保留供将来使用。
返回值
此函数返回 ULONG。
注解
如果 LPM 没有要从 LPM_GetRsvpObjects 函数调用返回的策略数据,它应同步返回LPM_RESULT_READY,将 pppRsvpObjects 设置为 NULL,并将 pRsvpObjectsCount 设置为零。 如果无法同步返回,则 LPM 应返回LPM_RESULT_DEFER,并通过调用 cbGetRsvpObjects 回调函数返回结果。 如果 LPM 没有任何要返回的策略数据对象,则可以将 pppRsvpObjects 设置为 NULL , 将 pRsvpObjectsCount 设置为零。
如果任何 LPM 返回LPV_DROP_MSG,则 SBM 不会发送 RSVP 刷新消息,并将释放其他 LPM (未返回LPM_DROP_MSG的策略数据对象(如果有任何) )。 如果不发送 RSVP 刷新消息,流上游和下游的 RSVP 状态都将开始过期,并最终被删除。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | lpmapi.h |