Condividi tramite


Funzione GetIfStackTable (netioapi.h)

La funzione GetIfStackTable recupera una tabella di voci di riga dello stack di interfacce di rete che specificano la relazione delle interfacce di rete in uno stack di interfacce.

Sintassi

IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API GetIfStackTable(
  [out] PMIB_IFSTACK_TABLE *Table
);

Parametri

[out] Table

Puntatore a un buffer che riceve la tabella delle voci di riga dello stack di interfacce in una struttura MIB_IFSTACK_TABLE .

Valore restituito

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

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

Codice restituito Descrizione
ERROR_INVALID_PARAMETER
Alla funzione è stato passato un parametro non valido. Questo errore viene restituito se viene passato un puntatore NULL nel parametro Table .
ERROR_NOT_ENOUGH_MEMORY
Per completare l'operazione sono disponibili risorse di memoria insufficienti.
ERROR_NOT_FOUND
Non sono state trovate voci dello stack di interfacce.
Altri
Utilizzare la funzione FormatMessage per ottenere la stringa di messaggio per l'errore restituito.

Commenti

La funzione GetIfStackTable viene definita in Windows Vista e versioni successive.

The
La funzione GetIfStackTable enumera le interfacce di rete fisica e logica in uno stack di interfacce in un sistema locale e restituisce queste informazioni in una struttura MIB_IFSTACK_TABLE .

Le voci dello stack di interfaccia vengono restituite in una struttura MIB_IFSTACK_TABLE nel buffer a cui punta il parametro Table . La struttura MIB_IFSTACK_TABLE contiene un numero di voci dello stack di interfacce e una matrice di strutture MIB_IFSTACK_ROW per ogni voce dello stack di interfacce.

La relazione tra le interfacce nello stack di interfaccia è che l'interfaccia con indice nel membro HigherLayerInterfaceIndex della struttura MIB_IFSTACK_ROW si trova immediatamente sopra l'interfaccia con indice nel membro LowerLayerInterfaceIndex della struttura MIB_IFSTACK_ROW .

La memoria viene allocata dalla funzione GetIfStackTable per la struttura MIB_IFSTACK_TABLE e le voci MIB_IFSTACK_ROW in questa struttura. Quando queste strutture restituite non sono più necessarie, liberare la memoria chiamando FreeMibTable.

Si noti che la struttura restituita MIB_IFSTACK_TABLE a cui punta il parametro Table può contenere spaziatura interna per l'allineamento tra il membro NumEntries e la prima voce di matrice MIB_IFSTACK_ROW nel membro Table della struttura MIB_IFSTACK_TABLE . La spaziatura interna per l'allineamento può essere presente anche tra le voci della matrice MIB_IFSTACK_ROW . Qualsiasi accesso a una voce di matrice MIB_IFSTACK_ROW 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 (include Iphlpapi.h)
Libreria Iphlpapi.lib
DLL Iphlpapi.dll

Vedi anche

FreeMibTable

GetIfEntry2

GetIfTable2

GetInvertedIfStackTable

GetIpInterfaceEntry

InitializeIpInterfaceEntry

MIB_IFSTACK_ROW

MIB_IFSTACK_TABLE

MIB_IF_ROW2

MIB_IF_TABLE2

MIB_INVERTEDIFSTACK_ROW

MIB_INVERTEDIFSTACK_TABLE

MIB_IPINTERFACE_ROW

NotifyIpInterfaceChange

SetIpInterfaceEntry