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结构。 设置Header 指定要NDIS_OBJECT_TYPE_MINIPORT_DRIVER_CHARACTERISTICS的结构的类型成员。

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

NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3

为 NDIS 6.80 添加了 SyncOidRequestHandler 成员。

Size 成员设置为NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3。

NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2

为 NDIS 6.1 添加了 DirectOidRequestHandlerCancelDirectOidRequestHandler 成员。

Size 成员设置为NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2。

NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_1

NDIS 6.0 的原始版本。

Size 成员设置为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

MajorDriverVersion

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

MinorDriverVersion

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

Flags

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

NDIS_INTERMEDIATE_DRIVER

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

NDIS_WDM_DRIVER

如果调用方是 NDIS-WDM 微型端口驱动程序,则设置。

SetOptionsHandler

调用方 MiniportSetOptions 函数的入口点。

Co-NDIS 是必需的。 建议使用 MSI-C over PCI 支持 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

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

MiniportCheckForHangEx 对于打算安装在非 AOAC、电池供电的设备(由于对电池使用时间的影响)上的微型端口驱动程序,因此不建议将此入口点设置为 NULL

MiniportCheckForHangEx 是允许的,但对于打算安装在线路供电的 (主电源) 设备的微型端口驱动程序,则不需要。 对于面向 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 及更高版本中受支持。
Header ndis.h (包括 Ndis.h)

另请参阅

DriverEntry

MiniportCancelDirectOidRequest

MiniportCancelOidRequest

MiniportCancelSend

MiniportCheckForHangEx

MiniportDevicePnPEventNotify

MiniportDirectOidRequest

MiniportDriverUnload

MiniportHaltEx

MiniportInitializeEx

MiniportOidRequest

MiniportPause

MiniportResetEx

MiniportRestart

MiniportReturnNetBufferLists

MiniportSendNetBufferLists

MiniportSetOptions

MiniportShutdownEx

NdisMRegisterMiniportDriver