Share via


Função GetOwnerModuleFromUdpEntry (iphlpapi.h)

A função GetOwnerModuleFromUdpEntry recupera dados sobre o módulo que emitiu a associação de contexto para um ponto de extremidade UDP IPv4 específico em uma linha de tabela MIB.

Sintaxe

IPHLPAPI_DLL_LINKAGE DWORD GetOwnerModuleFromUdpEntry(
  [in]      PMIB_UDPROW_OWNER_MODULE      pUdpEntry,
  [in]      TCPIP_OWNER_MODULE_INFO_CLASS Class,
  [out]     PVOID                         pBuffer,
  [in, out] PDWORD                        pdwSize
);

Parâmetros

[in] pUdpEntry

Um ponteiro para uma estrutura MIB_UDPROW_OWNER_MODULE que contém a entrada de ponto de extremidade UDP IPv4 usada para obter o módulo proprietário.

[in] Class

Um TCPIP_OWNER_MODULE_INFO_CLASS valor de enumeração que indica o tipo de dados a serem obtidos em relação ao módulo proprietário.

[out] pBuffer

O buffer que contém uma estrutura TCPIP_OWNER_MODULE_BASIC_INFO com os dados do módulo proprietário. O tipo de dados retornados nesse buffer é indicado pelo valor do parâmetro Class .

As estruturas a seguir são usadas para os dados em Buffer quando Class é definido como o valor correspondente.

Valor de enumeração de classe Formato de dados do buffer
TCPIP_OWNER_MODULE_BASIC_INFO TCPIP_OWNER_MODULE_BASIC_INFO

[in, out] pdwSize

O tamanho estimado, em bytes, da estrutura retornada em Buffer. 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.

Retornar valor

Se a chamada for bem-sucedida, o valor NO_ERROR será retornado. Caso contrário, o erro a seguir será retornado.

Código de retorno Descrição
ERROR_INSUFFICIENT_BUFFER
Espaço insuficiente foi alocado 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.

Comentários

O parâmetro Buffer contém não apenas uma estrutura com ponteiros para dados específicos, por exemplo, ponteiros para as cadeias de caracteres terminadas em zero que contêm o nome e o caminho do módulo proprietário, mas também os próprios dados reais; que são as cadeias de caracteres de nome e caminho. Portanto, ao calcular o tamanho do buffer, verifique se você tem espaço suficiente para a estrutura, bem como os dados para os quais os membros da estrutura apontam.

A resolução de entradas de tabela UDP para módulos de proprietário é uma prática recomendada. Em alguns casos, o nome do módulo proprietário retornado na estrutura TCPIP_OWNER_MODULE_BASIC_INFO pode ser um nome de processo, como "svchost.exe", um nome de serviço, como "RPC" ou um nome de componente, como "timer.dll".

Para computadores em execução no Windows Vista ou posterior, o acesso aos membros pModuleName e pModulePath da estrutura TCPIP_OWNER_MODULE_BASIC_INFO é limitado pelo UAC (controle de conta de usuário). Se um aplicativo que chama essa função for executado por um usuário conectado como um membro do grupo Administradores diferente do Administrador interno, essa chamada terá êxito, mas o acesso a esses membros retornará uma cadeia de caracteres vazia, a menos que o aplicativo tenha sido marcado no arquivo de manifesto com um requestedExecutionLevel definido como requireAdministrator. Se o aplicativo no Windows Vista ou posterior não tiver esse arquivo de manifesto, um usuário conectado como membro do grupo Administradores que não seja o Administrador interno deverá executar o aplicativo em um shell avançado como administrador interno (administrador RunAs) para acesso aos membros pModuleName e pModulePath protegidos a serem permitidos.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista, Windows XP com SP2 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008, Windows Server 2003 com SP1 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho iphlpapi.h
Biblioteca Iphlpapi.lib
DLL Iphlpapi.dll