struttura NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES (ndis.h)

Un driver miniport NDIS configura una struttura NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES per definire gli attributi di registrazione associati a un adattatore miniport.

Sintassi

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

Tipo, revisione e dimensioni della struttura NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES . Questo membro viene formattato come struttura NDIS_OBJECT_HEADER .

Il driver miniport deve impostare il membro Type di Header su NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES. Per specificare la versione della struttura NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES , il driver deve impostare il membro Revision di Header su uno dei valori seguenti:

NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_2

Aggiunta dei flag AttributeFlags per NDIS 6.30.

Impostare il membro Size su NDIS_SIZEOF_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_2.

NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_1

Versione originale per NDIS 6.0.

Impostare il membro Size su NDIS_SIZEOF_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_1.

MiniportAdapterContext

Handle per un'area di contesto allocata dal driver miniport nella funzione MiniportInitializeEx . Il driver miniport utilizza questa area di contesto per mantenere le informazioni sullo stato per un adattatore miniport.

AttributeFlags

Maschera di bit di flag combinati con un OR bit per bit. I driver miniport NDIS devono impostare uno o più dei flag seguenti:

NDIS_MINIPORT_ATTRIBUTES_HARDWARE_DEVICE

Impostare se il driver miniport controlla direttamente un dispositivo fisico. Al dispositivo fisico vengono assegnate risorse hardware come interrupt, porte di I/O, I/O mappati alla memoria o canali DMA che il driver miniport deve richiedere dal Funzione MiniportInitializeEx .

NDIS_MINIPORT_ATTRIBUTES_NDIS_WDM

Impostare se l'interfaccia di livello inferiore dell'adattatore miniport è un driver del bus WDM, ad esempio USB o IEEE 1394. In questo caso, il driver miniport non alloca risorse hardware come porte di I/O, interrupt, I/O mappati alla memoria o canali DMA. Il driver comunica invece con il dispositivo tramite l'interfaccia WDM del driver del bus sottostante.

NDIS_MINIPORT_ATTRIBUTES_BUS_MASTER

Impostare se la scheda di interfaccia di rete del chiamante è un dispositivo DMA master del bus.

NDIS_MINIPORT_ATTRIBUTES_NO_HALT_ON_SUSPEND

Impostare se NDIS non deve chiamare la funzione MiniportHaltEx di un driver miniport prima che il sistema passi a uno stato di bassa potenza (sospensione). I driver che si basano sullo stato gestito dall'hardware non devono impostare questo flag.

NDIS_MINIPORT_ATTRIBUTES_SURPRISE_REMOVE_OK

Impostare se il driver miniport può gestire la rimozione della scheda di interfaccia di rete senza notifica dell'utente. I driver NDIS ricevono notifiche di rimozione a sorpresa all'indirizzo Funzione MiniportDevicePnPEventNotify .

NDIS_MINIPORT_ATTRIBUTES_NOT_CO_NDIS

Impostato da un driver miniport in grado di supportare dispositivi sia orientati alla connessione che senza connessione per indicare che il dispositivo è un dispositivo senza connessione.

NDIS_MINIPORT_ATTRIBUTES_DO_NOT_BIND_TO_ALL_CO

Impostato da un driver miniport CoNDIS che non fornisce servizi TAPI. L'impostazione di NDIS_MINIPORT_ATTRIBUTES_DO_NOT_BIND_TO_ALL_CO impedisce a NDIS di eseguire il binding del driver miniport al driver proxy TAPI NDIS (NDPROXY). Per impostazione predefinita, NDIS associa NDPROXY a tutti i driver miniport CoNDIS.

NDIS_MINIPORT_ATTRIBUTES_CONTROLS_DEFAULT_PORT

Impostato da un driver miniport che chiama la funzione NdisMNetPnPEvent per attivare la porta predefinita. Se NDIS_MINIPORT_ATTRIBUTES_CONTROLS_DEFAULT_PORT non è impostato, la porta predefinita è attiva. NDIS non associa driver di protocollo o collega moduli di filtro a una scheda miniport se la porta predefinita non è attiva.

NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND

A partire da NDIS 6.30, questo flag viene impostato se il driver miniport è in grado di passare a uno stato a basso consumo senza essere sospeso.

Per altre informazioni su questo flag, vedere la sezione Osservazioni.

NDIS_MINIPORT_ATTRIBUTES_REGISTER_BUGCHECK_CALLBACK

A partire da miniport NDIS 6.30, NDIS non richiamerà il gestore MiniportShutdownEx durante un controllo BugCheck a meno che questo flag non sia impostato. La maggior parte dei miniport non deve impostare questo flag.

CheckForHangTimeInSeconds

Intervallo di timeout, espresso in secondi, in cui NDIS deve chiamare il Funzione MiniportCheckForHangEx . Se un driver miniport non ha risposto a una richiesta OID o a una richiesta di invio entro due chiamate successive a MiniportCheckForHangEx, NDIS può chiamare la funzione MiniportResetEx del driver miniport .

