Freigeben über


NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES Struktur (ndis.h)

Ein NDIS-Miniporttreiber richtet eine NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES Struktur ein, um Registrierungsattribute zu definieren, die einem Miniportadapter zugeordnet sind.

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;

Angehörige

Header

Der Typ, die Überarbeitung und die Größe der NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES Struktur. Dieses Element ist als NDIS_OBJECT_HEADER Struktur formatiert.

Der Miniporttreiber muss den Type Member von Header- auf NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES festlegen. Um die Version der NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES-Struktur anzugeben, muss der Treiber das element RevisionHeader- auf einen der folgenden Werte festlegen:

NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_2

AttributeFlags Flags für NDIS 6.30 hinzugefügt.

Legen Sie den Size Member auf NDIS_SIZEOF_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_2 fest.

NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_1

Originalversion für NDIS 6.0.

Legen Sie das element Größe auf NDIS_SIZEOF_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_1 fest.

MiniportAdapterContext

Ein Handle zu einem Kontextbereich, den der Miniporttreiber in seiner MiniportInitializeEx--Funktion zugewiesen hat. Der Miniporttreiber verwendet diesen Kontextbereich, um Zustandsinformationen für einen Miniportadapter beizubehalten.

AttributeFlags

Eine Bitmaske von Flags, die mit einem bitweisen OR kombiniert werden. NDIS-Miniporttreiber sollten mindestens eine der folgenden Flags festlegen:

NDIS_MINIPORT_ATTRIBUTES_HARDWARE_DEVICE

Legen Sie fest, ob der Miniporttreiber ein physisches Gerät direkt steuert. Dem physischen Gerät werden Hardwareressourcen wie Unterbrechungen, E/A-Ports, speicherzuordnunge E/A- oder DMA-Kanäle zugewiesen, die der Miniporttreiber vom MiniportInitializeEx Funktion.

NDIS_MINIPORT_ATTRIBUTES_NDIS_WDM

Legen Sie fest, ob die untere Schnittstelle des Miniportadapters ein WDM-Bustreiber wie USB oder IEEE 1394 ist. In diesem Fall weist der Miniporttreiber keine Hardwareressourcen wie E/A-Ports, Unterbrechungen, speicherzuordnungen E/A- oder DMA-Kanäle zu. Stattdessen kommuniziert der Treiber über die WDM-Schnittstelle des zugrunde liegenden Bustreibers mit dem Gerät.

NDIS_MINIPORT_ATTRIBUTES_BUS_MASTER

Legen Sie fest, ob die NIC des Anrufers ein DMA-Gerät mit Busmaster ist.

NDIS_MINIPORT_ATTRIBUTES_NO_HALT_ON_SUSPEND

Legen Sie fest, ob NDIS nicht die MiniportHaltEx- funktion eines Miniporttreibers aufrufen soll, bevor das System in einen Ruhezustand wechselt. Treiber, die auf dem vom Hardware verwalteten Zustand basieren, sollten dieses Kennzeichen nicht festlegen.

NDIS_MINIPORT_ATTRIBUTES_SURPRISE_REMOVE_OK

Legen Sie fest, ob der Miniporttreiber die Entfernung seiner NIC ohne Benutzerbenachrichtigung verarbeiten kann. NDIS-Treiber erhalten Überraschungs-Entfernungsbenachrichtigungen auf der MiniportDevicePnPEventNotify Funktion.

NDIS_MINIPORT_ATTRIBUTES_NOT_CO_NDIS

Wird von einem Miniporttreiber festgelegt, der sowohl verbindungsorientierte als auch verbindungslose Geräte unterstützen kann, um anzugeben, dass es sich bei dem Gerät um ein verbindungsloses Gerät handelt.

NDIS_MINIPORT_ATTRIBUTES_DO_NOT_BIND_TO_ALL_CO

