Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A função GetIfTable2Ex recupera a tabela de interface MIB-II, dado um nível de informações de interface a ser recuperado.
Sintaxe
NETIOAPI_API GetIfTable2Ex(
_In_ MIB_IF_TABLE_LEVEL Level,
_Out_ PMIB_IF_TABLE2 *Table
);
Parâmetros
Nível [in]
O nível de informações da interface a serem recuperadas. Este parâmetro pode ser um dos valores da enumeração MIB_IF_TABLE_LEVEL.Tabela [out]
Um ponteiro para um buffer que recebe a tabela de interfaces em uma estrutura de MIB_IF_TABLE2.
Valor de retorno
GetIfTable2Ex retornará STATUS_SUCCESS se a função for bem-sucedida.
Se a função falhar, GetIfTable2Ex 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 valor ilegal foi passado no parâmetro Level. |
| STATUS_NOT_ENOUGH_MEMORY | Recursos de memória insuficientes estão disponíveis para concluir a operação. |
| Outros | Use a função FormatMessage para obter a cadeia de caracteres de mensagem para o erro retornado. |
Comentários
A função GetIfTable2Ex enumera as interfaces lógicas e físicas em um computador local e retorna essas informações em uma estrutura MIB_IF_TABLE2.
Seu driver pode usar uma função semelhante, GetIfTable2, para recuperar interfaces, mas GetIfTable2 não permite que seu driver especifique o nível de interfaces a retornar. Uma chamada para o função GetIfTable2Ex com o parâmetro Level definido como MibIfTableNormal recupera os mesmos resultados que chamar a função GetIfTable2.
GetIfTable2Ex retorna interfaces em uma estrutura MIB_IF_TABLE2 no buffer para o qual o parâmetro Table aponta. A estrutura MIB_IF_TABLE2 contém uma contagem de interfaces e uma matriz de estruturas MIB_IF_ROW2 para cada interface. GetIfTable2 aloca mmory para a estrutura MIB_IF_TABLE2 e as entradas MIB_IF_ROW2 nessa estrutura. Quando essas estruturas retornadas não são mais necessárias, seu driver deve liberar a memória chamando FreeMibTable.
Todas as interfaces, incluindo interfaces de driver intermediário NDIS e interfaces de driver de filtro NDIS, são retornadas para qualquer um dos valores possíveis para o parâmetro Level. A configuração para o parâmetro Level afeta como as estatísticas e os membros de estado da estrutura MIB_IF_ROW2 na estrutura MIB_IF_TABLE2 apontada pelo parâmetro Table para a interface são retornados. Por exemplo, uma placa de interface de rede (NIC) tem um driver de miniporta NDIS. Um driver intermediário NDIS pode ser instalado para fazer interface entre drivers de protocolo de nível superior e drivers de miniporta NDIS. Um driver de filtro NDIS pode ser anexado sobre o driver intermediário NDIS. Suponha que a NIC relata o MediaConnectState membro da estrutura MIB_IF_ROW2 como MediaConnectStateConnected, mas o driver de filtro NDIS modifica o estado e relata o estado como MediaConnectStateDisconnected. Quando as informações da interface são consultadas com parâmetro Level definido como MibIfTableNormal, o estado na parte superior da pilha de filtros (MediaConnectStateDisconnected) é relatado. Quando a interface é consultada com o parâmetro Level definido como MibIfTableRaw, o estado no nível da interface diretamente (MediaConnectStateConnected) é retornado.
Observe que a estrutura de MIB_IF_TABLE2 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_IF_ROW2 na Table membro da estrutura MIB_IF_TABLE2. O preenchimento para alinhamento também pode estar presente entre as entradas de matriz MIB_IF_ROW2. Qualquer acesso a uma entrada de matriz MIB_IF_ROW2 deve assumir que o preenchimento pode existir.