NDIS_PROTOCOL_DRIVER_CHARACTERISTICS结构(ndis.h)

若要指定其驱动程序特征,协议驱动程序初始化 NDIS_PROTOCOL_DRIVER_CHARACTERISTICS 结构并将其传递给 NDIS。

语法

typedef struct _NDIS_PROTOCOL_DRIVER_CHARACTERISTICS {
  NDIS_OBJECT_HEADER                     Header;
  UCHAR                                  MajorNdisVersion;
  UCHAR                                  MinorNdisVersion;
  UCHAR                                  MajorDriverVersion;
  UCHAR                                  MinorDriverVersion;
  ULONG                                  Flags;
  NDIS_STRING                            Name;
  SET_OPTIONS_HANDLER                    SetOptionsHandler;
  BIND_HANDLER_EX                        BindAdapterHandlerEx;
  UNBIND_HANDLER_EX                      UnbindAdapterHandlerEx;
  OPEN_ADAPTER_COMPLETE_HANDLER_EX       OpenAdapterCompleteHandlerEx;
  CLOSE_ADAPTER_COMPLETE_HANDLER_EX      CloseAdapterCompleteHandlerEx;
  NET_PNP_EVENT_HANDLER                  NetPnPEventHandler;
  UNINSTALL_PROTOCOL_HANDLER             UninstallHandler;
  OID_REQUEST_COMPLETE_HANDLER           OidRequestCompleteHandler;
  STATUS_HANDLER_EX                      StatusHandlerEx;
  RECEIVE_NET_BUFFER_LISTS_HANDLER       ReceiveNetBufferListsHandler;
  SEND_NET_BUFFER_LISTS_COMPLETE_HANDLER SendNetBufferListsCompleteHandler;
  DIRECT_OID_REQUEST_COMPLETE_HANDLER    DirectOidRequestCompleteHandler;
} NDIS_PROTOCOL_DRIVER_CHARACTERISTICS, *PNDIS_PROTOCOL_DRIVER_CHARACTERISTICS;

成员

Header

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

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

NDIS_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_2

为 NDIS 6.1 添加了 DirectOidRequestCompleteHandler 成员。

大小 成员设置为NDIS_SIZEOF_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_2。

NDIS_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_1

NDIS 6.0 的原始版本。

大小 成员设置为NDIS_SIZEOF_PROTOCOL_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

NDIS 6.89 及更高版本支持以下标志:

价值 意义
NDIS_PROTOCOL_DRIVER_UDP_RSC_NOT_SUPPORTED 0x00000008 驱动程序选择退出 URO 支持。

在 NDIS 6.88 及更低版本中,标志 保留为 NDIS。 协议驱动程序应将此成员设置为零。

Name

作为协议驱动程序的服务名称的 Unicode 字符串。

SetOptionsHandler

ProtocolSetOptions 函数的入口点。

BindAdapterHandlerEx

的入口点 ProtocolBindAdapterEx 函数。

UnbindAdapterHandlerEx

的入口点 ProtocolUnbindAdapterEx 函数。

OpenAdapterCompleteHandlerEx

的入口点 ProtocolOpenAdapterCompleteEx 函数。

CloseAdapterCompleteHandlerEx

的入口点 ProtocolCloseAdapterCompleteEx 函数。

NetPnPEventHandler

调用方 ProtocolNetPnPEvent 函数的入口点。

UninstallHandler

调用方 ProtocolUninstall 函数的入口点(如果有)或 NULL

OidRequestCompleteHandler

调用方入口点 ProtocolOidRequestComplete 函数。

StatusHandlerEx

调用方 ProtocolStatusEx 函数的入口点(如果有)或 NULL

ReceiveNetBufferListsHandler

的入口点 ProtocolReceiveNetBufferLists 函数。

SendNetBufferListsCompleteHandler

的入口点 ProtocolSendNetBufferListsComplete 函数。

DirectOidRequestCompleteHandler

调用方入口点 ProtocolDirectOidRequestComplete 函数。 这是一个可选函数。 如果协议驱动程序不支持直接 OID 请求接口,请将此入口点设置为 NULL

言论

协议驱动程序调用 NdisRegisterProtocolDriver 函数注册其特征,包括协议驱动程序函数的默认入口点(ProtocolXxx)。 协议驱动程序初始化 NDIS_PROTOCOL_DRIVER_CHARACTERISTICS 结构,并在 NdisRegisterProtocolDriverProtocolCharacteristics 参数中传递指向此结构的指针。

要求

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

另请参阅

NdisRegisterProtocolDriver

ProtocolBindAdapterEx

ProtocolCloseAdapterCompleteEx ProtocolDirectOidRequestComplete

ProtocolNetPnPEvent

ProtocolOidRequestComplete

ProtocolOpenAdapterCompleteEx ProtocolReceiveNetBufferLists ProtocolSendNetBufferListsComplete

ProtocolSetOptions

ProtocolStatusEx

ProtocolUnbindAdapterEx

ProtocolUninstall