NdisClAddParty 函式 (ndis.h)
NdisClAddParty 在用戶端的多點 VC 上新增合作物件。
語法
NDIS_STATUS NdisClAddParty(
[in] NDIS_HANDLE NdisVcHandle,
[in] NDIS_HANDLE ProtocolPartyContext,
[in, out] PCO_CALL_PARAMETERS CallParameters,
[out] PNDIS_HANDLE NdisPartyHandle
);
參數
[in] NdisVcHandle
NdisCoCreateVc所傳回之 VC 句柄的指標。
[in] ProtocolPartyContext
指定呼叫端配置的駐地內容區域的句柄,如果用戶端的呼叫成功,客戶端將維護每一方狀態。
[in, out] CallParameters
CO_CALL_PARAMETERS 型別結構的指標,呼叫者已指定要在其多點 VC 上加入之合作對象的尋址資訊。
[out] NdisPartyHandle
如果新增合作物件作業成功,則為 NDIS 所設定之變數的指標。
傳回值
NdisClAddParty 傳回NDIS_STATUS_PENDING以外的任何專案時,客戶端應該對其進行內部呼叫 ProtocolClAddPartyComplete 函式。 否則,NDIS 會在完成此作業時呼叫用戶端的 ProtocolClAddPartyComplete 函式。
言論
在呼叫 NdisClAddParty之前,客戶端必須在其 VC 上設定多點連線,並使用 NdisClMakeCall,以及配置和初始化其內容區域,以新增該方。 用戶端通常會在呼叫 NdisClAddPartyPartyParty時,將指標傳遞至這類內容區域,例如 ProtocolPartyContext,以及該內容區域內變數的指標作為 NdisPartyHandy 參數。
呼叫 NdisClAddParty 會導致 NDIS 將此要求轉送給呼叫管理員的 ProtocolCmAddParty 函式,用戶端會與其共用指定的 NdisVcHandle。 呼叫管理員會立即傳回錯誤狀態,或者如果呼叫管理員嘗試滿足此要求,則NDIS_STATUS_PENDING。 如果遠端端端點或基礎迷你埠驅動程式拒絕其嘗試,呼叫管理員會在呼叫 NdisCmAddPartyComplete 或 NdisMCmAddPartyComplete時,傳回最終的錯誤狀態,例如NDIS_STATUS_FAILURE。 用戶端的 ProtocolClAddPartyComplete 函式應該先檢查輸入 Status 自變數是否有NDIS_STATUS_SUCCESS,然後再繼續進行。
基礎網路媒體會決定用戶端是否可以在多點 VC 上指定每一方流量參數。
如果基礎網路媒體不支援多點 VM 上的每一方流量參數,每當客戶端嘗試在 CallParameters 新增具有規格的合作物件時,呼叫管理員就可以執行下列其中一項動作, 不符合該 VC 已建立的流量參數:
- 拒絕新增合作物件的要求。
- 在成功在該 VC 上新增合作物件時,將流量參數重設為已為多點 VC 建立的流量參數。
- 在成功新增新合作物件時,變更已在 VC 上的每一方流量參數。
接著,NDIS 會在後續呼叫用戶端的 ProtocolClXxx 函式時,傳遞用戶端提供的 ProtocolPartyContext 句柄,包括呼叫 ProtocolClAddPartyComplete。
多點呼叫是否允許使用每一方流量參數雙向傳輸和/或每一方傳輸,取決於用戶端所系結之基礎迷你埠驅動程序的媒體。 NdisPartyHandle 只代表成功呼叫 NdisClAddParty所新增的特定合作物件,而不是多點 VC。 因此,用戶端可以使用其 ProtocolPartyContext 區域,僅適用於後續合作物件特定的呼叫管理要求。 針對不支援每一方傳輸或流量參數的網路媒體數據傳輸,客戶端必須改用 NdisVcHandle。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows Vista 中支援 NDIS 6.0 和 NDIS 5.1 驅動程式(請參閱 NdisClAddParty (NDIS 5.1)。 Windows XP 中支援 NDIS 5.1 驅動程式(請參閱 NdisClAddParty (NDIS 5.1) 。 |
目標平臺 | 桌面 |
標頭 | ndis.h (包括 Ndis.h) |
連結庫 | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI 合規性規則 | Irql_Protocol_Driver_Function(ndis) |