Wird von einem CoNDIS-Miniporttreiber festgelegt, der keine TAPI-Dienste bereitstellt. Das Festlegen NDIS_MINIPORT_ATTRIBUTES_DO_NOT_BIND_TO_ALL_CO verhindert, dass NDIS den Miniporttreiber an den NDIS TAPI-Proxytreiber (NDPROXY) bindet. Standardmäßig bindet NDIS NDPROXY an alle CoNDIS-Miniporttreiber.

NDIS_MINIPORT_ATTRIBUTES_CONTROLS_DEFAULT_PORT

Wird von einem Miniporttreiber festgelegt, der die NdisMNetPnPEvent--Funktion aufruft, um den Standardport zu aktivieren. Wenn NDIS_MINIPORT_ATTRIBUTES_CONTROLS_DEFAULT_PORT nicht festgelegt ist, ist der Standardport aktiv. NDIS bindet keine Protokolltreiber oder fügt Filtermodule an einen Miniportadapter an, wenn der Standardport nicht aktiv ist.

NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND

Ab NDIS 6.30 wird dieses Kennzeichen festgelegt, wenn der Miniporttreiber ohne Pause in einen Energiesparmodus wechseln kann.

Weitere Informationen zu dieser Kennzeichnung finden Sie im Abschnitt "Hinweise".

NDIS_MINIPORT_ATTRIBUTES_NO_OID_INTERCEPT_ON_NONDEFAULT_PORTS

Ab NDIS 6.30 wird dieses Flag festgelegt, wenn der Miniporttreiber OIDs für nicht standardmäßige Ports verarbeitet, die in der Regel von NDIS abgefangen und im Auftrag von NDIS verarbeitet werden. Dadurch wird das Verhalten von OIDs, die an den Standardport bestimmt sind, nicht geändert.

NDIS_MINIPORT_ATTRIBUTES_REGISTER_BUGCHECK_CALLBACK

Ab NDIS 6.30 Miniports ruft NDIS den Miniports MiniportShutdownEx-Handler während eines BugCheck-Vorgangs nicht auf, es sei denn, dieses Flag ist festgelegt. Die meisten Miniports sollten diese Kennzeichnung nicht festlegen.

CheckForHangTimeInSeconds

Das Timeoutintervall in Sekunden, in dem NDIS die MiniportCheckForHangEx Funktion. Wenn ein Miniporttreiber nicht auf eine OID-Anforderung oder eine Sendeanforderung innerhalb von zwei aufeinander folgenden Aufrufen von MiniportCheckForHangExgeantwortet hat, kann NDIS die MiniportResetEx- Funktion des Miniporttreibers aufrufen.

Das Intervall, das NDIS beim Aufrufen MiniportCheckForHangEx- verwendet, ist immer ein Vielfaches von 2 Sekunden. Wenn Sie beispielsweise 5 Sekunden angeben, beträgt das Intervall etwa 4 Sekunden.

Wenn dieses Element 0 ist, beträgt das Standardtimeoutintervall 2 Sekunden.

Hinweis Das Timeoutintervall muss größer sein als die Initialisierungszeit des Miniporttreibers. Weitere Informationen finden Sie unter MiniportAdapter Check-for-Hang and Reset Operations.
 

InterfaceType

Der I/O-Bus-Schnittstellentyp des Miniportadapters. Dies ist in der Regel der Typ des E/A-Busses, auf dem der Miniportadapter angeschlossen ist. Die folgenden Werte werden in NDIS 6.0 unterstützt:

NdisInterfaceInternal

Gibt eine hostspezifische interne Schnittstelle an.

NdisInterfaceIsa

Gibt die ISA-Schnittstelle an.

NdisInterfaceEisa

Gibt die erweiterte ISA-Schnittstelle (EISA) an. Dieser Schnittstellentyp wird in NDIS 6.0 und höheren Versionen nicht unterstützt.

NdisInterfaceMca

Bezieht sich auf den MCA-Bus, der nicht mehr unterstützt wird. Dieser Schnittstellentyp wird in NDIS 6.0 und höheren Versionen nicht unterstützt.