L'intervallo usato da NDIS quando si chiama MiniportCheckForHangEx è sempre un multiplo di 2 secondi. Ad esempio, se si specificano 5 secondi, l'intervallo sarà di circa 4 secondi.

Se questo membro è 0, l'intervallo di timeout predefinito è 2 secondi.

Nota L'intervallo di timeout deve essere maggiore del tempo di inizializzazione del driver miniport. Per altre informazioni, vedere Controllo dell'adapter Miniport per operazioni di blocco e reimpostazione.
 

InterfaceType

Tipo di interfaccia del bus di I/O dell'adattatore miniport. Si tratta in genere del tipo di bus di I/O su cui è collegato l'adattatore miniport. I valori seguenti sono supportati in NDIS 6.0:

NdisInterfaceInternal

Specifica un'interfaccia interna specifica dell'host.

NdisInterfaceIsa

Specifica l'interfaccia ISA.

NdisInterfaceEisa

Specifica l'interfaccia EISA (Extended ISA). Questo tipo di interfaccia non è supportato in NDIS 6.0 e versioni successive.

NdisInterfaceMca

Fa riferimento al bus MCA, che non è più supportato. Questo tipo di interfaccia non è supportato in NDIS 6.0 e versioni successive.

NdisInterfaceTurboChannel

Specifica l'interfaccia Turbo Channel.

NdisInterfacePci

Specifica l'interfaccia PCI (Peripheral Component Interconnect).

NdisInterfacePcMcia

Specifica l'interfaccia Personal Computer Memory Card International Association (PC Card).

NdisInterfaceCBus

Specifica il CBus.

NdisInterfaceMPIBus

Specifica il file MPIBus.

NdisInterfaceMPSABus

Specifica MPSABus.

NdisInterfaceProcessorInternal

Specifica il bus interno del processore.

NdisInterfaceInternalPowerBus

Specifica il bus di alimentazione interno.

NdisInterfacePNPISABus

Specifica il PNPISABus.

NdisInterfacePNPBus

Specifica il PNPBus.

Questo parametro è irrilevante per i driver intermedi, che devono specificare 0 per questo membro.

Commenti

Un driver miniport passa un puntatore a una struttura NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES nel parametro MiniportAttributes di Funzione NdisMSetMiniportAttributes . Un driver miniport chiama NdisMSetMiniportAttributes dalla funzione MiniportInitializeEx durante l'inizializzazione.

I driver Miniport devono impostare gli attributi in NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES appena possibile all'interno di MiniportInitializeEx. L'impostazione di questi attributi è obbligatoria.

NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND Flag

NDIS invia una richiesta OID di OID_PNP_SET_POWER al driver miniport prima che l'adattatore miniport sottostante venga passato a uno stato di alimentazione bassa di D1, D2 o D3. Quando il driver gestisce questo OID, deve preparare l'adattatore miniport per la transizione allo stato di alimentazione inferiore e non deve attendere il completamento delle indicazioni del pacchetto di ricezione in sospeso.

In alcuni casi, prima che NDIS rilascia la richiesta OID di OID_PNP_SET_POWER al driver miniport, NDIS chiama la funzione MiniportPause del driver miniport come descritto di seguito:

  • Se il flag NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND non è impostato, NDIS chiama la funzione MiniportPause del driver miniport prima dell'emissione della richiesta OID di OID_PNP_SET_POWER al driver. Nel contesto della chiamata MiniportPause , il driver deve attendere il completamento delle indicazioni del pacchetto di ricezione in sospeso.
  • Se il flag NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND è impostato, NDIS non chiama la funzione MiniportPause del driver miniport prima dell'emissione della richiesta OID di OID_PNP_SET_POWER al driver. Quando il driver miniport gestisce la richiesta OID, non deve presupporre che sia stato sospeso in precedenza durante la preparazione dell'adattatore miniport per la transizione a uno stato a basso consumo.
    Nota L'eccezione si verifica quando un driver di protocollo o filtro che supporta NDIS 6.20 o versioni precedenti di NDIS è associato o collegato all'adattatore miniport. In questo caso, NDIS chiama la funzione MiniportPause del driver miniport indipendentemente dal fatto che il driver miniport imposti il flag di NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND .
     

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.0 e versioni successive.
Intestazione ndis.h (include Ndis.h)

Vedi anche

Controllo dell'adapter Miniport per operazioni di blocco e reimpostazione

MiniportCheckForHangEx

MiniportDevicePnPEventNotify

MiniportHaltEx

MiniportInitializeEx

MiniportPause

MiniportResetEx

NDIS_OBJECT_HEADER

NdisMNetPnPEvent

NdisMSetMiniportAttributes

OID_PNP_SET_POWER