Função InternetCombineUrlA (wininet.h)

Combina uma URL base e relativa em uma única URL. A URL resultante é canônica (consulte InternetCanonicalizeUrl).

Sintaxe

BOOL InternetCombineUrlA(
  [in]      LPCSTR  lpszBaseUrl,
  [in]      LPCSTR  lpszRelativeUrl,
  [out]     LPSTR   lpszBuffer,
  [in, out] LPDWORD lpdwBufferLength,
  [in]      DWORD   dwFlags
);

Parâmetros

[in] lpszBaseUrl

Ponteiro para uma cadeia de caracteres terminada em nulo que contém a URL base.

[in] lpszRelativeUrl

Ponteiro para uma cadeia de caracteres terminada em nulo que contém a URL relativa.

[out] lpszBuffer

Ponteiro para um buffer que recebe a URL combinada.

[in, out] lpdwBufferLength

Ponteiro para uma variável que contém o tamanho do buffer lpszBuffer , em caracteres. Se a função for bem-sucedida, esse parâmetro receberá o tamanho da URL combinada, em caracteres, sem incluir o caractere de terminação nula. Se a função falhar, esse parâmetro receberá o tamanho do buffer necessário, em caracteres (incluindo o caractere de terminação nula).

[in] dwFlags

Controla a operação da função. Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
ICU_BROWSER_MODE
Não codifica ou decodifica caracteres após "#" ou "?", e não remove o espaço em branco à direita após "?". Se esse valor não for especificado, toda a URL será codificada e o espaço em branco à direita será removido.
ICU_DECODE
Converte todas as sequências %XX em caracteres, incluindo sequências de escape, antes que a URL seja analisada.
ICU_ENCODE_PERCENT
Codifica qualquer sinal de porcentagem encontrado. Por padrão, os sinais de porcentagem não são codificados. Esse valor está disponível na Internet da Microsoft Explorer 5 e posteriores.
ICU_ENCODE_SPACES_ONLY
Codifica apenas espaços.
ICU_NO_ENCODE
Não converte caracteres não seguros em sequências de escape.
ICU_NO_META
Não remove meta sequências (como "." e "..") da URL.

Retornar valor

Retornará TRUE se tiver êxito ou FALSE caso contrário. Para obter informações de erro estendidas, chame GetLastError. Os possíveis erros incluem o seguinte.

Código de retorno Descrição
ERROR_BAD_PATHNAME
As URLs não puderam ser combinadas.
ERROR_INSUFFICIENT_BUFFER
O buffer fornecido para a função era insuficiente ou NULL. O valor indicado pelo parâmetro lpdwBufferLength conterá o número de bytes necessários para manter a URL combinada.
ERROR_INTERNET_INVALID_URL
O formato da URL é inválido.
ERROR_INVALID_PARAMETER
Há um parâmetro de cadeia de caracteres, buffer, tamanho do buffer ou sinalizadores inválidos.

Comentários

Nota O WinINet não dá suporte a implementações de servidor. Além disso, ele não deve ser usado de um serviço. Para implementações de servidor ou serviços, use Os Serviços HTTP do Microsoft Windows (WinHTTP).
 

Observação

O cabeçalho wininet.h define InternetCombineUrl como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho wininet.h
Biblioteca Wininet.lib
DLL Wininet.dll

Confira também

Manipulando localizadores de recursos uniformes

Funções WinINet