Função GetExtendedUdpTable (iphlpapi.h)
A função GetExtendedUdpTable recupera uma tabela que contém uma lista de pontos de extremidade UDP disponíveis para o aplicativo.
Sintaxe
IPHLPAPI_DLL_LINKAGE DWORD GetExtendedUdpTable(
[out] PVOID pUdpTable,
[in, out] PDWORD pdwSize,
[in] BOOL bOrder,
[in] ULONG ulAf,
[in] UDP_TABLE_CLASS TableClass,
[in] ULONG Reserved
);
Parâmetros
[out] pUdpTable
Um ponteiro para a estrutura da tabela que contém os pontos de extremidade UDP filtrados disponíveis para o aplicativo. Para obter informações sobre como determinar o tipo de tabela retornado com base em combinações de parâmetros de entrada específicas, consulte a seção Comentários mais adiante neste documento.
[in, out] pdwSize
O tamanho estimado da estrutura retornada em pUdpTable, em bytes. Se esse valor for definido muito pequeno, ERROR_INSUFFICIENT_BUFFER será retornado por essa função e esse campo conterá o tamanho correto da estrutura.
[in] bOrder
Um valor que especifica se a tabela de ponto de extremidade UDP deve ser classificada. Se esse parâmetro for definido como TRUE, os pontos de extremidade UDP na tabela serão classificados em ordem crescente, começando com o endereço IP local mais baixo. Se esse parâmetro for definido como FALSE, os pontos de extremidade UDP na tabela aparecerão na ordem em que foram recuperados.
Os seguintes valores são comparados conforme listado ao ordenar os pontos de extremidade UDP:
- Endereço IP local
- ID do escopo local (aplicável quando o parâmetro ulAf é definido como AF_INET6)
- Porta UDP local
[in] ulAf
A versão do IP usada pelo ponto de extremidade UDP.
Valor | Significado |
---|---|
|
O IPv4 é usado. |
|
IPv6 é usado. |
[in] TableClass
O tipo da estrutura da tabela UDP a ser recuperada. Esse parâmetro pode ser um dos valores da enumeração UDP_TABLE_CLASS .
No SDK do Windows lançado para Windows Vista e posterior, a organização dos arquivos de cabeçalho foi alterada e a enumeração UDP_TABLE_CLASS é definida no arquivo de cabeçalho Iprtrmib.h , não no arquivo de cabeçalho Iphlpapi.h .
O valor de enumeração UDP_TABLE_CLASS é combinado com o valor do parâmetro ulAf para determinar as informações de UDP estendidas a serem recuperadas.
[in] Reserved
Reservado. Esse valor precisa ser zero.
Valor retornado
Se a chamada for bem-sucedida, o valor NO_ERROR será retornado.
Se a função falhar, o valor retornado será um dos seguintes códigos de erro.
Código de retorno | Descrição |
---|---|
|
Uma quantidade insuficiente de espaço foi alocada para a tabela. O tamanho da tabela é retornado no parâmetro pdwSize e deve ser usado em uma chamada subsequente para essa função para recuperar a tabela com êxito.
Esse erro também será retornado se o parâmetro pUdpTable for NULL. |
|
Um parâmetro inválido foi passado para a função. Esse erro será retornado se o parâmetro TableClass contiver um valor que não está definido na enumeração UDP_TABLE_CLASS . |
Comentários
O tipo de tabela retornado por essa função depende da combinação específica do parâmetro ulAf e do parâmetro TableClass .
Quando o parâmetro ulAf é definido como AF_INET, a tabela a seguir indica o tipo de tabela UDP a ser recuperado na estrutura apontada pelo parâmetro pUdpTable para cada valor TableClass possível.
Valor de TableClass | Estrutura pUdpTable |
---|---|
UDP_TABLE_BASIC | MIB_UDPTABLE |
UDP_TABLE_OWNER_MODULE | MIB_UDPTABLE_OWNER_MODULE |
UDP_TABLE_OWNER_PID | MIB_UDPTABLE_OWNER_PID |
Quando o parâmetro ulAf é definido como AF_INET6, a tabela a seguir indica o tipo de tabela TCP a ser recuperado na estrutura apontada pelo parâmetro pUdpTable para cada valor TableClass possível.
Valor de TableClass | Estrutura pUdpTable |
---|---|
UDP_TABLE_BASIC | MIB_UDP6TABLE |
UDP_TABLE_OWNER_MODULE | MIB_UDP6TABLE_OWNER_MODULE |
UDP_TABLE_OWNER_PID | MIB_UDP6TABLE_OWNER_PID |
A função GetExtendedUdpTable quando chamada com o parâmetro ulAf definido como AF_INET6 e o TableClass definido como UDP_TABLE_BASIC só tem suporte no Windows Vista e posterior.
No Windows Server 2003 com Service Pack 1 (SP1) e Windows XP com Service Pack 2 (SP2), a função GetExtendedUdpTable chamada com o parâmetro ulAf definido como AF_INET6 e o TableClass definido como UDP_TABLE_BASIC falha e retorna ERROR_NOT_SUPPORTED.
No SDK do Windows lançado para Windows Vista e posterior, a organização dos arquivos de cabeçalho foi alterada. As várias estruturas MIB_UDPTABLE são definidas no arquivo de cabeçalho Udpmib.h , não no arquivo de cabeçalho Iprtrmib.h . Observe que o arquivo de cabeçalho Udpmib.h é incluído automaticamente em Iprtrmib.h, que é incluído automaticamente no arquivo de cabeçalho Iphlpapi.h . Os arquivos de cabeçalho Udpmib.h e Iprtrmib.h nunca devem ser usados diretamente.
Requisitos
Cliente mínimo com suporte | Windows Vista, Windows XP com SP2 [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2008, Windows Server 2003 com SP1 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | iphlpapi.h |
Biblioteca | Iphlpapi.lib |
DLL | Iphlpapi.dll |