NdisClDropParty 函式 (ndis.h)

NdisClDropParty 會從用戶端的多點 VC 卸除一方。

語法

NDIS_STATUS NdisClDropParty(
  [in]           NDIS_HANDLE NdisPartyHandle,
  [in, optional] PVOID       Buffer,
  [in, optional] UINT        Size
);

參數

[in] NdisPartyHandle

指定要在多點連線上卸除之合作物件的句柄。 用戶端從 先前呼叫 NdisClAddPartyNdisClMakeCall 取得此句柄。

[in, optional] Buffer

呼叫端配置的緩衝區指標,其中包含要傳輸的任何數據,以關閉遠端節點上合作物件的多點連線。 視基礎媒體而定,此指標可以是 NULL

[in, optional] Size

指定 Buffer 的位元組大小,如果 BufferNULL,則為零。

傳回值

NdisClDropParty 傳回NDIS_STATUS_PENDING以外的任何專案時,客戶端應該對其進行內部呼叫 ProtocolClDropPartyComplete 函式 。 否則,NDIS 會在完成此作業時呼叫用戶端的 ProtocolClDropPartyComplete 函式。

備註

用戶端通常會在下列任一情況下呼叫 NdisClDropParty

  • ProtocolClIncomingDropParty 函式 ,可從多點連線中移除指定的物件。

    當遠端節點上的一方關閉其 與 NdisCloseCall 的連線時,就會發生這種情況。 當 NDIS 呼叫本機用戶端的 ProtocolClDropPartyComplete 函式時,它可以在 ClientPartyContext 上釋放或重複使用用戶端維護此合作對象的狀態內容區域。

  • 在用戶端呼叫 NdisCloseCall 之前,用戶端原本使用 NdisClMakeCall 設定的多點連線上最後一方。

    針對這類用戶端起始的關閉自己的多點呼叫,客戶端必須呼叫 NdisClDropParty 一或多次,才能卸除多點 VC 上的所有其他剩餘方。

用戶端對 NdisClDropParty 的呼叫會導致 NDIS 呼叫與多點 VC 共用相同 NdisVcHandle 之呼叫管理員的 ProtocolCmDropParty 函式。 呼叫管理員負責通知其遠端節點對等互連,該合作對象連線已或應該關閉,視用戶端起始卸除方作業而定。

一般指導方針是,客戶端必須呼叫 NdisClDropParty 多次,因為它呼叫 NdisClAddParty ,且特定 NdisVcHandle 是從 NdisClMakeCall 取得,才能關閉其 與 NdisCloseCall 的多點連線。 由於遠端合作物件可以起始其連線的關閉,因此導致對本機用戶端的呼叫 ProtocolClIncomingDropParty 函式,本機客戶端必須追蹤其多點 VM 上作用中的合作物件數目,才能知道必須對 NdisClDropParty 進行多少呼叫,才能呼叫 NdisCloseCall

不過,當用戶端最初設定其多點連線時,不需要用戶端傳遞 NdisCloseCall 所傳回的相同 NdisPartyHandle 只要用戶端在其對 NdisClDropParty 的呼叫中釋放 NdisClAddPartyNdisClMakeCall 對其呼叫 NdisClDropParty 傳回的每個 NdisPartyHandle,用戶端就可以依任何順序釋放其多點 VC,後面接著最後一方對 NdisCloseCall 的呼叫。 用戶端關閉其多點呼叫之後,就可以釋放原本使用 NdisCoDeleteVc 建立的 VC。

NdisClDropParty 的呼叫端應該在進行此呼叫時,將輸入 NdisPartyHandle 視為無效。 如果此句柄儲存在所配置的合作對象內容區域中,則用戶端的如果 ProtocolClDropPartyComplete 函式重新初始化其每一方內容區域,以便在卸除合作物件時重複使用,則應該將句柄變數重設為 NULL

規格需求

需求
最低支援的用戶端 支援 NDIS 6.0 和 NDIS 5.1 驅動程式 (請參閱 Windows Vista 中的 NdisClDropParty (NDIS 5.1) ) 。 支援 NDIS 5.1 驅動程式 (請參閱 Windows XP 中的 NdisClDropParty (NDIS 5.1) ) 。
目標平台 桌面
標頭 ndis.h (包括 Ndis.h)
程式庫 Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI 合規性規則 Irql_Protocol_Driver_Function (ndis)

另請參閱

NdisClAddParty

NdisCloseCall

NdisClMakeCall

NdisCoDeleteVc

ProtocolClDropPartyComplete

ProtocolClIncomingDropParty

ProtocolCmDropParty