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