Windows Driver Kit: Network Devices and Protocols
NDIS_FILTER_DRIVER_CHARACTERISTICS
To specify its driver characteristics, a filter driver initializes a NDIS_FILTER_DRIVER_CHARACTERISTICS structure and passes it to 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;
} NDIS_FILTER_DRIVER_CHARACTERISTICS, *PNDIS_FILTER_DRIVER_CHARACTERISTICS;
Members
- Header
- MajorNdisVersion
- The major version of NDIS that the driver is using. This value must be 0x06 or higher.
- MinorNdisVersion
- The minor version of NDIS that the driver is using. The value must be 0x00 or higher.
- MajorDriverVersion
- Reserved for the major version number of the filter driver. Filter drivers can specify any value that they require.
- MinorDriverVersion
- Reserved for the minor version number of the filter driver. Filter drivers can specify any value that they require.
- Flags
- Reserved for NDIS.
- FriendlyName
- A Unicode string that represents the user-readable description of the filter driver.
- UniqueName
- A Unicode string that represents the unique name for the filter driver. This name is unique within the system.
- ServiceName
- A Unicode string that represents the service name of the filter driver. This is the service name that is defined in the driver's INF file.
- SetOptionsHandler
- Specifies the entry point of the caller's FilterSetOptions function.
- SetFilterModuleOptionsHandler
- The entry point of the caller’s FilterSetModuleOptions function.
- AttachHandler
- The entry point of the caller's FilterAttach function.
- DetachHandler
- The entry point of the caller's FilterDetach function.
- RestartHandler
- The entry point of the caller's FilterRestart function.
- PauseHandler
- The entry point of the caller's FilterPause function.
- SendNetBufferListsHandler
- The entry point of the caller's FilterSendNetBufferLists function. To bypass this function, set this member to NULL.
- SendNetBufferListsCompleteHandler
- The entry point of the caller's FilterSendNetBufferListsComplete function. To bypass this function, set this member to NULL.
- CancelSendNetBufferListsHandler
- The entry point of the caller's FilterCancelSendNetBufferLists function. To bypass this function, set this member to NULL.
- ReceiveNetBufferListsHandler
- The entry point of the caller's FilterReceiveNetBufferLists function. To bypass this function, set this member to NULL.
- ReturnNetBufferListsHandler
- The entry point of the caller's FilterReturnNetBufferLists function. To bypass this function, set this member to NULL.
- OidRequestHandler
- The entry point of the caller's FilterOidRequest function. To bypass this function, set this member to NULL.
- OidRequestCompleteHandler
- The entry point of the caller's FilterOidRequestComplete function. To bypass this function, set this member to NULL.
- CancelOidRequestHandler
- The entry point of the caller's FilterCancelOidRequest function. To bypass this function, set this member to NULL.
- DevicePnPEventNotifyHandler
- The entry point of the caller’s FilterDevicePnPEventNotify function. To bypass this function, set this member to NULL.
- NetPnPEventHandler
- The entry point of the caller's FilterNetPnPEvent function. To bypass this function, set this member to NULL.
- StatusHandler
- The entry point of the caller's FilterStatus function. To bypass this function, set this member to NULL.
DirectOidRequestHandler
-
The entry point of the caller's FilterDirectOidRequest function. To bypass this function, set this member to NULL.
DirectOidRequestCompleteHandler
-
The entry point of the caller's FilterDirectOidRequestComplete function. To bypass this function, set this member to NULL.
CancelDirectOidRequestHandler
-
The entry point of the caller's FilterCancelDirectOidRequest function. To bypass this function, set this member to NULL.
Comments
A filter driver calls the NdisFRegisterFilterDriver function to register its characteristics, including the default entry points for its filter driver functions (FilterXxx). The filter driver initializes a NDIS_FILTER_DRIVER_CHARACTERISTICS structure and passes a pointer to this structure in the FilterCharacteristics parameter of NdisFRegisterFilterDriver.
Requirements
Versions: Supported for NDIS 6.1 drivers in Windows Server 2008. Use NDIS_FILTER_CHARACTERISTICS_REVISION_2. Supported for NDIS 6.0 drivers in Windows Server 2008 and Windows Vista. Use NDIS_FILTER_CHARACTERISTICS_REVISION_1.
Headers: Declared in Ndis.h. Include Ndis.h.
See Also
FilterAttach,
FilterCancelDirectOidRequest,
FilterCancelOidRequest, FilterCancelSendNetBufferLists, FilterDetach, FilterDevicePnPEventNotify,
FilterDirectOidRequest,
FilterDirectOidRequestComplete,
FilterNetPnPEvent, FilterReceiveNetBufferLists, FilterOidRequest, FilterOidRequestComplete, FilterPause,FilterRestart, FilterReturnNetBufferLists, FilterSendNetBufferLists, FilterSendNetBufferListsComplete, FilterSetModuleOptions, FilterSetOptions, FilterStatus, NDIS_FILTER_PARTIAL_CHARACTERISTICS, NDIS_OBJECT_HEADER, NdisFRegisterFilterDriver