Compartilhar 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 dos adaptadores de rede em uma pilha de interfaces.

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 de pilha de interface em uma estrutura MIB_IFSTACK_TABLE .

Retornar valor

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. Esse erro será retornado se um ponteiro NULL for 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

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

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

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

A memória é alocada pela função GetIfStackTable para a estrutura MIB_IFSTACK_TABLE e as entradas MIB_IFSTACK_ROW nessa estrutura. Quando essas estruturas retornadas não forem mais necessárias, o driver deverá 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 no membro Table da estrutura MIB_IFSTACK_TABLE. O preenchimento para alinhamento também pode estar presente entre as entradas da matriz MIB_IFSTACK_ROW. Qualquer acesso a uma entrada de matriz MIB_IFSTACK_ROW deve pressupor que o preenchimento possa existir.

Requisitos

Plataforma de destino

Universal

Versão

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

Cabeçalho

Netioapi.h (inclua Netioapi.h)

Biblioteca

Netio.lib

IRQL

< DISPATCH_LEVEL

Confira 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