Funzione GetIfTable2Ex

La funzione GetIfTable2Ex recupera la tabella dell'interfaccia MIB-II, dato un livello di informazioni sull'interfaccia da recuperare.

Sintassi

NETIOAPI_API GetIfTable2Ex(
  _In_  MIB_IF_TABLE_LEVEL Level,
  _Out_ PMIB_IF_TABLE2     *Table
);

Parametri

  • Livello [in]
    Livello di informazioni sull'interfaccia da recuperare. Questo parametro può essere uno dei valori dell'enumerazione MIB_IF_TABLE_LEVEL .

  • Tabella [out]
    Puntatore a un buffer che riceve la tabella delle interfacce in una struttura MIB_IF_TABLE2 .

Valore restituito

GetIfTable2Ex restituisce STATUS_SUCCESS se la funzione ha esito positivo.

Se la funzione ha esito negativo, GetIfTable2Ex restituisce uno dei codici di errore seguenti:

Codice restituito Descrizione
STATUS_INVALID_PARAMETER

Un parametro non valido è stato passato alla funzione. Questo errore viene restituito se un valore non valido è stato passato nel parametro Level .

STATUS_NOT_ENOUGH_MEMORY

Le risorse di memoria insufficienti sono disponibili per completare l'operazione.

Altri

Utilizzare la funzione FormatMessage per ottenere la stringa di messaggio per l'errore restituito.

Commenti

La funzione GetIfTable2Ex enumera le interfacce logiche e fisiche in un computer locale e restituisce queste informazioni in una struttura MIB_IF_TABLE2 .

Il driver può usare una funzione simile, GetIfTable2, per recuperare le interfacce, ma GetIfTable2 non abilita il driver per specificare il livello di interfacce da restituire. Una chiamata alla funzione GetIfTable2Ex con il parametro Level impostata su MibIfTableNormal recupera gli stessi risultati della chiamata alla funzione GetIfTable2 .

GetIfTable2Ex restituisce interfacce in una struttura MIB_IF_TABLE2 nel buffer a cui punta il parametro Table . La struttura MIB_IF_TABLE2 contiene un conteggio dell'interfaccia e una matrice di strutture MIB_IF_ROW2 per ogni interfaccia. GetIfTable2 alloca mmory per la struttura MIB_IF_TABLE2 e le voci di MIB_IF_ROW2 in questa struttura. Quando queste strutture restituite non sono più necessarie, il driver deve liberare la memoria chiamando FreeMibTable.

Tutte le interfacce, incluse le interfacce del driver intermedio NDIS e le interfacce del driver di filtro NDIS, vengono restituite per uno dei valori possibili per il parametro Level . L'impostazione per il parametro Level influisce sulla modalità di restituzione delle statistiche e dei membri dello stato della struttura MIB_IF_ROW2 nella struttura MIB_IF_TABLE2 a cui fa riferimento il parametro Table per l'interfaccia. Ad esempio, una scheda di interfaccia di rete (NIC) ha un driver miniport NDIS. È possibile installare un driver intermedio NDIS per interfacciarsi tra driver di protocollo di livello superiore e driver miniport NDIS. Un driver di filtro NDIS può essere collegato sopra il driver intermedio NDIS. Si supponga che la scheda di interfaccia di rete segnala il membro MediaConnectState della struttura MIB_IF_ROW2 come MediaConnectStateConnected, ma il driver di filtro NDIS modifica lo stato e segnala lo stato come MediaConnectStateDisconnected. Quando le informazioni sull'interfaccia vengono sottoposte a query con il parametro Level impostate su MibIfTableNormal, lo stato all'inizio dello stack di filtri (MediaConnectStateDisconnected) viene segnalato. Quando l'interfaccia viene eseguita una query con il parametro Level impostato su MibIfTableRaw, lo stato a livello di interfaccia viene restituito direttamente (MediaConnectStateConnected).

Si noti che la struttura MIB_IF_TABLE2 restituita che il parametro Table punta a potrebbe contenere spaziatura interna per l'allineamento tra il membro NumEntries e la prima voce di matrice MIB_IF_ROW2 nel membro Table della struttura MIB_IF_TABLE2. La spaziatura interna per l'allineamento potrebbe essere presente anche tra le voci della matrice MIB_IF_ROW2. Qualsiasi accesso a una voce di matrice MIB_IF_ROW2 deve presupporre che la spaziatura interna possa esistere.

Requisiti

Piattaforma di destinazione

Universale

Versione

Disponibile in Windows Vista e versioni successive dei sistemi operativi Windows.

Intestazione

Netioapi.h (include Netioapi.h)

Libreria

Netio.lib

IRQL

< DISPATCH_LEVEL

Vedi anche

FreeMibTable

GetIfTable2

MIB_IF_TABLE_LEVEL

MIB_IF_TABLE2

MIB_IF_ROW2