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结构。 将 Header 指定的结构的 Type 成员设置为NDIS_OBJECT_TYPE_PROTOCOL_DRIVER_CHARACTERISTICS。

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

NDIS_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_2

为 NDIS 6.1 添加了 DirectOidRequestCompleteHandler 成员。

Size 成员设置为 NDIS_SIZEOF_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_2。

NDIS_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_1

NDIS 6.0 的原始版本。

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

MajorDriverVersion

保留给协议驱动程序的主版本号。 协议驱动程序可以指定它们所需的任何值。

MinorDriverVersion

保留给协议驱动程序的次要版本号。 协议驱动程序可以指定它们所需的任何值。

Flags

为 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