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结构,并在 NdisRegisterProtocolDriver 的 ProtocolCharacteristics 参数中传递指向此结构的指针。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 NDIS 6.0 及更高版本中受支持。 |
标头 | ndis.h (包括 Ndis.h) |
另请参阅
ProtocolCloseAdapterCompleteEx ProtocolDirectOidRequestComplete ProtocolOpenAdapterCompleteEx ProtocolReceiveNetBufferLists ProtocolSendNetBufferListsComplete反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