NdisInterfaceTurboChannel

Gibt die Turbo Channel-Schnittstelle an.

NdisInterfacePci

Gibt die Pci-Schnittstelle (Peripheral Component Interconnect) an.

NdisInterfacePcMcia

Gibt die Schnittstelle "Personal Computer Memory Card International Association (PC Card)" an.

NdisInterfaceCBus

Gibt den CBus an.

NdisInterfaceMPIBus

Gibt den MPIBus an.

NdisInterfaceMPSABus

Gibt den MPSABus an.

NdisInterfaceProcessorInternal

Gibt den internen Prozessorbus an.

NdisInterfaceInternalPowerBus

Gibt den internen Strombus an.

NdisInterfacePNPISABus

Gibt den PNPISABus an.

NdisInterfacePNPBus

Gibt den PNPBus an.

Dieser Parameter ist für Zwischentreiber irrelevant, die 0 für dieses Element angeben sollen.

Bemerkungen

Ein Miniporttreiber übergibt einen Zeiger an eine NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES Struktur im MiniportAttributes Parameter des NdisMSetMiniportAttributes Funktion. Ein Miniporttreiber ruft NdisMSetMiniportAttributes aus seiner MiniportInitializeEx--Funktion während der Initialisierung auf.

Miniport-Treiber sollten die Attribute in NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES so bald wie möglich innerhalb MiniportInitializeEx-festlegen. Das Festlegen dieser Attribute ist obligatorisch.

NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND Flag

NDIS gibt eine OID-Anforderung von OID_PNP_SET_POWER an den Miniporttreiber aus, bevor der zugrunde liegende Miniportadapter in einen Energiesparzustand von D1, D2 oder D3 umgestellt wird. Wenn der Treiber dieses OID verarbeitet, muss er den Miniportadapter für den Übergang zum niedrigeren Leistungszustand vorbereiten und nicht auf den Abschluss der ausstehenden Empfangspaketanzeigen warten.

Bevor NDIS die OID-Anforderung von OID_PNP_SET_POWER an den Miniporttreiber ausgibt, ruft NDIS die MiniportPause Funktion des Miniporttreibers auf, wie unten beschrieben:

  • Wenn das NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND Flag nicht festgelegt ist, ruft NDIS die MiniportPause-Funktion des Miniporttreibers auf, bevor die OID-Anforderung von OID_PNP_SET_POWER an den Treiber ausgegeben wird. Im Kontext des MiniportPause- Anrufs muss der Treiber auf den Abschluss der ausstehenden Empfangspaketanzeigen warten.
  • Wenn das NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND Flag festgelegt ist, ruft NDIS die MiniportPause-Funktion des Miniporttreibers nicht auf, bevor die OID-Anforderung von OID_PNP_SET_POWER an den Treiber ausgegeben wird. Wenn der Miniporttreiber die OID-Anforderung verarbeitet, darf er nicht davon ausgehen, dass er beim Vorbereiten des Miniportadapters für den Übergang zu einem Energiesparzustand zuvor angehalten wurde.
    Hinweis Die Ausnahme tritt auf, wenn ein Protokoll- oder Filtertreiber, der NDIS 6.20 oder frühere Versionen von NDIS unterstützt, an den Miniportadapter gebunden oder angefügt ist. In diesem Fall ruft NDIS die MiniportPause Funktion des Miniporttreibers auf, unabhängig davon, ob der Miniporttreiber das NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND Flag festlegt.
     

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Unterstützt in NDIS 6.0 und höher.
Header- ndis.h (include Ndis.h)

Siehe auch

Miniport adapter Check-for-Hang and Reset Operations

MiniportCheckForHangEx

MiniportDevicePnPEventNotify

MiniportHaltEx

MiniportInitializeEx-

MiniportPause-

MiniportResetEx-

NDIS_OBJECT_HEADER

NdisMNetPnPEvent

NdisMSetMiniportAttributes

OID_PNP_SET_POWER