Поделиться через


Функция InternetCombineUrlW (wininet.h)

Объединяет базовый и относительный URL-адрес в один URL-адрес. Результирующий URL-адрес канонизирован (см. InternetCanonicalizeUrl).

Синтаксис

BOOL InternetCombineUrlW(
  [in]      LPCWSTR lpszBaseUrl,
  [in]      LPCWSTR lpszRelativeUrl,
  [out]     LPWSTR  lpszBuffer,
  [in, out] LPDWORD lpdwBufferLength,
  [in]      DWORD   dwFlags
);

Параметры

[in] lpszBaseUrl

Указатель на строку, завершающуюся значением NULL, содержащую базовый URL-адрес.

[in] lpszRelativeUrl

Указатель на строку, завершающую значение NULL, содержащую относительный URL-адрес.

[out] lpszBuffer

Указатель на буфер, получающий объединенный URL-адрес.

[in, out] lpdwBufferLength

Указатель на переменную, содержащую размер буфера lpszBuffer в символах. Если функция выполнена успешно, этот параметр получает размер объединенного URL-адреса в символах, не включая символ конца NULL. Если функция завершается ошибкой, этот параметр получает размер требуемого буфера в символах (включая символ конца null).

[in] dwFlags

Управляет операцией функции. Этот параметр может быть одним из следующих значений.

Ценность Значение
ICU_BROWSER_MODE
Не кодирует или декодирует символы после "#" или "?", и не удаляет конечный пробел после "?". Если это значение не указано, весь URL-адрес закодирован и удаляется конечный пробел.
ICU_DECODE
Преобразует все %XX последовательности в символы, включая escape-последовательности, перед анализом URL-адреса.
ICU_ENCODE_PERCENT
Кодирует любые признаки процента, возникшие. По умолчанию знаки процента не кодируются. Это значение доступно в Microsoft Internet Explorer 5 и более поздних версиях.
ICU_ENCODE_SPACES_ONLY
Кодирует только пробелы.
ICU_NO_ENCODE
Не преобразует небезопасные символы в escape-последовательности.
ICU_NO_META
Не удаляет мета последовательности (например, "." и ".") из URL-адреса.

Возвращаемое значение

Возвращает TRUE, если выполнено успешно или FALSE в противном случае. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError. Возможные ошибки включают следующие.

Возвращаемый код Описание
ERROR_BAD_PATHNAME
Не удалось объединить URL-адреса.
ERROR_INSUFFICIENT_BUFFER
Буфер, предоставленный функции, был недостаточно или NULL. Значение, указанное параметром lpdwBufferLength, будет содержать количество байтов, необходимых для хранения объединенного URL-адреса.
ERROR_INTERNET_INVALID_URL
Недопустимый формат URL-адреса.
ERROR_INVALID_PARAMETER
Существует недопустимый параметр строки, буфера, размера буфера или флагов.

Замечания

Примечание WinINet не поддерживает реализации сервера. Кроме того, его не следует использовать из службы. Для реализации или служб сервера microsoft Windows HTTP Services (WinHTTP).
 

Заметка

Заголовок wininet.h определяет InternetCombineUrl как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка wininet.h
библиотеки Wininet.lib
DLL Wininet.dll

См. также

обработка единого указателя ресурсов

функций WinINet