LPM_GetRsvpObjects関数 (lpmapi.h)

LPM_GetRsvpObjects関数を使用すると、PCM は LPM に対してポリシー データのクエリを実行できます。 データは、ポリシー データを必要とする RSVP 更新メッセージに含めるために、PCM によって SBM に転送されます。 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

この要求を他のすべての要求と区別する一意のハンドル。 LPM は、cbGetRsvpObjects コールバック関数を使用して非同期的に結果を返すときに、この 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
SCOPE オブジェクトが NULL でない限り、送信 RESV メッセージの RSVP スコープ。 WF スタイルの予約にのみ使用されます。 他のすべての RSVP 予約スタイルの場合、RsvpScope は NULL です
FlowDescCount
フロー記述子の数。
FlowDescList
送信 RSVP メッセージ内のフロー記述子ポインターの配列。 PATH メッセージの場合、送信者テンプレートと送信者 Tspec を含む FlowDescriptor は 1 つだけです。

[out] pRsvpObjectsCount

返されるポリシー オブジェクトの数へのポインター。 LPM がすぐに結果を返す場合は、ポリシー データ オブジェクトを返すために pRsvpObjectsCount パラメーターと pppRsvpObjects パラメーターを使用する必要があります。 ポリシー データ オブジェクトを含むバッファーは、LPM_Initialize関数内で提供されるメモリ割り当て関数 PALLOCMEM を使用して割り当てる必要があることに注意してください。

[out] pppRsvpObjects

要求に応答して返されるポリシー データ オブジェクト ポインターの配列へのポインター。 ポリシー データ オブジェクトとポリシー データ オブジェクト ポインターのこの配列を含むバッファーは、LPM_Initialize関数内で提供されるメモリ割り当て関数 PALLOCMEM を使用して割り当てる必要があることに注意してください。

[out] Reserved

将来利用するために予約されています。

戻り値

この関数は ULONG を返します。

注釈

LPM に 、LPM_GetRsvpObjects 関数呼び出しから返すポリシー データがない場合は、同期的にLPM_RESULT_READYを返し、 pppRsvpObjectsNULL に設定し、 pRsvpObjectsCount を 0 に設定する必要があります。 同期的な戻り値が不可能な場合、LPM はLPM_RESULT_DEFERを返し、 cbGetRsvpObjects コールバック関数を呼び出して結果を返す必要があります。 LPM に返すポリシー データ オブジェクトがない場合は、 pppRsvpObjectsNULL に設定し、 pRsvpObjectsCount を 0 に設定できます。

LPM がLPV_DROP_MSGを返した場合、SBM は RSVP 更新メッセージを送信せず、他の LPM から返されたポリシー データ オブジェクト (存在する場合はLPM_DROP_MSGを返さなかったもの) を解放します。 RSVP 更新メッセージを送信しないことで、アップストリームとダウンストリームの両方のフローの RSVP 状態がエージングし始め、最終的に削除されます。

メモ SBM は、一部またはすべての LPM がポリシー データ オブジェクトをタイムリーに返さない場合でも、RSVP 更新メッセージを送信します。ただし、そのような送信 RSVP メッセージに必要なすべてのポリシー データ オブジェクトが含まれているとは限りません。
 

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー lpmapi.h

こちらもご覧ください

LPM_Initialize

PALLOCMEM

cbAdmitResult

cbGetRsvpObjects