Функция InternetCrackUrlA (wininet.h)
Взломает URL-адрес в его части компонентов.
Синтаксис
BOOL InternetCrackUrlA(
[in] LPCSTR lpszUrl,
[in] DWORD dwUrlLength,
[in] DWORD dwFlags,
[in, out] LPURL_COMPONENTSA lpUrlComponents
);
Параметры
[in] lpszUrl
Указатель на строку, содержащую канонический URL-адрес для взлома.
[in] dwUrlLength
Размер строки lpszUrl в TCHARs или ноль, если lpszUrl является строкой ASCIIZ.
[in] dwFlags
Управляет операцией. Этот параметр может быть одним из следующих значений.
Ценность | Значение |
---|---|
|
Преобразует закодированные символы обратно в их обычную форму. Это можно использовать только в том случае, если пользователь предоставляет буферы в структуре URL_COMPONENTS для копирования компонентов в. |
|
Преобразует все escape-последовательности (%xx) в соответствующие символы. Это можно использовать только в том случае, если пользователь предоставляет буферы в структуре URL_COMPONENTS для копирования компонентов в. |
[in, out] lpUrlComponents
Указатель на структуру URL_COMPONENTS, которая получает компоненты URL-адреса.
Возвращаемое значение
Возвращает TRUE, если функция выполнена успешно или FALSE в противном случае. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.
Замечания
Обязательные компоненты указываются членами структуры URL_COMPONENTS. Каждый компонент имеет указатель на значение и имеет элемент, который сохраняет длину сохраненного значения. Если значение и длина компонента равны нулю, этот компонент не возвращается. Windows Vista и более поздних версий. Если указатель на значение компонента равен NULL и значение соответствующего элемента длины ненулево, адрес первого символа соответствующего компонента в строке lpszUrl хранится в указателе, а длина компонента хранится в элементе длины.
Если указатель содержит адрес предоставленного пользователем буфера, элемент длины должен содержать размер буфера. InternetCrackUrl копирует компонент в буфер, а для элемента длины задана длина скопированного компонента минус 1 для конечного строкового конца.
Чтобы InternetCrackUrl правильно работал, размер структуры URL_COMPONENTS в байтах должен храниться в члене dwStructSize.
Примечание Не используйте InternetCrackUrl на URL-адресах "file://", содержащих пробелы, так как значение, возвращаемое в dwUrlPathLength члена структуры URL_COMPONENTS, на которую указывает lpUrlComponents слишком велик. Однако это только в случае с URL-адресами "file://", содержащими пробелы.
Как и все остальные аспекты API WinINet, эта функция не может быть безопасно вызвана из dllMain или конструкторов и деструкторов глобальных объектов.
Заметка
Заголовок wininet.h определяет InternetCrackUrl как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | wininet.h |
библиотеки |
Wininet.lib |
DLL | Wininet.dll |
См. также
обработка единого указателя ресурсов
функций WinINet