PROTOCOL_CL_MODIFY_CALL_QOS_COMPLETE回呼函式 (ndis.h)

ProtocolClModifyCallQoSComplete 函式是由連線導向的 NDIS 用戶端使用,這些用戶端可以動態修改連線上的服務品質。 這類客戶端必須具有 ProtocolClModifyCallQoSComplete 函式,才能完成以 NdisClModifyCallQoS 起始的異步操作。 否則,這類通訊協定驅動程式的已註冊 ProtocolClModifyCallQoSComplete 函式可以直接傳回控制權。

注意 您必須使用 PROTOCOL_CL_MODIFY_CALL_QOS_COMPLETE 類型來宣告函式。 如需詳細資訊,請參閱下列範例一節。
 

語法

PROTOCOL_CL_MODIFY_CALL_QOS_COMPLETE ProtocolClModifyCallQosComplete;

void ProtocolClModifyCallQosComplete(
  [in] NDIS_STATUS Status,
  [in] NDIS_HANDLE ProtocolVcContext,
  [in] PCO_CALL_PARAMETERS CallParameters
)
{...}

參數

[in] Status

指定客戶端異步要求的最終狀態,以修改此 VC 的呼叫參數,做為下列其中一項:

NDIS_STATUS_SUCCESS

QoS 已依照用戶端的要求修改。

NDIS_STATUS_RESOURCES

NDIS 或呼叫管理員無法修改 QoS,因為其中一個無法動態配置足夠的資源。

NDIS_STATUS_INVALID_DATA

用戶端提供給 NdisClModifyCallQoS 的呼叫參數無效。

NDIS_STATUS_FAILURE

呼叫管理員因為網路或另一個連線導向的網路元件失敗而無法變更 QoS。

NDIS_STATUS_XXX

呼叫管理員無法變更 QoS,而 NDIS 會將 CM 判斷失敗狀態傳播至用戶端。

[in] ProtocolVcContext

指定用戶端每個 VC 內容區域的句柄,用戶端在呼叫 NdisCoCreateVc 時原本提供給 NDIS 的句柄,以在用戶端接受此 VC 上的連入呼叫時,或從其 ProtocolCoCreateVc 函式設定 VC。

[in] CallParameters

緩衝式CO_CALL_PARAMETERS結構的指標,其中包含用戶端指定的QoS變更要求,或可能是啟動呼叫管理員所建立之連線時所建立此 VC 的原始 QoS。

傳回值

備註

ProtocolClModifyCallQoSComplete 的呼叫表示呼叫管理員已完成用戶端起始的要求處理,以變更使用中 VC 上的服務品質。 例如,如果基礎網路媒體支援動態QoS變更,用戶端可以隨時在作用中的VC上要求修改。

如果用戶端對 NdisClModifyCallQoS 的呼叫成功, ProtocolClModifyCallQoSComplete 只要傳回控件即可接受 QoS 變更。 否則,只要客戶端的開發人員對可能重新交涉的數目, ProtocolClModifyCallQoSComplete 就可以與呼叫管理員進一步交涉。 或者,每當呼叫管理員拒絕變更 QoS 的要求,且先前建立的 QoS 對客戶端無法接受時, ProtocolClModifyCallCall 就可以直接終止 NdisCloseCall 的呼叫。

例子

若要定義 ProtocolClModifyCallQoSComplete 函式,您必須先提供函式宣告來識別您要定義的函式類型。 Windows 提供一組驅動程式的函式類型。 使用函式類型宣告函式有助於 驅動程式的程式代碼分析靜態驅動程序驗證器 (SDV) ,以及其他驗證工具會尋找錯誤,而且這是撰寫 Windows 操作系統驅動程式的需求。

例如,若要定義名為 「 MyClModifyCallQoSComplete」 的 ProtocolClModifyCallQoSComplete 函式,請使用PROTOCOL_CL_MODIFY_CALL_QOS_COMPLETE類型,如下列 程式 代碼範例所示:

PROTOCOL_CL_MODIFY_CALL_QOS_COMPLETE MyClModifyCallQoSComplete;

然後,實作您的函式,如下所示:

_Use_decl_annotations_
VOID
 MyClModifyCallQoSComplete(
    NDIS_STATUS  Status,
    NDIS_HANDLE  ProtocolVcContext,
    PCO_CALL_PARAMETERS  CallParameters
    )
  {...}

PROTOCOL_CL_MODIFY_CALL_QOS_COMPLETE函式類型定義於 Ndis.h 頭檔中。 若要在執行程式代碼分析工具時更精確地識別錯誤,請務必將 Use_decl_annotations 註釋新增至函式定義。 Use_decl_annotations註釋可確保使用頭檔中套用至PROTOCOL_CL_MODIFY_CALL_QOS_COMPLETE函式類型的批註。 如需函式宣告需求的詳細資訊,請參閱 使用 NDIS 驅動程式的函式角色類型來宣告函式。

如需 Use_decl_annotations的詳細資訊,請參閱 標註函式行為

規格需求

需求
最低支援的用戶端 支援 NDIS 6.0 和 NDIS 5.1 驅動程式 (請參閱 Windows Vista 中的 ProtocolClModifyCallQoSComplete (NDIS 5.1) ) 。 支援 NDIS 5.1 驅動程式 (請參閱 Windows XP 中的 ProtocolClModifyCallQoSComplete (NDIS 5.1) ) 。
目標平台 Windows
標頭 ndis.h (包括 Ndis.h)
IRQL <= DISPATCH_LEVEL

另請參閱

CO_CALL_PARAMETERS

NdisCloseCall

NdisClModifyCallQoS

NdisCmModifyCallQoSComplete

NdisMCmModifyCallQoSComplete

ProtocolCmModifyCallQoS

ProtocolCoCreateVc