PROTOCOL_CM_DROP_PARTY回呼函式 (ndis.h)
需要 ProtocolCmDropParty 函式。 NDIS 會呼叫 ProtocolCmDropParty ,要求呼叫管理員從現有的多點呼叫中移除一方。
語法
PROTOCOL_CM_DROP_PARTY ProtocolCmDropParty;
NDIS_STATUS ProtocolCmDropParty(
[in] NDIS_HANDLE CallMgrPartyContext,
[in, optional] PVOID CloseData,
[in, optional] UINT Size
)
{...}
參數
[in] CallMgrPartyContext
指定呼叫管理員配置的內容區域的句柄,呼叫管理員會在其中維護其個別狀態。 此句柄已提供給呼叫管理員 ProtocolCmAddParty 函式中的 NDIS。
[in, optional] CloseData
緩衝區的指標,其中包含應該在卸除合作物件之前跨連線傳送的連接導向用戶端特定數據。 如果基礎網路媒體不支援在關閉連線時傳輸數據,則此參數為 NULL 。
[in, optional] Size
指定 CloseData 為 NULL 時的緩衝區長度,以位元組為單位。如果 CloseData 為 NULL,則為零。
傳回值
ProtocolCmDropParty 會以下列其中一個值傳回其作業的狀態 () :
傳回碼 | Description |
---|---|
|
表示呼叫管理員已成功卸除合作對象、傳送任何關閉的數據,以及釋放為其內容區域配置的資源。 |
|
表示呼叫管理員會完成以異步方式卸除合作物件的要求。 當所有處理都完成時,呼叫管理員必須呼叫 NdisCmDropPartyComplete ,以通知 NDIS 和要求動作專案已卸除該合作物件。 |
|
表示已將 CloseData 指定給呼叫管理員,但媒體類型不支援同時傳送與連線終止的數據。 |
備註
ProtocolCmDropParty 會視需要與網路控制裝置或其他媒體特定代理程序通訊,以從現有的多點呼叫卸除合作物件。 如果需要呼叫管理員才能與網路控制代理程式通訊 (,例如,網路交換器) 它應該使用其所建立網路控制代理程式的虛擬連線 ProtocolBindAdapterEx 函 式。
如果 CloseData 為非 NULL ,且其媒體類型支援在聯機終止時傳送數據,則呼叫管理員應該先傳輸 CloseData 指定的數據,再完成終止。 如果媒體類型不支援同時傳送與連線終止的數據,則呼叫管理員應該傳回具有NDIS_STATUS_INVALID_DATA的控制權。
通話管理員也必須釋放其配置並儲存在 CallMgrPartyContext 的任何個別合作對象資源。 此外,呼叫管理員必須釋放儲存 的 CallMgrPartyContext 本身的緩衝區。 若無法這麼做,將會導致記憶體流失狀況。
例子
若要定義 ProtocolCmDropParty 函式,您必須先提供函式宣告來識別您要定義的函式類型。 Windows 提供一組驅動程式的函式類型。 使用函式類型宣告函式有助於 驅動程式的程式代碼分析、 靜態驅動程式驗證程式 (SDV) ,以及其他驗證工具尋找錯誤,而且是撰寫 Windows 作業系統驅動程式的需求。例如,若要定義名為 「 MyCmDropParty」 的 ProtocolCmDropParty 函式,請使用 PROTOCOL_CM_DROP_PARTY 類型,如下列程式代碼範例所示:
PROTOCOL_CM_DROP_PARTY MyCmDropParty;
然後,實作您的函式,如下所示:
_Use_decl_annotations_
NDIS_STATUS
MyCmDropParty(
NDIS_HANDLE CallMgrPartyContext,
PVOID CloseData,
UINT Size
)
{...}
PROTOCOL_CM_DROP_PARTY函式類型定義於 Ndis.h 頭檔中。 若要在執行程式代碼分析工具時更精確地識別錯誤,請務必將 Use_decl_annotations 批註新增至函式定義。 Use_decl_annotations批註可確保使用頭檔中套用至PROTOCOL_CM_DROP_PARTY函式類型的註釋。 如需函數宣告需求的詳細資訊,請參閱 使用 NDIS 驅動程式的函式角色類型來宣告函式。
如需 Use_decl_annotations的詳細資訊,請參閱 標註函式行為。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | (支援 NDIS 6.0 和 NDIS 5.1 驅動程式,請參閱 Windows Vista 中的 ProtocolCmDropParty (NDIS 5.1) ) 。 支援 NDIS 5.1 驅動程式 (請參閱 Windows XP 中的 ProtocolCmDropParty (NDIS 5.1) ) 。 |
目標平台 | Windows |
標頭 | ndis.h (包含 Ndis.h) |
IRQL | <= DISPATCH_LEVEL |