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