Partager via


NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES (Compact 2013)

3/26/2014

An NDIS miniport driver sets up an NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES structure to define registration attributes for a miniport adapter.

Syntax

typedef struct _NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES
{
  NDIS_OBJECT_HEADER  Header;
  NDIS_HANDLE  MiniportAdapterContext;
  ULONG  AttributeFlags;
  UINT  CheckForHangTimeInSeconds;
  NDIS_INTERFACE_TYPE  InterfaceType;
} NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES, *PNDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES;

Members

  • Header
    The NDIS_OBJECT_HEADER structure for the NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES structure. Set the Type member of the structure that Header specifies to NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES, the Revision member to NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_1, and the Size member to NDIS_SIZEOF_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_1.
  • MiniportAdapterContext
    A handle to a context area that the miniport driver allocated in its MiniportInitializeEx function. The miniport driver uses this context area to maintain state information for a miniport adapter.
  • AttributeFlags
    A bitmask of flags that are combined with a bitwise OR. Network Driver Interface Specification (NDIS) 6.0 drivers set one or more of the following flags:

    • NDIS_MINIPORT_ATTRIBUTES_HARDWARE_DEVICE
      Set if the miniport driver directly controls a physical device. Physical devices are those that are assigned hardware resources such as interrupts, I/O ports, memory-mapped I/O, or Direct Memory Access (DMA) channels that the miniport driver receives from the MiniportInitializeEx function.
    • NDIS_MINIPORT_ATTRIBUTES_NDIS_WDM
      Set if the lower-level interface of the miniport adapter is a Windows Driver Model (WDM) bus driver such as USB or IEEE 1394. If this member is set, the miniport driver does not allocate hardware resources such as I/O ports, interrupts, memory-mapped I/O, or DMA channels. Instead, the driver communicates with the device through the underlying bus driver's WDM interface.
    • NDIS_MINIPORT_ATTRIBUTES_BUS_MASTER
      Set if the caller's network adapter is a bus-master DMA device.
    • NDIS_MINIPORT_ATTRIBUTES_NO_HALT_ON_SUSPEND
      Set to prevent NDIS from calling a driver's MiniportHaltEx function before the system transitions to a low-power (sleeping) state. Drivers that rely on a hardware-maintained state must not set this flag.
    • NDIS_MINIPORT_ATTRIBUTES_SURPRISE_REMOVE_OK
      Set if the driver can remove its network adapter without notifying the user. NDIS drivers receive surprise removal notifications from the MiniportDevicePnPEventNotify function of the miniport driver.
    • NDIS_MINIPORT_ATTRIBUTES_NOT_CO_NDIS
      Set by a driver that supports both connection-oriented and connectionless devices to indicate that the device is a connectionless device.
    • NDIS_MINIPORT_ATTRIBUTES_DO_NOT_BIND_TO_ALL_CO
      Set by a CoNDIS miniport driver that does not provide TAPI services. Setting NDIS_MINIPORT_ATTRIBUTES_DO_NOT_BIND_TO_ALL_CO prevents NDIS from binding the miniport driver to the NDIS TAPI proxy driver (NDPROXY). By default, NDIS binds NDPROXY to all CoNDIS miniport drivers.
    • NDIS_MINIPORT_ATTRIBUTES_CONTROLS_DEFAULT_PORT
      Set by a driver that calls the NdisMNetPnPEvent function to activate its default port. If NDIS_MINIPORT_ATTRIBUTES_CONTROLS_DEFAULT_PORT is not set, the default port is active. NDIS does not bind protocol drivers or attach filter modules to a miniport adapter if its default port is not active.
  • CheckForHangTimeInSeconds
    The interval, in seconds, at which NDIS calls the MiniportCheckForHangEx function. If a driver has not responded to an object identifier request or send request within two successive calls to MiniportCheckForHangEx, NDIS calls the driver's MiniportResetEx function.

    The interval that NDIS uses when it calls MiniportCheckForHangEx is always a multiple of two seconds. For example, if you specify five seconds the actual interval will be approximately four seconds.

    Specifying 0 (zero) for this member indicates that NDIS calls MiniportCheckForHangEx at the NDIS default two-second interval.

  • InterfaceType
    The I/O bus interface type of the miniport adapter. The interface type is usually the type of I/O bus to which the miniport adapter is connected. The following values are supported in NDIS 6.0:

    • NdisInterfaceInternal
      Specifies a host-specific internal interface.
    • NdisInterfaceIsa
      Specifies the Industry Standard Architecture (ISA) interface.
    • NdisInterfaceEisa
      Specifies the extended ISA (EISA) interface. This interface type is not supported in NDIS 6.0 through NDIS 6.2.
    • NdisInterfaceMca
      Refers to the MCA bus, which is no longer supported. This interface type is not supported in NDIS 6.0 through NDIS 6.2.
    • NdisInterfaceTurboChannel
      Specifies the Turbo Channel interface.
    • NdisInterfacePci
      Specifies the Peripheral Component Interconnect (PCI) interface.
    • NdisInterfaceCBus
      Specifies the CBus.
    • NdisInterfaceMPIBus
      Specifies the MPIBus.
    • NdisInterfaceMPSABus
      Specifies the MPSABus.
    • NdisInterfaceProcessorInternal
      Specifies the processor internal bus.
    • NdisInterfaceInternalPowerBus
      Specifies the internal power bus.
    • NdisInterfacePNPISABus
      Specifies the PNPISABus.
    • NdisInterfacePNPBus
      Specifies the PNPBus.

    This parameter is irrelevant for intermediate drivers, which should specify 0 (zero) for this member.

Remarks

A miniport driver passes a pointer to an NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES structure in the MiniportAttributes parameter of the NdisMSetMiniportAttributes function. A miniport driver calls NdisMSetMiniportAttributes from its MiniportInitializeEx function during initialization.

Miniport drivers must set the attributes in NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES as soon as possible in MiniportInitializeEx. Setting these attributes is mandatory.

Requirements

Header

ndis.h

See Also

Reference

Miniport Driver Structures
MiniportCheckForHangEx
MiniportHaltEx
MiniportInitializeEx
MiniportDevicePnPEventNotify
MiniportResetEx
NDIS_OBJECT_HEADER
NdisMNetPnPEvent
NdisMSetMiniportAttributes