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 指定要NDIS_OBJECT_TYPE_PROTOCOL_DRIVER_CHARACTERISTICS的结构的 Type 成员。

若要指示 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 及更高版本中受支持。
Header ndis.h (包括 Ndis.h)

另请参阅

NdisRegisterProtocolDriver

ProtocolBindAdapterEx

ProtocolCloseAdapterCompleteEx ProtocolDirectOidRequestComplete

ProtocolNetPnPEvent

ProtocolOidRequestComplete

ProtocolOpenAdapterCompleteEx ProtocolReceiveNetBufferLists ProtocolSendNetBufferListsComplete

ProtocolSetOptions

ProtocolStatusEx

ProtocolUnbindAdapterEx

ProtocolUninstall