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


Send feedback on this topic
Built on October 01, 2009
Page view tracker