Funzione GetIfStackTable

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

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 ha esito negativo, 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 viene passato un puntatore NULL 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.

Altri

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

Commenti

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 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, 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 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

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