Condividi tramite


Funzione GetIfStackTable

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

Sintassi

NETIOAPI_API GetIfStackTable(
  _Out_ PMIB_IFSTACK_TABLE *Table
);

Parametri

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

Valore restituito

GetIfStackTable restituisce STATUS_SUCCESS se la funzione ha esito positivo.

Se la funzione non riesce, GetIfStackTable restituisce uno dei codici di errore seguenti:

Codice restituito Descrizione
STATUS_INVALID_PARAMETER

Alla funzione è stato passato un parametro non valido. Questo errore viene restituito se un puntatore NULL viene passato nel parametro Table.

STATUS_NOT_ENOUGH_MEMORY

Per completare l'operazione sono disponibili risorse di memoria insufficienti.

STATUS_NOT_FOUND

Non sono state trovate voci dello stack di interfacce.

Altro

Usare la funzione FormatMessage per ottenere la stringa del messaggio per l'errore restituito.

Osservazioni

La funzione GetIfStackTable enumera le interfacce di rete fisiche e logiche in uno stack di interfacce in un computer 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 HigherLayerInterfaceIndex membro 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, il driver deve liberare la memoria chiamando FreeMibTable.

Si noti che la struttura MIB_IFSTACK_TABLE restituita a cui punta il parametro Table potrebbe 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 potrebbe 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 esista.

Fabbisogno

Piattaforma di destinazione

universale

Versione

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

Intestazione

Netioapi.h (include Netioapi.h)

Biblioteca

Netio.lib

IRQL

< DISPATCH_LEVEL

Vedere anche

FreeMibTable

GetIfEntry2

GetIfTable2

GetInvertedIfStackTable

GetIpInterfaceEntry

InitializeIpInterfaceEntry

MIB_IF_ROW2

MIB_IF_TABLE2

MIB_IFSTACK_ROW

MIB_IFSTACK_TABLE

MIB_INVERTEDIFSTACK_ROW

MIB_INVERTEDIFSTACK_TABLE

MIB_IPINTERFACE_ROW

NotifyIpInterfaceChange

SetIpInterfaceEntry