Функция HttpAddUrl (http.h)
Функция HttpAddUrl регистрирует заданный URL-адрес, чтобы запросы, соответствующие ему, перенаправлялись в указанную очередь запросов API HTTP-сервера. Приложение может зарегистрировать несколько URL-адресов в одной очереди запросов с помощью повторных вызовов HttpAddUrl. Дополнительные сведения о том, как API HTTP-сервера сопоставляет URL-адреса запросов с зарегистрированными URL-адресами, см. в разделе UrlPrefix Strings.
Начиная с API HTTP-сервера версии 2.0 приложения должны вызывать HttpAddUrlToUrlGroup для регистрации URL-адреса; HttpAddUrl не следует использовать.
Синтаксис
HTTPAPI_LINKAGE ULONG HttpAddUrl(
[in] HANDLE RequestQueueHandle,
[in] PCWSTR FullyQualifiedUrl,
PVOID Reserved
);
Параметры
[in] RequestQueueHandle
Дескриптор очереди запросов, в которую будут направляться запросы по указанному URL-адресу. Создается очередь запросов, а ее дескриптор возвращается вызовом функции HttpCreateRequestQueue .
Windows Server 2003 с пакетом обновления 1 (SP1) и Windows XP с пакетом обновления 2 (SP2): Дескриптор очереди запросов создается функцией HttpCreateHttpHandle .
[in] FullyQualifiedUrl
Указатель на строку Юникода, содержащую правильно сформированную строку UrlPrefix , которая идентифицирует РЕГИСТРируемый URL-адрес.
Reserved
Защищены; значение должно иметь значение NULL.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение будет NO_ERROR.
Если функция завершается сбоем, возвращается один из следующих кодов ошибок.
Значение | Значение |
---|---|
|
Вызывающее приложение не имеет разрешения на регистрацию URL-адреса. |
|
Вызывающее приложение не вызывало HttpInitialize перед вызовом этой функции. |
|
Один из параметров недопустим. |
|
Указанный urlPrefix конфликтует с существующей регистрацией. |
|
Недостаточно ресурсов для завершения операции. |
|
Код системной ошибки, определенный в WinError.h. |
Комментарии
Как указано в разделе Строки UrlPrefix , спецификация схемы urlPrefix для регистрации должна быть либо в нижнем регистре "http", либо в нижнем регистре "https". Другие подстроки не являются допустимыми.
Кроме того, невозможно регистрировать URL-адреса с разными схемами на одном порту. То есть схемы "http" и "https" не могут сосуществовать на порту.
Кроме того, следует помнить, что HttpAddUrl регистрирует все переданные ему urlPrefix при условии, что строка имеет правильный формат. Любое подтверждение существования, доступности, владения или другой характеристики указанного пространства имен URL-адреса должно обрабатываться приложением.
Чтобы освободить ресурсы, выделенные в результате регистрации, выполняемой HttpAddUrl, выполните соответствующий вызов функции HttpRemoveUrl , когда приложение завершило работу с соответствующим пространством имен.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista, Windows XP с пакетом обновления 2 (SP2) [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | http.h |
Библиотека | Httpapi.lib |
DLL | Httpapi.dll |