共用方式為


PROTOCOL_CL_MODIFY_CALL_QOS_COMPLETE回呼函式 (ndis.h)

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

Note 您必須使用 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 只要客戶端的開發人員對可能重新談判的數目有一些合理的限制,就可以與呼叫管理員進行進一步的談判。 或者,ProtocolClModifyCallQoSComplete 只要在呼叫管理員拒絕變更 QoS 的要求,且先前建立的 QoS 對客戶端來說已無法接受時,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的相關信息,請參閱 批注函式行為

要求

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

另請參閱

CO_CALL_PARAMETERS

NdisCloseCall

NdisClModifyCallQoS

NdisCmModifyCallQoSComplete

NdisMCmModifyCallQoSComplete

ProtocolCmModifyCallQoS

ProtocolCoCreateVc