OID_OFFLOAD_ENCAPSULATION
作為查詢要求,過度載入驅動程式會使用 OID_OFFLOAD_ENCAPSULATION OID 來取得基礎迷你埠配接器的目前工作卸載封裝設定。 NDIS 會處理迷你埠驅動程式的這個 OID 查詢。
在設定要求中,過度使用 OID_OFFLOAD_ENCAPSULATION OID 來設定基礎迷你埠配接器的工作卸載封裝設定。 支援工作卸載的迷你埠驅動程式必須處理此 OID 集合要求。
備註
NDIS_OID_REQUEST結構的 InformationBuffer 成員包含NDIS_OFFLOAD_ENCAPSULATION結構。
迷你埠驅動程式
如果迷你埠驅動程式不支援卸載,而且此 OID,驅動程式應該會傳回NDIS_STATUS_NOT_SUPPORTED。
迷你埠驅動程式必須使用 NDIS_OFFLOAD_ENCAPSULATION 結構的內容來更新目前報告的 TCP 卸載功能。 更新之後,迷你埠驅動程式必須報告目前的工作卸載功能,並具有 NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG 狀態指示。 此狀態指示可確保所有過度使用的通訊協定驅動程式都會使用新功能資訊來更新。
此 OID 可用來啟動所有已設定或已啟用的卸載,或停用所有卸載 (,換句話說,硬體會開始執行卸載) 。 它不提供個別卸載的精細控制。 相反 地,OID_TCP_OFFLOAD_PARAMETERS 用來設定個別卸載,也可以加以啟用。 一般而言,大部分的 TCP/IP 工作卸載都可以使用 OID_TCP_OFFLOAD_PARAMETERS 來設定和啟動。
不過,此 OID NDIS_OFFLOAD_ENCAPSULATION 結構也涵蓋OID_TCP_OFFLOAD_PARAMETERS NDIS_OFFLOAD_PARAMETERS 結構未涵蓋的其他兩種封裝類型: NDIS_ENCAPSULATION_IEEE_802_3 和 NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED。 迷你埠驅動程式必須在不同 OID 所涵蓋的封裝類型中處理這項差異。
如果通訊協定驅動程式發出此 OID 以停用所有卸載,NDIS_OFFLOAD_ENCAPSULATION成員的 Enabled 成員將會設定為 NDIS_OFFLOAD_SET_OFF。
設定封裝 (通訊協定驅動程式)
判斷系統封裝需求之後,通訊協定驅動程式會設定OID_OFFLOAD_ENCAPSULATION。 通訊協定驅動程式可以從NDIS_BIND_PARAMETERS結構或查詢OID_TCP_OFFLOAD_CURRENT_CONFIG來判斷基礎迷你埠配接器的功能。 通訊協定驅動程式必須設定迷你埠配接器至少在一個卸載服務上支援的封裝類型。
如果迷你埠驅動程式支援任何支援所要求封裝類型的卸載類型,驅動程式必須傳回NDIS_STATUS_SUCCESS以回應一組OID_OFFLOAD_ENCAPSULATION。 否則,迷你埠驅動程式應該會傳回NDIS_STATUS_INVALID_PARAMETER。
針對傳送作業,通訊協定驅動程式只能使用迷你埠配接器支援搭配所需封裝類型的卸載類型來發出傳送要求。 因此,如果 OID_OFFLOAD_ENCAPSULATION 的 OID 集合要求失敗,通訊協定驅動程式不得在導向至該迷你埠介面卡的傳送要求中使用任何卸載設定。
針對接收作業,迷你埠驅動程式不得啟動總和檢查碼或網際網路通訊協定安全性 (IPsec) 卸載服務,直到收到OID_OFFLOAD_ENCAPSULATION的 OID 集合要求之後。
取得通訊協定驅動程式 (目前的封裝設定)
通訊協定驅動程式只能在設定 OID_OFFLOAD_ENCAPSULATION OID 之後發出OID_OFFLOAD_ENCAPSULATION查詢。
NDIS 會以包含目前封裝設定 的NDIS_OFFLOAD_ENCAPSULATION 結構回應。
通訊協定驅動程式必須準備好處理任何NDIS_STATUS_Xxx失敗碼。 如果發生失敗,通訊協定驅動程式不得嘗試執行任何導向至受影響迷你埠介面卡的卸載作業。
另請參閱
NDIS_BIND_PARAMETERS
NDIS_OFFLOAD_ENCAPSULATION
NDIS_OID_REQUEST
NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG
OID_TCP_OFFLOAD_CURRENT_CONFIG
規格需求
版本:Windows Vista 和更新版本 標頭:Ntddndis.h (包含 Ndis.h)