NdisMGetOffloadHandlers 函式 (ndischimney.h)
[TCP chimney 卸除功能已被取代,不應使用。]
此函式會取得特定 chimney 類型的 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
chimney 類型,其為下列其中一個NDIS_CHIMNEY_OFFLOAD_TYPE值:
NdisTcpChimneyOffload
TCP chimney 卸除類型。
所有其他NDIS_CHIMNEY_OFFLOAD_TYPE值目前都會保留。
[out] OffloadHandlers
卸除目標所提供之變數的指標。 此變數的大小為sizeof (PNDIS_OFFLOAD_EVENT_HANDLERS) 。 如果 對 NdisMGetOffloadHandlers 函式的呼叫成功,此函式會傳回這個變數中NDIS_OFFLOAD_EVENT_HANDLERS結構的指標。 此結構可作為包含進入點之 chimney 特定結構的標頭。 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 可以傳回下列其中一項:
傳回碼 | Description |
---|---|
|
呼叫成功。 傳回的 NDIS 進入點對指定的 chimney 類型有效。 |
|
NDIS 不支援卸除目標所指定的 chimney 類型。 在此情況下,NDIS 不會傳回有效的 OffloadHandlers 指標。 |
備註
卸除目標會從 其MiniportInitializeEx 函式呼叫此函式,以取得特定 chimney 類型的 NDIS 函式進入點。 卸除目標會針對它支援的每個chimney類型呼叫 NdisMGetOffloadHandlers 一次。 在每個呼叫中,卸除目標會指定不同的 chimney 類型。
如果 NdisMGetOffloadHandlers 函式的呼叫成功,NDIS 會提供有效的 OffloadHandlers 指標,指向NDIS_OFFLOAD_EVENT_HANDLERS結構。 這個結構包含 NDIS_OBJECT_HEADER 結構。 卸除目標會檢查NDIS_OBJECT_HEADER結構的 Type、 Revision 和 Size 成員。 這些成員會指定包含 chimney 特定進入點、此結構的修訂編號,以及此結構的大小,以位元組為單位。 Type 值與為 ChimneyType 參數提供的卸除目標值相同。
如果卸除目標支援指定的 修訂 編號,它會將 OffloadHandlers 指標轉換成適當 chimney 特定結構類型的指標。 下表指出每個 chimney 類型的 chimney 特定結構。
ChimneyType | Chimney 特定的處理程序結構 |
---|---|
NdisTcpChimneyOffload | NDIS_TCP_OFFLOAD_EVENT_HANDLERS |
例如,針對 NdisTcpChimneyOffload chimney 類型,卸除目標會將 OffloadHandlers 指標轉換成 *PNDIS_TCP_OFFLOAD_EVENT_HANDLERS。
chimney 特定的處理程序結構包含與NDIS_OFFLOAD_EVENT_HANDLERS結構相同的NDIS_OBJECT_HEADER結構。
卸除目標會將進入點從chimney特定結構複製到自己的內部數據結構,然後傳回。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
標頭 | ndischimney.h (包含 Ndischimney.h) |