NDIS_MINIPORT_DRIVER_CHARACTERISTICS structure

An NDIS driver initializes an NDIS_MINIPORT_DRIVER_CHARACTERISTICS structure to define its miniport driver characteristics, including 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;
#if (NDIS_SUPPORT_NDIS61)
  MINIPORT_DIRECT_OID_REQUEST_HANDLER        DirectOidRequestHandler;
  MINIPORT_CANCEL_DIRECT_OID_REQUEST_HANDLER CancelDirectOidRequestHandler;
#endif 
} 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 for NDIS 6.1.

Set the Size member to NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2.

NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_1

Original version for NDIS 6.0.

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 following are the available minor version value settings.

ValueMeaning
0

NDIS 6

20

NDIS 6.20

30

NDIS 6.30

 

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.

SetOptionsHandler

The entry point for the caller's MiniportSetOptions function.

InitializeHandlerEx

The entry point for the MiniportInitializeEx function.

HaltHandlerEx

The entry point for the MiniportHaltEx function.

UnloadHandler

The entry point for the MiniportDriverUnload function.

PauseHandler

The entry point for the MiniportPause function.

RestartHandler

The entry point for the MiniportRestart function.

OidRequestHandler

The entry point for the MiniportOidRequest function.

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.

DevicePnPEventNotifyHandler

The entry point for the MiniportDevicePnPEventNotify function.

ShutdownHandlerEx

The entry point for the MiniportShutdownEx function.

CancelOidRequestHandler

The entry point for the MiniportCancelOidRequest function.

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 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 OID 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

Version

Supported in NDIS 6.0 and later.

Header

Ndis.h (include Ndis.h)

See also

DriverEntry
MiniportCancelDirectOidRequest
MiniportCancelOidRequest
MiniportCancelSend
MiniportCheckForHangEx
MiniportDirectOidRequest
MiniportDriverUnload
MiniportHaltEx
MiniportInitializeEx
MiniportPause
MiniportDevicePnPEventNotify
MiniportOidRequest
MiniportResetEx
MiniportRestart
MiniportReturnNetBufferLists
MiniportSendNetBufferLists
MiniportSetOptions
MiniportShutdownEx
NdisMRegisterMiniportDriver

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft