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


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

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

Синтаксис

LWSTDAPI UrlApplySchemeW(
  [in]      PCWSTR pszIn,
  [out]     PWSTR  pszOut,
  [in, out] DWORD  *pcchOut,
            DWORD  dwFlags
);

Параметры

[in] pszIn

Тип: PCTSTR

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

[out] pszOut

Тип: PTSTR

Указатель на буфер, который, когда эта функция возвращается успешно, получает строку, завершающую значение NULL, в URL-адрес, указанный pszIn и преобразован в стандартную схему ://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

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

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

Тип: 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 Профессиональный, Windows XP [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка shlwapi.h
библиотеки Shlwapi.lib
DLL Shlwapi.dll (версия 5.0 или более поздняя версия)