NdisMGetOffloadHandlers 函式 (ndischimney.h)
[TCP 煙囪卸除功能已被取代,不應使用。]
此函式會取得特定煙囪類型的 NDIS 函式進入點。
語法
NDIS_STATUS NdisMGetOffloadHandlers(
[in] IN NDIS_HANDLE NdisMiniportHandle,
[in] IN NDIS_CHIMNEY_OFFLOAD_TYPE ChimneyType,
[out] OUT PNDIS_OFFLOAD_EVENT_HANDLERS *OffloadHandlers
);
參數
[in] NdisMiniportHandle
卸除目標配置之內容區域的句柄,其中卸除目標會維護此適配卡實例的狀態資訊。 卸除目標會在呼叫時將此句柄提供給 NDIS NdisMSetMiniportAttributes MiniportInitializeEx 函式。
[in] ChimneyType
煙囪類型,其為下列其中一個NDIS_CHIMNEY_OFFLOAD_TYPE值:
NdisTcpChimneyOffload
TCP 煙囪卸除類型。
所有其他NDIS_CHIMNEY_OFFLOAD_TYPE值目前都會保留。
[out] OffloadHandlers
卸除目標所提供的變數指標。 此變數的大小為sizeof(PNDIS_OFFLOAD_EVENT_HANDLERS)。 如果呼叫 NdisMGetOffloadHandlers 函式成功,函式會傳回此變數中NDIS_OFFLOAD_EVENT_HANDLERS結構的指標。 此結構可作為包含進入點之煙囪特定結構的標頭。 NDIS_OFFLOAD_EVENT_HANDLERS 結構的格式如下:
typedef struct _NDIS_OFFLOAD_EVENT_HANDLERS {
NDIS_OBJECT_HEADER Header;
} NDIS_OFFLOAD_EVENT_HANDLERS, *PNDIS_OFFLOAD_EVENT_HANDLERS;
此結構包含下列成員:
頁眉
指定 NDIS 物件標頭,其格式為 NDIS_OBJECT_HEADER 結構。
傳回值
NdisMGetOffloadHandlers 可以傳回下列其中一項:
傳回碼 | 描述 |
---|---|
|
呼叫成功。 傳回的 NDIS 進入點適用於指定的煙囪類型。 |
|
NDIS 不支援卸除目標所指定的煙囪類型。 在此情況下,NDIS 不會傳回有效的 OffloadHandlers 指標。 |
言論
卸除目標會從其 MiniportInitializeEx 函式呼叫此函式,以取得特定煙囪類型的 NDIS 函式進入點。 卸除目標會針對支援的每個煙囪類型呼叫 NdisMGetOffloadHandlers 一次。 在每個呼叫中,卸除目標會指定不同的煙囪類型。
如果呼叫 NdisMGetOffloadHandlers 函式成功,NDIS 會提供有效的 OffloadHandlers 指標,指向NDIS_OFFLOAD_EVENT_HANDLERS結構。 此結構包含 NDIS_OBJECT_HEADER 結構。 卸除目標會檢查 Type、Revision和 Size NDIS_OBJECT_HEADER 結構的成員。 這些成員會指定結構,其中包含煙囪特定進入點、此結構的修訂編號,以及以位元組為單位的這個結構大小。 Type 值與 ChimneyType 參數提供的卸除目標值相同。
如果卸除目標支援指定的 Revision 編號,則會將 OffloadHandlers 指標轉換成適當煙囪特定結構類型的指標。 下表指出每個煙囪類型的煙囪特定結構。
ChimneyType | Chimney 特定處理程序結構 |
---|---|
NdisTcpChimneyOffload | NDIS_TCP_OFFLOAD_EVENT_HANDLERS |
例如,針對 NdisTcpChimneyOffload 煙囪類型,卸除目標會將 OffloadHandlers 指標轉換成 *PNDIS_TCP_OFFLOAD_EVENT_HANDLERS。
煙囪特定處理程序結構包含與NDIS_OFFLOAD_EVENT_HANDLERS結構相同的NDIS_OBJECT_HEADER結構。
卸除目標會將進入點從煙囪特定結構複製到自己的內部數據結構,然後傳回。
要求
要求 | 價值 |
---|---|
目標平臺 | 普遍 |
標頭 | ndischimney.h (包括 Ndischimney.h) |