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 的 SynchronousOidRequestHandler 和 SynchronousOidRequestCompleteHandler 成員。
將 Size 成員設定為 NDIS_SIZEOF_FILTER_DRIVER_CHARACTERISTICS_REVISION_3。
NDIS_FILTER_CHARACTERISTICS_REVISION_2
已新增 NDIS 6.1 的 DirectOidRequestHandler、 DirectOidRequestCompleteHandler 和 CancelDirectOidRequestHandler 成員。
將 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結構,並在 NdisFRegisterFilterDriver 的 FilterCharacteristics 參數中傳遞此結構的指標。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | NDIS 6.0 和更新版本支援。 |
標頭 | ndis.h (包括 Ndis.h) |
另請參閱
FilterCancelDirectOidRequest FilterCancelSendNetBufferLists FilterDirectOidRequestComplete FilterSendNetBufferListsComplete NDIS_FILTER_PARTIAL_CHARACTERISTICS意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應