LPM_AdmitRsvpMsg函式 (lpmapi.h)
PCM 會呼叫LPM_AdmitRsvpMsg函式,以將RSVP訊息傳遞至LPM,以取得原則型許可控制決策。 呼叫 LPM_AdmitRsvpMsg 的結果可以透過適當地設定傳回值,以同步或異步方式傳回 PCM。 呼叫 cbAdmitResult 函式,應該傳回異步結果。
ULONG LPM_AdmitRsvpMsg(
[in] RHANDLE PcmReqHandle,
[in] RSVP_HOP *pRecvdIntf,
[in] RSVP_MSG_OBJS *pRsvpMsgObjs,
[in] int RcvdRsvpMsgLength,
[in] UCHAR *RcvdRsvpMsg,
[out] ULONG *pulPcmActionFlags,
[out] POLICY_DECISION *pPolicyDecisions,
[out] void *Reserved
);
[in] PcmReqHandle
唯一句柄,可從所有其他要求識別此要求。 呼叫 cbAdmitResult 以異步方式傳回個別要求的結果時,LPM 必須將此句柄傳遞至 PCM。 一旦傳回結果, PcmReqHandle 參數就會變成無效,要求每個要求從 PCM 取得自己的唯一 PcmReqHandle 。
[in] pRecvdIntf
接收訊息之介面的指標。 接收的介面IP位址會以RSVP HOP物件的形式提供,而邏輯介面句柄會設定為SNMP索引。 請注意,由於 Windows 2000 的 隨插即用 功能,介面索引編號可能會隨著介面的新增和刪除而變更。
[in] pRsvpMsgObjs
從 RSVP 接收的物件。 SBM 會將接收的RSVP訊息解壓縮成個別物件,並將這類RSVP對象的內容轉換成主機順序,並在 Lpmapi.h 中定義的 RSVP_MSG_OBJS 結構中提供這些訊息。 提供下列物件。
[in] RcvdRsvpMsgLength
所接收 RSVP 訊息的長度,以位元組為單位。
[in] RcvdRsvpMsg
RSVP 訊息,以網路順序排列。
[out] pulPcmActionFlags
用來指定 PCM 要求之動作的旗標。 LPM 目前可以將此參數設定為 FORCE_IMMEDIATE_REFRESH,以要求立即重新整理所接受的訊息。 如果偵測到原則數據變更想要立即轉送,LPM 可以設定此旗標。 傳送之前,SBM 會要求 LPM 提供傳出重新整理訊息的原則資訊。
請注意,接受新的PATH訊息時,LPM不需要設定此旗標;SBC 會自動將新的PATH訊息傳送給接收者。
[out] pPolicyDecisions
原則決策的指標。 LPM 必須使用 LPM_Initialize 函數調用中提供的記憶體配置器來配置此緩衝區;SBM 會在 pPolicyDecisions 上執行之後釋放緩衝區。 只有在函式傳回LPM_RESULT_READY時,PCM 才會查看 pPolicyDecisions 。 必須針對 FlowDescList 中的每個流程傳回同步原則決策, 而 pPolicyDecisions 陣列中的項目數目必須等於 FlowDescListCount。 每個原則決策都包含下表所示的值。
值 | 意義 |
---|---|
|
緩衝區的指標,從 LPM 接收 LPM 優先順序值。 請注意,如果 LPM_AdmitRsvpMsg 的傳回值設定為 LPM_RESULT_READY,PCM 只會查看此參數。 如果 LPM 以同步方式傳回結果,此參數必須設定為有效的優先順序值。 如需詳細資訊,請參閱 本機原則模組 。 |
|
原則錯誤碼的指標。 如果要求是以同步方式拒絕,則 LPM 必須提供此參數的非零值;當傳送 PATHERR 或 RESVERR 訊息時,SBM 會將此值與 PolicyErrorValue 結合,複製到 RSVP 錯誤物件, (作為原則型許可控制失敗的結果,以提供拒絕要求的原因) 。 |
|
原則錯誤值的指標。 如果要求是以同步方式拒絕,則 LPM 必須提供此參數的非零值;當傳送 PATHERR 或 RESVERR 訊息時,SBM 會將此值與 PolicyErrorCode 結合,複製到 RSVP 錯誤物件中, (作為原則型許可控制失敗的結果,以提供拒絕要求的原因) 。 |
由於 LPM 的傳回POLICY_DECISION是數位,因此 LPM 可以接受 FlowDescList 中的流程子集,並視需要拒絕其餘的流程。 例如,由於 FF 樣式 RESV 訊息可以包含多個流程,當 LPM 拒絕某些流程並接受其他流程時,SBM 會為每個拒絕的流程產生個別的 RESVERR 訊息;在傳送 RESVERR 訊息之前,PCM 會呼叫每個 LPM,為每個傳出 RESVERR 訊息提供原則數據物件。
[out] Reserved
保留供未來使用。
此函式會傳回ULONG。
子網頻寬管理員 (SBM) 會將 RSVP PATH、RESV、PATHERR、RESVERR、PATH_TEAR和RESV_TEAR訊息轉送至 PCM。 如果要求通過 LPM 原則型許可 (在此情況下,成功狀態會透過 PCM 傳遞至 SBM) ,SBM 會在其 RSVP 處理過程中執行以資源為基礎的許可控制;如果資源型許可控制失敗,SBM 會指示 PCM 指示每個 LPM 透過 LPM_CommitResv 函式刪除其狀態。 在這種情況下,SBM (,而不是) 的 LPM 將會建立必要的 RSVP 錯誤訊息。
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | lpmapi.h |