NDIS_FILTER_DRIVER_CHARACTERISTICS (Compact 7)
3/12/2014
To specify its driver characteristics, a filter driver initializes a NDIS_FILTER_DRIVER_CHARACTERISTICS structure and passes it to NDIS.
Syntax
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
The NDIS_OBJECT_HEADER structure for the filter driver characteristics structure (NDIS_FILTER_DRIVER_CHARACTERISTICS). Set the Type member of the structure that Header specifies to NDIS_OBJECT_TYPE_FILTER_DRIVER_CHARACTERISTICS.To indicate the version of the NDIS_FILTER_DRIVER_CHARACTERISTICS structure, set the Revision member to one of the following values:
NDIS_FILTER_CHARACTERISTICS_REVISION_2
Added the DirectOidRequestHandler, DirectOidRequestCompleteHandler, and CancelDirectOidRequestHandler members.Set the Size member to NDIS_SIZEOF_FILTER_DRIVER_CHARACTERISTICS_REVISION_2.
NDIS_FILTER_CHARACTERISTICS_REVISION_1
Original version.Set the Size member to NDIS_SIZEOF_FILTER_DRIVER_CHARACTERISTICS_REVISION_1.
- 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 FilterCancelSendNetBufferListsfunction. 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.
Remarks
A filter driver calls the NdisFRegisterFilterDriver function to register its characteristics. This includes 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
Header |
ndis.h |
See Also
Reference
NDIS Filter Driver Structures
FilterAttach
FilterCancelOidRequest
FilterCancelSendNetBufferLists
FilterDetach
FilterDevicePnPEventNotify
FilterNetPnPEvent
FilterReceiveNetBufferLists
FilterOidRequest
FilterOidRequestComplete
FilterPause
FilterRestart
FilterReturnNetBufferLists
FilterSendNetBufferLists
FilterSendNetBufferListsComplete
FilterSetModuleOptions
FilterSetOptions
FilterStatus
NDIS_FILTER_PARTIAL_CHARACTERISTICS
NDIS_OBJECT_HEADER
NdisFRegisterFilterDriver