NDIS_FILTER_DRIVER_CHARACTERISTICS 结构 (ndis.h)

若要指定其驱动程序特征,筛选器驱动程序会初始化NDIS_FILTER_DRIVER_CHARACTERISTICS结构并将其传递给 NDIS。

语法

typedef struct _NDIS_FILTER_DRIVER_CHARACTERISTICS {
  NDIS_OBJECT_HEADER                              Header;
  UCHAR                                           MajorNdisVersion;
  UCHAR                                           MinorNdisVersion;
  UCHAR                                           MajorDriverVersion;
  UCHAR                                           MinorDriverVersion;
  ULONG                                           Flags;
  NDIS_STRING                                     FriendlyName;
  NDIS_STRING                                     UniqueName;
  NDIS_STRING                                     ServiceName;
  SET_OPTIONS_HANDLER                             SetOptionsHandler;
  FILTER_SET_FILTER_MODULE_OPTIONS_HANDLER        SetFilterModuleOptionsHandler;
  FILTER_ATTACH_HANDLER                           AttachHandler;
  FILTER_DETACH_HANDLER                           DetachHandler;
  FILTER_RESTART_HANDLER                          RestartHandler;
  FILTER_PAUSE_HANDLER                            PauseHandler;
  FILTER_SEND_NET_BUFFER_LISTS_HANDLER            SendNetBufferListsHandler;
  FILTER_SEND_NET_BUFFER_LISTS_COMPLETE_HANDLER   SendNetBufferListsCompleteHandler;
  FILTER_CANCEL_SEND_HANDLER                      CancelSendNetBufferListsHandler;
  FILTER_RECEIVE_NET_BUFFER_LISTS_HANDLER         ReceiveNetBufferListsHandler;
  FILTER_RETURN_NET_BUFFER_LISTS_HANDLER          ReturnNetBufferListsHandler;
  FILTER_OID_REQUEST_HANDLER                      OidRequestHandler;
  FILTER_OID_REQUEST_COMPLETE_HANDLER             OidRequestCompleteHandler;
  FILTER_CANCEL_OID_REQUEST_HANDLER               CancelOidRequestHandler;
  FILTER_DEVICE_PNP_EVENT_NOTIFY_HANDLER          DevicePnPEventNotifyHandler;
  FILTER_NET_PNP_EVENT_HANDLER                    NetPnPEventHandler;
  FILTER_STATUS_HANDLER                           StatusHandler;
  FILTER_DIRECT_OID_REQUEST_HANDLER               DirectOidRequestHandler;
  FILTER_DIRECT_OID_REQUEST_COMPLETE_HANDLER      DirectOidRequestCompleteHandler;
  FILTER_CANCEL_DIRECT_OID_REQUEST_HANDLER        CancelDirectOidRequestHandler;
  FILTER_SYNCHRONOUS_OID_REQUEST_HANDLER          SynchronousOidRequestHandler;
  FILTER_SYNCHRONOUS_OID_REQUEST_COMPLETE_HANDLER SynchronousOidRequestCompleteHandler;
} NDIS_FILTER_DRIVER_CHARACTERISTICS, *PNDIS_FILTER_DRIVER_CHARACTERISTICS;

成员

Header

筛选器驱动程序特征结构的 NDIS_OBJECT_HEADER 结构 (NDIS_FILTER_DRIVER_CHARACTERISTICS) 。 将 Header 指定的结构的 Type 成员设置为NDIS_OBJECT_TYPE_FILTER_DRIVER_CHARACTERISTICS。

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

NDIS_FILTER_CHARACTERISTICS_REVISION_3

为 NDIS 6.80 添加了 SynchronousOidRequestHandlerSynchronousOidRequestCompleteHandler 成员。

Size 成员设置为NDIS_SIZEOF_FILTER_DRIVER_CHARACTERISTICS_REVISION_3。

NDIS_FILTER_CHARACTERISTICS_REVISION_2

为 NDIS 6.1 添加了 DirectOidRequestHandlerDirectOidRequestCompleteHandlerCancelDirectOidRequestHandler 成员。

Size 成员设置为 NDIS_SIZEOF_FILTER_DRIVER_CHARACTERISTICS_REVISION_2。

NDIS_FILTER_CHARACTERISTICS_REVISION_1

原始版本。

Size 成员设置为NDIS_SIZEOF_FILTER_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 保留。

FriendlyName

一个 Unicode 字符串,表示筛选器驱动程序的用户可读说明。

UniqueName

