Compartilhar via


NetAddr_GetAddress macro (shellapi.h)

Indica se um endereço de rede está em conformidade com um tipo e um formato especificados.

Sintaxe

HRESULT NetAddr_GetAddress(
             HWND hwnd,
  [in, out]  LPARAM pv
);

Parâmetros

hwnd

Um identificador para o controle de endereço de rede que contém o endereço a ser validado.

[in, out] pv

Um ponteiro para uma estrutura NC_ADDRESS para receber informações de endereço de rede no formato analisado, se o formato de endereço e o tipo no controle especificado pelo hwnd forem validados. O aplicativo de chamada é responsável por alocar a memória para essa estrutura.

Valor de retorno

Tipo: HRESULT

Retorna um dos seguintes valores do tipo HRESULT:

  • E_INVALIDARG - O aplicativo de chamada falhou ao alocar uma estrutura de NC_ADDRESS .
  • ERROR_INSUFFICIENT_BUFFER - O buffer de saída é muito pequeno para manter o endereço de rede analisado.
  • ERROR_INVALID_PARAMETER - A cadeia de caracteres de endereço de rede não é de nenhum tipo especificado.
  • ERROR_SUCCESS - A operação foi bem-sucedida.
  • S_FALSE - Não há nenhum endereço no controle de endereço de rede a ser validado.

Observações

Use a macro NetAddr_GetAddress para validar um endereço de rede em um controle de endereço de rede em uma máscara de tipo de endereço de rede predefinida. Para criar uma instância, use a classe msctls_netaddress definida em Shellapi.h. Chame InitNetworkAddressControl em tempo de execução antes de chamar essa macro. Isso inicializa a biblioteca de controles comuns que contém o controle de endereço de rede.

Essa macro obtém a cadeia de caracteres de endereço de rede de um controle de endereço de rede, analisa a cadeia de caracteres e verifica se a cadeia de caracteres corresponde a uma máscara de tipo de endereço de rede. Se a cadeia de caracteres corresponder à máscara, a função retornará S_OK e retornará a cadeia de caracteres em forma analisada para o aplicativo de chamada (incluindo o número da porta, o tamanho do prefixo e outras informações de endereço), usando a estrutura NC_ADDRESS apontada por pv. Essa macro retornará E_INVALIDARG se o aplicativo de chamada falhar ao alocar a estrutura apontada por pv.

As representações das versões de endereço IP (protocolo IP) 4 e 6 (v4/v6) para serviços e redes, bem como endereços e serviços da Internet nomeados usando o formato DNS (Sistema de Nomes de Domínio) são analisadas. Se a cadeia de caracteres de endereço de rede representar um DNS (nome de host) ou serviço nomeado, o valor retornado no membro PrefixLength de NC_ADDRESS será zero.

Defina a máscara de tipo de endereço de rede usando a macro NetAddr_SetAllowType antes de chamar a macro NetAddr_GetAddress .

Requisitos

Requisito Valor
Cliente mínimo suportado Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo compatível Windows Server 2008 [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho shellapi.h

Consulte também

NetAddr_GetAllowType