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


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

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

Синтаксис

BOOL InternetCombineUrlA(
  [in]      LPCSTR  lpszBaseUrl,
  [in]      LPCSTR  lpszRelativeUrl,
  [out]     LPSTR   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 Обозреватель 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
Имеется недопустимый параметр строки, буфера, размера буфера или параметра flags.

Комментарии

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

Примечание

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

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header wininet.h
Библиотека Wininet.lib
DLL Wininet.dll

См. также раздел

Обработка универсальных указателей ресурсов

Функции WinINet