Condividi tramite


Funzione GetIfTable2Ex (netioapi.h)

La funzione GetIfTable2Ex recupera la tabella dell'interfaccia MIB-II.

Sintassi

IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API GetIfTable2Ex(
  [in]  MIB_IF_TABLE_LEVEL Level,
  [out] PMIB_IF_TABLE2     *Table
);

Parametri

[in] Level

Livello di informazioni sull'interfaccia da recuperare. Questo parametro può essere uno dei valori del tipo di enumerazione MIB_IF_TABLE_LEVEL definito nel file di intestazione Netioapi.h .

Valore Significato
MibIfTableNormal
I valori delle statistiche e dello stato restituiti nei membri della struttura MIB_IF_ROW2 nella struttura MIB_IF_TABLE2 puntata dal parametro Table vengono restituiti dall'inizio dello stack di filtri quando questo parametro viene specificato.
MibIfTableRaw
I valori delle statistiche e dello stato restituiti nei membri della struttura MIB_IF_ROW2 nella struttura MIB_IF_TABLE2 a cui punta il parametro Table vengono restituiti direttamente per l'interfaccia in esecuzione di query.

[out] Table

Puntatore a un buffer che riceve la tabella delle interfacce in una struttura MIB_IF_TABLE2 .

Valore restituito

Se la funzione ha esito positivo, il valore restituito è NO_ERROR.

Se la funzione ha esito negativo, il valore restituito è uno dei codici di errore seguenti.

Codice restituito Descrizione
ERROR_INVALID_PARAMETER
Un parametro non valido è stato passato alla funzione. Questo errore viene restituito se un valore non valido è stato passato nel parametro Level .
ERROR_NOT_ENOUGH_MEMORY
Le risorse di memoria insufficienti sono disponibili per completare l'operazione.
Altri
Usare FormatMessage per ottenere la stringa di messaggio per l'errore restituito.

Commenti

The
La funzione GetIfTable2Ex enumera le interfacce logiche e fisiche in un sistema locale e restituisce queste informazioni in una struttura di MIB_IF_TABLE2 . GetIfTable2Ex è una versione avanzata della funzione GetIfTable che consente di selezionare il livello di informazioni sull'interfaccia da recuperare.

Una funzione GetIfTable2 simile può essere usata anche per recuperare le interfacce. ma non consente di specificare il livello di interfacce da restituire. La chiamata alla funzione GetIfTable2Ex con il parametro Level impostata su MibIfTableNormal recupera gli stessi risultati della chiamata alla funzione GetIfTable2 .

Le interfacce vengono restituite 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. La memoria viene allocata dalla funzione GetIfTable2 per la struttura MIB_IF_TABLE2 e le voci di MIB_IF_ROW2 in questa struttura. Quando queste strutture restituite non sono più necessarie, 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 punta il parametro Table per l'interfaccia. Ad esempio, una scheda di interfaccia di rete (NIC) avrà 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 (LWF) può essere collegato sopra il driver intermedio NDIS. Si supponga che l'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 nella parte superiore dello stack di filtri, ovvero 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, ovvero MediaConnectStateConnected .

Si noti che la struttura MIB_IF_TABLE2 restituita puntata dal parametro Table può 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 può 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

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione netioapi.h (includere Iphlpapi.h)
Libreria Iphlpapi.lib
DLL Iphlpapi.dll

Vedi anche

FreeMibTable

GetIfTable

GetIfTable2

Informazioni di riferimento sulla funzione helper IP

MIB_IF_ROW2

MIB_IF_TABLE2