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


Функция UrlApplySchemeA (shlwapi.h)

Определяет схему для указанной строки URL-адреса и возвращает строку с соответствующим префиксом.

Синтаксис

LWSTDAPI UrlApplySchemeA(
  [in]      PCSTR pszIn,
  [out]     PSTR  pszOut,
  [in, out] DWORD *pcchOut,
            DWORD dwFlags
);

Параметры

[in] pszIn

Тип: PCTSTR

Строка, заканчивающаяся null максимальной длиной INTERNET_MAX_URL_LENGTH, содержащая URL-адрес.

[out] pszOut

Тип: PTSTR

Указатель на буфер, который при успешном возвращении этой функции получает строку со значением NULL, заданную на URL-адрес, заданный в pszIn , и преобразуется в стандартный формат scheme://URL_string .

[in, out] pcchOut

Тип: DWORD*

Адрес значения, заданного числом символов в буфере pszOut . Когда функция возвращает значение, это значение зависит от того, является ли функция успешной или возвращает E_POINTER. Для других возвращаемых значений значение этого параметра не имеет смысла.

dwFlags

Тип: DWORD

Флаги, указывающие способ определения схемы. Можно объединить следующие флаги.

URL_APPLY_DEFAULT

Примените схему по умолчанию, если UrlApplyScheme не может определить ее. Префикс по умолчанию хранится в реестре, но обычно имеет значение "http".

URL_APPLY_GUESSSCHEME

Попробуйте определить схему, изучив pszIn.

URL_APPLY_GUESSFILE

Попробуйте определить URL-адрес файла из pszIn.

URL_APPLY_FORCEAPPLY

Принудительное определение схемы для pszIn в UrlApplyScheme .

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

Тип: HRESULT

Возвращает стандартное возвращаемое значение COM, включая следующее.

Код возврата Описание
S_OK
Была определена схема. pszOut указывает на строку, содержащую URL-адрес с префиксом схемы. Значение pcchOut равно количеству символов в строке, не считая завершающего символа NULL .
S_FALSE
Ошибок не было, но префикс не был добавлен.
E_POINTER
Буфер был слишком мал. Для параметра pcchOut устанавливается минимальное количество символов, которое должен содержать буфер, включая завершающий символ NULL .

Комментарии

Если URL-адрес имеет допустимую схему, строка не будет изменена. Однако почти любое сочетание двух или более символов, за которым следует двоеточие, будет проанализировано как схема. Допустимые символы включают некоторые распространенные знаки препинания, например ". Если входная строка соответствует этому описанию, UrlApplyScheme может считать ее допустимой и не применять схему. Чтобы принудить функцию применить схему к URL-адресу, задайте флаги URL_APPLY_FORCEAPPLY и URL_APPLY_DEFAULT в dwFlags. Это сочетание флагов заставляет функцию применять схему к URL-адресу. Как правило, функция не сможет определить допустимую схему. Второй флаг гарантирует, что, если не удается определить допустимую схему, функция применит схему по умолчанию к URL-адресу.

Примечание

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

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional, Windows XP [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header shlwapi.h
Библиотека Shlwapi.lib
DLL Shlwapi.dll (версия 5.0 или более поздняя)