PROTOCOL_CL_INCOMING_DROP_PARTY回呼函式 (ndis.h)
ProtocolClIncomingDropParty 函式是由設定多點連線的連線導向 NDIS 用戶端使用。 這類客戶端必須具有 ProtocolClIncomingDropParty 函式 。 否則,這類通訊協定驅動程式的已註冊 ProtocolClIncomingDropParty 函式可以直接傳回控制權。
語法
PROTOCOL_CL_INCOMING_DROP_PARTY ProtocolClIncomingDropParty;
void ProtocolClIncomingDropParty(
[in] NDIS_STATUS DropStatus,
[in] NDIS_HANDLE ProtocolPartyContext,
[in] PVOID CloseData,
[in] UINT Size
)
{...}
參數
[in] DropStatus
指出卸除合作物件的原因。 通常,如果遠端附注上的合作物件起始關閉其連線,則這NDIS_STATUS_SUCCESS,但如果呼叫管理員因發現的網路問題而起始此卸除方作業,可能是任何 CM 判斷的狀態。
[in] ProtocolPartyContext
指定要卸除之合作物件的用戶端個別內容區域的句柄。 用戶端最初在呼叫 NdisClAddParty 或 NdisClMakeCall 時,向 NDIS 提供此句柄。
[in] CloseData
緩衝區的指標,其中包含通訊協定特定的關閉訊息,可能是由呼叫管理員透過網路接收的遠端用戶端所提供,或者此參數可以是 NULL。
當 DropStatus NDIS_STATUS_SUCCESS時,如果基礎網路媒體不支援在關閉連線時傳輸數據,則此參數為 NULL 。 不過,任何特定的呼叫管理員可能會定義結構,以在網路上發生問題所造成的卸除方作業上,將其他診斷資訊傳遞給其用戶端。
[in] Size
指定 CloseData 為 NULL 時的緩衝區長度,以位元組為單位。如果 CloseData 為 NULL,則為零。
傳回值
無
備註
對 ProtocolClIncomingDropParty 的呼叫表示已發生下列其中一項:
- 呼叫管理員已透過網路收到要求,以關閉已建立的連線,由 NdisPartyHandle 識別,用戶端儲存在 ProtocolPartyContext 的個別合作對象內容區域中。
- 呼叫管理員偵測到網路問題會防止在已建立的連線上進行進一步的數據傳輸。
ProtocolClIncomingDropParty 應該考慮用戶端從 NdisClAddParty 或 NdisClMakeCall 取得的 NdisPartyHandle。 ProtocolClIncomingDropParty 可以釋放用戶端的每一方內容區域,或準備在 後續呼叫 NdisClAddParty 時重複使用。
例子
若要定義 ProtocolClIncomingDropParty 函式,您必須先提供函式宣告來識別您要定義的函式類型。 Windows 提供一組驅動程式的函式類型。 使用函式類型宣告函式有助於 驅動程式的程式代碼分析、 靜態驅動程式驗證程式 (SDV) ,以及其他驗證工具尋找錯誤,而且是撰寫 Windows 作業系統驅動程式的需求。例如,若要定義名為 「 MyClIncomingDropParty」 的 ProtocolClIncomingDropParty 函式,請使用 PROTOCOL_CL_INCOMING_DROP_PARTY 類型,如下列程式代碼範例所示:
PROTOCOL_CL_INCOMING_DROP_PARTY MyClIncomingDropParty;
然後,實作您的函式,如下所示:
_Use_decl_annotations_
VOID
MyClIncomingDropParty(
NDIS_STATUS DropStatus,
NDIS_HANDLE ProtocolPartyContext,
PVOID CloseData,
UINT Size
)
{...}
PROTOCOL_CL_INCOMING_DROP_PARTY函式類型定義於 Ndis.h 頭檔中。 若要在執行程式代碼分析工具時更精確地識別錯誤,請務必將 Use_decl_annotations 批註新增至函式定義。 Use_decl_annotations註釋可確保使用頭檔中套用至PROTOCOL_CL_INCOMING_DROP_PARTY函式類型的註釋。 如需函數宣告需求的詳細資訊,請參閱 使用 NDIS 驅動程式的函式角色類型來宣告函式。
如需 Use_decl_annotations的詳細資訊,請參閱 標註函式行為。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | (支援 NDIS 6.0 和 NDIS 5.1 驅動程式,請參閱 Windows Vista 中的 ProtocolClIncomingDropParty (NDIS 5.1) ) 。 支援 NDIS 5.1 驅動程式 (請參閱 Windows XP 中的 ProtocolClIncomingDropParty (NDIS 5.1) ) 。 |
目標平台 | Windows |
標頭 | ndis.h (包含 Ndis.h) |
IRQL | <= DISPATCH_LEVEL |