NDIS_MINIPORT_DRIVER_CHARACTERISTICS结构(ndis.h)

NDIS 驱动程序初始化 NDIS_MINIPORT_DRIVER_CHARACTERISTICS 结构以定义其微型端口驱动程序特征,包括其 MiniportXxx 函数的入口点。

语法

typedef struct _NDIS_MINIPORT_DRIVER_CHARACTERISTICS {
  NDIS_OBJECT_HEADER                         Header;
  UCHAR                                      MajorNdisVersion;
  UCHAR                                      MinorNdisVersion;
  UCHAR                                      MajorDriverVersion;
  UCHAR                                      MinorDriverVersion;
  ULONG                                      Flags;
  SET_OPTIONS_HANDLER                        SetOptionsHandler;
  MINIPORT_INITIALIZE_HANDLER                InitializeHandlerEx;
  MINIPORT_HALT_HANDLER                      HaltHandlerEx;
  MINIPORT_DRIVER_UNLOAD                     UnloadHandler;
  MINIPORT_PAUSE_HANDLER                     PauseHandler;
  MINIPORT_RESTART_HANDLER                   RestartHandler;
  MINIPORT_OID_REQUEST_HANDLER               OidRequestHandler;
  MINIPORT_SEND_NET_BUFFER_LISTS_HANDLER     SendNetBufferListsHandler;
  MINIPORT_RETURN_NET_BUFFER_LISTS_HANDLER   ReturnNetBufferListsHandler;
  MINIPORT_CANCEL_SEND_HANDLER               CancelSendHandler;
  MINIPORT_CHECK_FOR_HANG_HANDLER            CheckForHangHandlerEx;
  MINIPORT_RESET_HANDLER                     ResetHandlerEx;
  MINIPORT_DEVICE_PNP_EVENT_NOTIFY_HANDLER   DevicePnPEventNotifyHandler;
  MINIPORT_SHUTDOWN_HANDLER                  ShutdownHandlerEx;
  MINIPORT_CANCEL_OID_REQUEST_HANDLER        CancelOidRequestHandler;
  MINIPORT_DIRECT_OID_REQUEST_HANDLER        DirectOidRequestHandler;
  MINIPORT_CANCEL_DIRECT_OID_REQUEST_HANDLER CancelDirectOidRequestHandler;
  MINIPORT_SYNCHRONOUS_OID_REQUEST_HANDLER   SynchronousOidRequestHandler;
} NDIS_MINIPORT_DRIVER_CHARACTERISTICS, *PNDIS_MINIPORT_DRIVER_CHARACTERISTICS;

成员

Header

NDIS_MINIPORT_DRIVER_CHARACTERISTICS 结构的 NDIS_OBJECT_HEADER 结构。 设置 标头 指定为NDIS_OBJECT_TYPE_MINIPORT_DRIVER_CHARACTERISTICS的结构的 类型 成员。

若要指示 NDIS_MINIPORT_DRIVER_CHARACTERISTICS 结构的版本,请将 Revision 成员设置为以下值之一:

NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3

为 NDIS 6.80 添加了 SyncOidRequestHandler 成员。

大小 成员设置为NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3。

NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2

添加了 DirectOidRequestHandlerNDIS 6.1 的 CancelDirectOidRequestHandler 成员。

大小 成员设置为NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2。

NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_1

NDIS 6.0 的原始版本。

大小 成员设置为NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_1。

MajorNdisVersion

驱动程序使用的 NDIS 库的主要版本。 当前值0x06。

MinorNdisVersion

次要 NDIS 版本。 以下是可用的次要版本值设置。

价值 意义
0 NDIS 6
20 NDIS 6.20
30 NDIS 6.30
40 NDIS 6.40
50 NDIS 6.50
51 NDIS 6.51
60 NDIS 6.60
70 NDIS 6.70
80 NDIS 6.80
81 NDIS 6.81
82 NDIS 6.82
83 NDIS 6.83
84 NDIS 6.84
85 NDIS 6.85
86 NDIS 6.86
87 NDIS 6.87
88 NDIS 6.88
89 NDIS 6.89

MajorDriverVersion

为驱动程序的主要版本号保留。 微型端口驱动程序可以指定它们所需的任何值。

MinorDriverVersion

为驱动程序的次要版本号保留。 微型端口驱动程序可以指定它们所需的任何值。

Flags

可以设置为零或以下任何标志的位掩码,并结合按位 OR:

NDIS_INTERMEDIATE_DRIVER

如果调用方是 NDIS 中间驱动程序,则设置。

NDIS_WDM_DRIVER

设置调用方是否为 NDIS-WDM 微型端口驱动程序。

SetOptionsHandler