一个 Unicode 字符串,表示筛选器驱动程序的唯一名称。 此字符串必须是用大括号括起来的 GUID,例如“{5cbf81bd-5055-47cd-9055-a76b2b4e3697}”。 此 GUID 必须与筛选器驱动程序的 INF 文件中 NetCfgInstanceId INF 文件条目中的 GUID 匹配。 有关详细信息,请参阅 筛选器驱动程序的 INF 文件设置

ServiceName

一个 Unicode 字符串,表示筛选器驱动程序的服务名称。 此字符串必须是筛选器驱动程序的 INF 文件中 AddService 指令中的服务名称。 有关详细信息,请参阅 筛选器驱动程序的 INF 文件设置

SetOptionsHandler

指定调用方 FilterSetOptions 函数的入口点。

SetFilterModuleOptionsHandler

调用方 的入口点 FilterSetModuleOptions 函数。

AttachHandler

调用方 FilterAttach 函数的入口点。

DetachHandler

调用方 FilterDetach 函数的入口点。

RestartHandler

调用方 FilterRestart 函数的入口点。

PauseHandler

调用方 FilterPause 函数的入口点。

SendNetBufferListsHandler

调用方 的入口点 FilterSendNetBufferLists 函数。 若要绕过此函数,请将此成员设置为 NULL

SendNetBufferListsCompleteHandler

调用方 的入口点 FilterSendNetBufferListsComplete 函数。 若要绕过此函数,请将此成员设置为 NULL

CancelSendNetBufferListsHandler

调用方 的入口点 FilterCancelSendNetBufferLists 函数。 若要绕过此函数,请将此成员设置为 NULL

ReceiveNetBufferListsHandler

调用方 的入口点 FilterReceiveNetBufferLists 函数。 若要绕过此函数,请将此成员设置为 NULL

ReturnNetBufferListsHandler

调用方 的入口点 FilterReturnNetBufferLists 函数。 若要绕过此函数,请将此成员设置为 NULL

OidRequestHandler

调用方 FilterOidRequest 函数的入口点。 若要绕过此函数,请将此成员设置为 NULL

OidRequestCompleteHandler

调用方 的入口点 FilterOidRequestComplete 函数。 若要绕过此函数,请将此成员设置为 NULL

CancelOidRequestHandler

调用方 的入口点 FilterCancelOidRequest 函数。 若要绕过此函数,请将此成员设置为 NULL

DevicePnPEventNotifyHandler

调用方 的入口点 FilterDevicePnPEventNotify 函数。 若要绕过此函数,请将此成员设置为 NULL

NetPnPEventHandler

调用方 FilterNetPnPEvent 函数的入口点。 若要绕过此函数,请将此成员设置为 NULL

StatusHandler

调用方 FilterStatus 函数的入口点。 若要绕过此函数,请将此成员设置为 NULL

DirectOidRequestHandler

调用方 的入口点 FilterDirectOidRequest 函数。 若要绕过此函数,请将此成员设置为 NULL

DirectOidRequestCompleteHandler

调用方 的入口点 FilterDirectOidRequestComplete 函数。 若要绕过此函数,请将此成员设置为 NULL

CancelDirectOidRequestHandler

调用方 的入口点 FilterCancelDirectOidRequest 函数。 若要绕过此函数,请将此成员设置为 NULL

SynchronousOidRequestHandler

调用方 FilterSynchronousOidRequest 函数的入口点。 若要绕过此函数,请将此成员设置为 NULL

SynchronousOidRequestCompleteHandler

调用方 FilterSynchronousOidRequestComplete 函数的入口点。 若要绕过此函数,请将此成员设置为 NULL

注解

筛选器驱动程序调用用于注册其特征的 NdisFRegisterFilterDriver 函数,包括其筛选器驱动程序函数的默认入口点 (FilterXxx) 。 筛选器驱动程序初始化NDIS_FILTER_DRIVER_CHARACTERISTICS结构,并在 NdisFRegisterFilterDriverFilterCharacteristics 参数中传递指向此结构的指针。

要求

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

另请参阅

FilterAttach

FilterCancelDirectOidRequest

FilterCancelOidRequest

FilterCancelSendNetBufferLists

FilterDetach

FilterDevicePnPEventNotify

FilterDirectOidRequest

FilterDirectOidRequestComplete

FilterNetPnPEvent

FilterOidRequest

FilterOidRequestComplete

FilterPause

FilterReceiveNetBufferLists

FilterRestart

FilterReturnNetBufferLists

FilterSendNetBufferLists

FilterSendNetBufferListsComplete

FilterSetModuleOptions

FilterSetOptions

FilterStatus

筛选器驱动程序的 INF 文件设置

初始化筛选器驱动程序

NDIS_FILTER_PARTIAL_CHARACTERISTICS

NDIS_OBJECT_HEADER

NdisFRegisterFilterDriver