LPM_GetRsvpObjects function (lpmapi.h)
The LPM_GetRsvpObjects function allows the PCM to query LPMs for policy data. The data is forwarded by the PCM to the SBM for inclusion in RSVP refresh messages that require policy data. Results from the LPM_GetRsvpObjects function can be returned synchronously or asynchronously. Asynchronous results are returned by calling the cbGetRsvpObjects callback function.
Syntax
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
);
Parameters
[in] PcmReqHandle
Unique handle that distinguishes this request from all other requests. LPMs should use this PcmReqHandle when returning results asynchronously using the cbGetRsvpObjects callback function.
[in] MaxPdSize
Maximum allowable size of the returned policy data.
[in] SendingIntfAddr
Pointer to the interface on which the RSVP message will be sent out. The sending interface IP address is supplied as the RSVP HOP object, which equates to PHOP for PATH messages and NHOP for RESV messages. The Logical Interface Handle is set to the SNMP Index. Note that interface index numbers can change with the addition and deletion of interfaces, due to the Plug and Play features of Windows 2000.
[in] pRsvpMsgObjs
RSVP objects generated by the SBM. All RSVP objects are in host order. The objects in the following table are supplied.
[out] pRsvpObjectsCount
Pointer to the number of policy objects being returned. When an LPM is immediately returning results, the pRsvpObjectsCount and pppRsvpObjects parameters should be used to return policy data objects. Note that the buffer containing the policy data objects should be allocated using the memory allocation function PALLOCMEM, supplied within the LPM_Initialize function.
[out] pppRsvpObjects
Pointer to an array of policy data object pointers returned in response to the request. Note that the buffer containing the policy data objects, and this array of policy data object pointers, should be allocated using the memory allocation function PALLOCMEM, supplied within the LPM_Initialize function.
[out] Reserved
Reserved for future use.
Return value
This function returns ULONG.
Remarks
If an LPM does not have policy data to return from the LPM_GetRsvpObjects function call, it should synchronously return LPM_RESULT_READY, set pppRsvpObjects to NULL, and set pRsvpObjectsCount to zero. If a synchronous return is not possible, an LPM should return LPM_RESULT_DEFER, and return the result by calling the cbGetRsvpObjects callback function. If the LPM does not have any policy data objects to return, it can set pppRsvpObjects to NULL and pRsvpObjectsCount to zero.
If any LPM returns LPV_DROP_MSG, the SBM will not send out an RSVP refresh message, and will free the policy data objects returned by other LPMs (those that did not return LPM_DROP_MSG, if any). By not sending out RSVP refresh messages, a flow's RSVP state both upstream and downstream will begin to age, and eventually get deleted.
Requirements
Minimum supported client | Windows 2000 Professional [desktop apps only] |
Minimum supported server | Windows 2000 Server [desktop apps only] |
Target Platform | Windows |
Header | lpmapi.h |
See also
Feedback
Submit and view feedback for