Partager via


NDIS_FILTER_DRIVER_CHARACTERISTICS (Compact 2013)

3/26/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.
  • 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