Partilhar via


Função GetIfStackTable

A função GetIfStackTable recupera uma tabela de entradas de linha de pilha de interface de rede que especificam a relação das interfaces de rede em uma pilha de interface.

Sintaxe

NETIOAPI_API GetIfStackTable(
  _Out_ PMIB_IFSTACK_TABLE *Table
);

Parâmetros

  • Tabela [out]
    Um ponteiro para um buffer que recebe a tabela de entradas de linha da pilha de interface em uma estrutura MIB_IFSTACK_TABLE.

Valor de retorno

GetIfStackTable retornará STATUS_SUCCESS se a função for bem-sucedida.

Se a função falhar, GetIfStackTable retornará um dos seguintes códigos de erro:

Código de retorno Descrição
STATUS_INVALID_PARAMETER

Um parâmetro inválido foi passado para a função. Este erro é retornado se um ponteiro de NULL é passado no parâmetro Table.

STATUS_NOT_ENOUGH_MEMORY

Recursos de memória insuficientes estão disponíveis para concluir a operação.

STATUS_NOT_FOUND

Nenhuma entrada de pilha de interface foi encontrada.

Outros

Use a função FormatMessage para obter a cadeia de caracteres de mensagem para o erro retornado.

Comentários

O função GetIfStackTable enumera as interfaces de rede físicas e lógicas em uma pilha de interface em um computador local e retorna essas informações em uma estrutura MIB_IFSTACK_TABLE.

As entradas da pilha de interface são retornadas em uma estrutura de MIB_IFSTACK_TABLE no buffer para a qual o parâmetro Table aponta. A estrutura MIB_IFSTACK_TABLE contém uma contagem de entrada de pilha de interface e uma matriz de estruturas de MIB_IFSTACK_ROW para cada entrada de pilha de interface.

A relação entre as interfaces na pilha de interface é que a interface com índice no HigherLayerInterfaceIndex membro da estrutura MIB_IFSTACK_ROW está imediatamente acima da interface com índice no LowerLayerInterfaceIndex membro da estrutura MIB_IFSTACK_ROW.

A memória é alocada pelo função GetIfStackTable para a estrutura MIB_IFSTACK_TABLE e as entradas MIB_IFSTACK_ROW nessa estrutura. Quando essas estruturas retornadas não são mais necessárias, seu driver deve liberar a memória chamando FreeMibTable.

Observe que a estrutura de MIB_IFSTACK_TABLE retornada para a qual o parâmetro Table aponta pode conter preenchimento para alinhamento entre o membro NumEntries e a primeira entrada de matriz MIB_IFSTACK_ROW na Table membro da estrutura MIB_IFSTACK_TABLE. O preenchimento para alinhamento também pode estar presente entre as entradas de matriz MIB_IFSTACK_ROW. Qualquer acesso a uma entrada de matriz MIB_IFSTACK_ROW deve assumir que o preenchimento pode existir.

Requerimentos

Plataforma de destino

Universal

Versão

Disponível no Windows Vista e versões posteriores dos sistemas operacionais Windows.

Cabeçalho

Netioapi.h (inclui Netioapi.h)

Biblioteca

Netio.lib

IRQL

< DISPATCH_LEVEL

Ver também

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