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 对象都按主机顺序排列。 提供了下表中的对象。

含义
RsvpMsgType
RSVP 消息类型,如 RSVP 协议中定义。 LPM 可以使用它来查找可以生成策略数据对象的状态。
RsvpSession
SBM 需要其策略信息的 RSVP 会话。 LPM 可以使用它来查找可以生成策略数据对象的状态。
RsvpHop
将 RSVP 消息转发到的 HOP。 由于 PATH 消息直接发送到会话地址,因此对于 PATH 消息,此 HOP 指针为 NULL 。 对于所有其他消息,HOP 对象中的地址是节点地址,LIH 未使用。
RsvpStyle
RSVP 预留样式,如 RSVP 协议中定义。 如果 SBM 正在发送 RESV 消息,则 RsvpStyle 将指定预留样式。 如果正在发送 PATH 消息,则 RsvpStyle 为 NULL
RsvpScope
传出 RESV 消息的 RSVP 范围,只要 SCOPE 对象不为 NULL。 仅用于 WF 样式的预留。 对于所有其他 RSVP 预留样式,RsvpScope 为 NULL
FlowDescCount
流描述符的数目。
FlowDescList
传出 RSVP 消息中的流描述符指针数组。 对于 PATH 消息,只有一个 FlowDescriptor 包含发件人模板和发件人 Tspec。

[out] pRsvpObjectsCount

指向要返回的策略对象数的指针。 当 LPM 立即返回结果时,应使用 pRsvpObjectsCountpppRsvpObjects 参数返回策略数据对象。 请注意,应使用内存分配函数 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 状态都将开始过期,并最终被删除。

注意 即使部分或所有 LPM 未能及时返回策略数据对象,SBM 也会发送 RSVP 刷新消息,即使此类传出 RSVP 消息可能不包含它应使用的所有策略数据对象。
 

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 lpmapi.h

另请参阅

LPM_Initialize

PALLOCMEM

cbAdmitResult

cbGetRsvpObjects