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 会提供指向NDIS_OFFLOAD_EVENT_HANDLERS结构的有效 OffloadHandlers 指针。 此结构包含 NDIS_OBJECT_HEADER 结构。 卸载目标检查 类型、修订以及NDIS_OBJECT_HEADER结构 大小 成员。 这些成员指定包含烟囱特定入口点、此结构的修订号以及此结构的大小(以字节为单位)。 Type 值与为 ChimneyType 参数提供的卸载目标相同。
如果卸载目标支持指定的 修订版 编号,则会将 OffloadHandlers 指针转换为指向相应烟囱特定结构类型的指针。 下表指示每个烟囱类型的烟囱特定结构。
ChimneyType | 烟囱特定的处理程序结构 |
---|---|
NdisTcpChimneyOffload | NDIS_TCP_OFFLOAD_EVENT_HANDLERS |
例如,对于 NdisTcpChimneyOffload 烟囱类型,卸载目标会将 OffloadHandlers 指针转换为 *PNDIS_TCP_OFFLOAD_EVENT_HANDLERS。
特定于烟囱的处理程序结构包含与NDIS_OFFLOAD_EVENT_HANDLERS结构相同的NDIS_OBJECT_HEADER结构。
卸载目标将入口点从烟囱特定的结构复制到其自己的内部数据结构中,然后返回。
要求
要求 | 价值 |
---|---|
目标平台 | 普遍 |
标头 | ndischimney.h (包括 Ndischimney.h) |