Skip to content

Latest commit

 

History

History
372 lines (218 loc) · 12.7 KB

ns-ndis-_ndis_miniport_driver_characteristics.md

File metadata and controls

372 lines (218 loc) · 12.7 KB
UID title description old-location tech.root ms.date keywords ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos req.typenames f1_keywords topic_type api_type api_location api_name
NS:ndis._NDIS_MINIPORT_DRIVER_CHARACTERISTICS
_NDIS_MINIPORT_DRIVER_CHARACTERISTICS (ndis.h)
An NDIS driver initializes an NDIS_MINIPORT_DRIVER_CHARACTERISTICS structure to define its miniport driver characteristics, including the entry points for its MiniportXxx functions.
netvista\ndis_miniport_driver_characteristics.htm
netvista
05/03/2019
NDIS_MINIPORT_DRIVER_CHARACTERISTICS structure
*PNDIS_MINIPORT_DRIVER_CHARACTERISTICS, NDIS_MINIPORT_DRIVER_CHARACTERISTICS, NDIS_MINIPORT_DRIVER_CHARACTERISTICS structure [Network Drivers Starting with Windows Vista], PNDIS_MINIPORT_DRIVER_CHARACTERISTICS, PNDIS_MINIPORT_DRIVER_CHARACTERISTICS structure pointer [Network Drivers Starting with Windows Vista], _NDIS_MINIPORT_DRIVER_CHARACTERISTICS, miniport_structures_ref_9a538743-5c3f-40c7-a83d-07d5efde350c.xml, ndis/NDIS_MINIPORT_DRIVER_CHARACTERISTICS, ndis/PNDIS_MINIPORT_DRIVER_CHARACTERISTICS, netvista.ndis_miniport_driver_characteristics
ndis.h
Ndis.h
Windows
Supported in NDIS 6.0 and later.
Windows
NDIS_MINIPORT_DRIVER_CHARACTERISTICS, *PNDIS_MINIPORT_DRIVER_CHARACTERISTICS
_NDIS_MINIPORT_DRIVER_CHARACTERISTICS
ndis/_NDIS_MINIPORT_DRIVER_CHARACTERISTICS
PNDIS_MINIPORT_DRIVER_CHARACTERISTICS
ndis/PNDIS_MINIPORT_DRIVER_CHARACTERISTICS
NDIS_MINIPORT_DRIVER_CHARACTERISTICS
ndis/NDIS_MINIPORT_DRIVER_CHARACTERISTICS
APIRef
kbSyntax
HeaderDef
ndis.h
_NDIS_MINIPORT_DRIVER_CHARACTERISTICS
PNDIS_MINIPORT_DRIVER_CHARACTERISTICS
NDIS_MINIPORT_DRIVER_CHARACTERISTICS

_NDIS_MINIPORT_DRIVER_CHARACTERISTICS structure

-description

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

-struct-fields

-field 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_3

Added the SynchronousOidRequestHandler member for NDIS 6.80.

Set the Size member to NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3.

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.

-field MajorNdisVersion

The major version of the NDIS library the driver is using. The current value is 0x06.

-field MinorNdisVersion

The minor NDIS version. The following are the available minor version value settings.

Value Meaning
0 NDIS 6
20 NDIS 6.20
30 NDIS 6.30
40 NDIS 6.40
50 NDIS 6.50
51 NDIS 6.51
60 NDIS 6.60
70 NDIS 6.70
80 NDIS 6.80
81 NDIS 6.81
82 NDIS 6.82
83 NDIS 6.83
84 NDIS 6.84
85 NDIS 6.85
86 NDIS 6.86

-field MajorDriverVersion

Reserved for the major version number of the driver. Miniport drivers can specify any value that they require.

-field MinorDriverVersion

Reserved for the minor version number of the driver. Miniport drivers can specify any value that they require.

-field 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.

-field SetOptionsHandler

The entry point for the caller's MiniportSetOptions function.

Required for Co-NDIS. Suggested for Ethernet miniport drivers that support RSS using MSI-C over PCI.

-field InitializeHandlerEx

Required. The entry point for the MiniportInitializeEx function.

-field HaltHandlerEx

Required. The entry point for the MiniportHaltEx function.

-field UnloadHandler

Required. The entry point for the MiniportDriverUnload function.

-field PauseHandler

Required. The entry point for the MiniportPause function.

-field RestartHandler

Required. The entry point for the MiniportRestart function.

-field OidRequestHandler

The entry point for the MiniportOidRequest function. Required for all connection-less miniport drivers, including all Ethernet, WLAN, and IM drivers. Optional for some CoNDIS miniport drivers.

-field SendNetBufferListsHandler

Required. The entry point for the MiniportSendNetBufferLists function.

-field ReturnNetBufferListsHandler

Required. The entry point for the MiniportReturnNetBufferLists function.

-field CancelSendHandler

Required. The entry point for the MiniportCancelSend function.

-field CheckForHangHandlerEx

Optional. The entry point for the MiniportCheckForHangEx function.

MiniportCheckForHangEx is not required for intermediate drivers or virtual miniports because they are not physical devices that can hang, so they must set this entry point to NULL.

MiniportCheckForHangEx is forbidden on any AOAC device due to the impact on battery life, so miniport drivers for these devices must set this entry point to NULL.

MiniportCheckForHangEx is discouraged for miniport drivers intended to be installed on non-AOAC, battery-powered devices due to the impact on battery life, so they should set this entry point to NULL.

MiniportCheckForHangEx is permitted but not required for miniport drivers that are intended to be installed in line-powered (mains-powered) devices. For drivers targeting NDIS 6.30 and later, consider using NdisMResetMiniport instead.

-field ResetHandlerEx

Optional (required if you provide CheckForHangHandlerEx). The entry point for the MiniportResetEx function. MiniportResetEx is not required for intermediate drivers, so they should set this entry point to NULL.

-field DevicePnPEventNotifyHandler

Required. The entry point for the MiniportDevicePnPEventNotify function.

-field ShutdownHandlerEx

Required. The entry point for the MiniportShutdownEx function.

-field CancelOidRequestHandler

Required. The entry point for the MiniportCancelOidRequest function.

-field 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.

Optional for Ethernet; however, if one is provided, then both must be provided.

Required for WLAN and Ethernet miniports that implement RDMA or IPSec offload.

-field 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.

Optional for Ethernet; however, if one is provided, then both must be provided.

Required for WLAN and Ethernet miniports that implement RDMA or IPSec offload.

-field SynchronousOidRequestHandler

The entry point for the MiniportSynchronousOidRequest function. This is an optional entry point. Set this member to NULL if the miniport driver does not handle Synchronous OID requests.

Required for WLAN and Ethernet miniports that implement RSSv2.

-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).

-see-also

DriverEntry

MiniportCancelDirectOidRequest

MiniportCancelOidRequest

MiniportCancelSend

MiniportCheckForHangEx

MiniportDevicePnPEventNotify

MiniportDirectOidRequest

MiniportDriverUnload

MiniportHaltEx

MiniportInitializeEx

MiniportOidRequest

MiniportPause

MiniportResetEx

MiniportRestart

MiniportReturnNetBufferLists

MiniportSendNetBufferLists

MiniportSetOptions

MiniportShutdownEx

NdisMRegisterMiniportDriver