调用方 MiniportSetOptions 函数的入口点。

Co-NDIS 必需。 建议使用 PCI MSI-C 支持 RSS 的以太网微型端口驱动程序。

InitializeHandlerEx

必填。 的入口点 MiniportInitializeEx 函数。

HaltHandlerEx

必填。 MiniportHaltEx 函数的入口点。

UnloadHandler

必填。 的入口点 MiniportDriverUnload 函数。

PauseHandler

必填。 MiniportPause 函数的入口点。

RestartHandler

必填。 MiniportRestart 函数的入口点。

OidRequestHandler

MiniportOidRequest 函数的入口点。 所有无连接微型端口驱动程序(包括所有以太网、WLAN 和 IM 驱动程序)都是必需的。 对于某些 CoNDIS 微型端口驱动程序,可选。

SendNetBufferListsHandler

必填。 的入口点 MiniportSendNetBufferLists 函数。

ReturnNetBufferListsHandler

必填。 的入口点 MiniportReturnNetBufferLists 函数。

CancelSendHandler

必填。 MiniportCancelSend 函数的入口点。

CheckForHangHandlerEx

自选。 的入口点 MiniportCheckForHangEx 函数。

中间驱动程序或虚拟微型端口不需要 MiniportCheckForHangEx,因为它们不是可以挂起的物理设备,因此必须将此入口点设置为 NULL

由于对电池使用时间的影响,MiniportCheckForHangEx 禁止在任何 AOAC 设备上,因此这些设备的微型端口驱动程序必须将此入口点设置为 NULL

MiniportCheckForHangEx 不建议在非 AOAC、电池供电的设备上安装微型端口驱动程序,因为对电池使用时间造成影响,因此它们应将此入口点设置为 NULL

MiniportCheckForHangEx 是允许的,但对于打算安装在线路供电(mains-powered)设备的微型端口驱动程序来说,这是必需的。 对于面向 NDIS 6.30 及更高版本的驱动程序,请考虑改用 NdisMResetMiniport

ResetHandlerEx

可选(如果需要提供 CheckForHangHandlerEx)。 MiniportResetEx 函数的入口点。 中间驱动程序不需要 MiniportResetEx,因此,它们应将此入口点设置为 NULL

DevicePnPEventNotifyHandler

必填。 的入口点 MiniportDevicePnPEventNotify 函数。

ShutdownHandlerEx

必填。 MiniportShutdownEx 函数的入口点。

CancelOidRequestHandler

必填。 的入口点 MiniportCancelOidRequest 函数。

DirectOidRequestHandler

的入口点 MiniportDirectOidRequest 函数。 这是一个可选的入口点。 如果微型端口驱动程序不处理直接 OID 请求,请将此成员设置为 NULL

以太网可选;但是,如果提供了一个,则必须同时提供两者。

实现 RDMA 或 IPSec 卸载的 WLAN 和以太网微型端口是必需的。

CancelDirectOidRequestHandler

的入口点 MiniportCancelDirectOidRequest 函数。 这是一个可选的入口点。 如果微型端口驱动程序不处理直接 OID 请求,请将此成员设置为 NULL

以太网可选;但是,如果提供了一个,则必须同时提供两者。

实现 RDMA 或 IPSec 卸载的 WLAN 和以太网微型端口是必需的。

SynchronousOidRequestHandler

的入口点 MiniportSynchronousOidRequest 函数。 这是一个可选的入口点。 如果微型端口驱动程序未处理同步 OID 请求,请将此成员设置为 NULL

实现 RSSv2 的 WLAN 和以太网微型端口是必需的。

言论

NDIS 驱动程序在 MiniportDriverCharacteristics 参数中传递指向其 NDIS_MINIPORT_DRIVER_CHARACTERISTICS 结构的指针 NdisMRegisterMiniportDriver 函数。 微型端口驱动程序从 DriverEntry 例程调用 NdisMRegisterMiniportDriver(另请参阅 NDIS 微型端口驱动程序 DriverEntry)。

要求

要求 价值
最低支持的客户端 NDIS 6.0 及更高版本中受支持。
标头 ndis.h (包括 Ndis.h)

另请参阅

DriverEntry

MiniportCancelDirectOidRequest

MiniportCancelOidRequest

MiniportCancelSend

MiniportCheckForHangEx

MiniportDevicePnPEventNotify

MiniportDirectOidRequest

MiniportDriverUnload

MiniportHaltEx

MiniportInitializeEx

MiniportOidRequest

MiniportPause

MiniportResetEx

MiniportRestart

MiniportReturnNetBufferLists

MiniportSendNetBufferLists

MiniportSetOptions

MiniportShutdownEx

NdisMRegisterMiniportDriver