Share via


NDIS_MINIPORT_DRIVER_CHARACTERISTICS (Compact 7)

3/12/2014

An NDIS driver initializes an NDIS_MINIPORT_DRIVER_CHARACTERISTICS structure to define its miniport driver characteristics. This includes the entry points for its MiniportXxx functions.

Syntax

typedef struct _NDIS_MINIPORT_DRIVER_CHARACTERISTICS
{
  NDIS_OBJECT_HEADER  Header;
  UCHAR  MajorNdisVersion;
  UCHAR  MinorNdisVersion;
  UCHAR  MajorDriverVersion;
  UCHAR  MinorDriverVersion;
  ULONG  Flags;
  SET_OPTIONS_HANDLER  SetOptionsHandler;
  MINIPORT_INITIALIZE_HANDLER  InitializeHandlerEx;
  MINIPORT_HALT_HANDLER  HaltHandlerEx;
  MINIPORT_DRIVER_UNLOAD  UnloadHandler;
  MINIPORT_PAUSE_HANDLER  PauseHandler;
  MINIPORT_RESTART_HANDLER  RestartHandler;
  MINIPORT_OID_REQUEST_HANDLER  OidRequestHandler;
  MINIPORT_SEND_NET_BUFFER_LISTS_HANDLER  SendNetBufferListsHandler;
  MINIPORT_RETURN_NET_BUFFER_LISTS_HANDLER  ReturnNetBufferListsHandler;
  MINIPORT_CANCEL_SEND_HANDLER  CancelSendHandler;
  MINIPORT_CHECK_FOR_HANG_HANDLER  CheckForHangHandlerEx;
  MINIPORT_RESET_HANDLER  ResetHandlerEx;
  MINIPORT_DEVICE_PNP_EVENT_NOTIFY_HANDLER  DevicePnPEventNotifyHandler;
  MINIPORT_SHUTDOWN_HANDLER  ShutdownHandlerEx;
  MINIPORT_CANCEL_OID_REQUEST_HANDLER  CancelOidRequestHandler;
  MINIPORT_DIRECT_OID_REQUEST_HANDLER  DirectOidRequestHandler;
  MINIPORT_CANCEL_DIRECT_OID_REQUEST_HANDLER  CancelDirectOidRequestHandler;
} NDIS_MINIPORT_DRIVER_CHARACTERISTICS, *PNDIS_MINIPORT_DRIVER_CHARACTERISTICS;

Members

  • Header
    The NDIS_OBJECT_HEADER structure for the NDIS_MINIPORT_DRIVER_CHARACTERISTICS structure. Set the Type member of the structure that Header specifies to NDIS_OBJECT_TYPE_MINIPORT_DRIVER_CHARACTERISTICS.

    To indicate the version of the NDIS_MINIPORT_DRIVER_CHARACTERISTICS structure, set the Revision member to one of the following values:

    • NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2
      Added the DirectOidRequestHandler, and CancelDirectOidRequestHandler members.

      Set the Size member to NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2.

    • NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_1
      Original version.

      Set the Size member to NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_1.

  • MajorNdisVersion
    The major version of the NDIS library the driver is using. The current value is 0x06.
  • MinorNdisVersion
    The minor NDIS version. The current value is 0x00.
  • MajorDriverVersion
    Reserved for the major version number of the driver. Miniport drivers can specify any value that they require.
  • MinorDriverVersion
    Reserved for the minor version number of the driver. Miniport drivers can specify any value that they require.
  • Flags
    A bitmask that can be set to zero or any of the following flags, combined with bitwise OR:

    • NDIS_INTERMEDIATE_DRIVER
      Set if the caller is an NDIS intermediate driver.
    • NDIS_WDM_DRIVER
      Set if the caller is an NDIS-WDM miniport driver.
  • SendNetBufferListsHandler
    The entry point for the MiniportSendNetBufferLists function.
  • ReturnNetBufferListsHandler
    The entry point for the MiniportReturnNetBufferLists function.
  • CancelSendHandler
    The entry point for the MiniportCancelSend function.
  • CheckForHangHandlerEx
    The entry point for the MiniportCheckForHangEx function. MiniportCheckForHangEx is not required for intermediate drivers, so they should set this entry point to NULL.
  • ResetHandlerEx
    The entry point for the MiniportResetEx function. MiniportResetEx is not required for intermediate drivers, so they should set this entry point to NULL.
  • DirectOidRequestHandler
    The entry point for the MiniportDirectOidRequest function. This is an optional entry point. Set this member to NULL if the miniport driver does not handle direct object identifier (also known as OID) requests.
  • CancelDirectOidRequestHandler
    The entry point for the MiniportCancelDirectOidRequest function. This is an optional entry point. Set this member to NULL if the miniport driver does not handle direct object identifier requests.

Remarks

An NDIS driver passes a pointer to its NDIS_MINIPORT_DRIVER_CHARACTERISTICS structure in the MiniportDriverCharacteristics parameter of the NdisMRegisterMiniportDriver function. A miniport driver calls NdisMRegisterMiniportDriver from its DriverEntry routine (see also DriverEntry of NDIS Miniport Drivers).

Requirements

Header

ndis.h

See Also

Reference

Miniport Driver Structures
DriverEntry
MiniportCancelOidRequest
MiniportCheckForHangEx
MiniportDriverUnload
MiniportHaltEx
MiniportInitializeEx
MiniportPause
MiniportDevicePnPEventNotify
MiniportOidRequest
MiniportResetEx
MiniportRestart
MiniportSetOptions
MiniportShutdownEx
NdisMRegisterMiniportDriver