Función HttpAddUrl (http.h)

La función HttpAddUrl registra una dirección URL determinada para que las solicitudes que coincidan con ella se enrutan a una cola de solicitudes de API del servidor HTTP especificada. Una aplicación puede registrar varias direcciones URL en una sola cola de solicitudes mediante llamadas repetidas a HttpAddUrl. Para obtener más información sobre cómo la API del servidor HTTP coincide con las direcciones URL de solicitud a las direcciones URL registradas, consulte Cadenas de urlPrefix.

A partir de http Server API versión 2.0, las aplicaciones deben llamar a HttpAddUrlToUrlGroup para registrar una dirección URL; No se debe usar HttpAddUrl .

Sintaxis

HTTPAPI_LINKAGE ULONG HttpAddUrl(
  [in] HANDLE RequestQueueHandle,
  [in] PCWSTR FullyQualifiedUrl,
       PVOID  Reserved
);

Parámetros

[in] RequestQueueHandle

Identificador de la cola de solicitudes a la que se enrutarán las solicitudes de la dirección URL especificada. Se crea una cola de solicitudes y su identificador devuelto por una llamada a la función HttpCreateRequestQueue .

Windows Server 2003 con SP1 y Windows XP con SP2: El identificador de la cola de solicitudes se crea mediante la función HttpCreateHttpHandle .

[in] FullyQualifiedUrl

Puntero a una cadena Unicode que contiene una cadena UrlPrefix con el formato correcto que identifica la dirección URL que se va a registrar.

Reserved

Reservados; debe ser NULL.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es NO_ERROR.

Si se produce un error en la función, el valor devuelto es uno de los siguientes códigos de error.

Valor Significado
ERROR_ACCESS_DENIED
La aplicación que realiza la llamada no tiene permiso para registrar la dirección URL.
ERROR_DLL_INIT_FAILED
La aplicación que realiza la llamada no llamó a HttpInitialize antes de llamar a esta función.
ERROR_INVALID_PARAMETER
Uno de los parámetros no es válido.
ERROR_ALREADY_EXISTS
UrlPrefix especificado entra en conflicto con un registro existente.
ERROR_NOT_ENOUGH_MEMORY
Recursos insuficientes para completar la operación.
Otros
Código de error del sistema definido en WinError.h.

Comentarios

Como se indica en el tema Cadenas urlPrefix , la especificación de esquema del urlPrefix que se va a registrar debe ser "http" o "https" en minúsculas. Ninguna otra subcadena es válida.

Además, no es posible registrar direcciones URL que tengan esquemas diferentes en el mismo puerto. Es decir, los esquemas "http" y "https" no pueden coexistir en un puerto.

Tenga en cuenta también que HttpAddUrl registra cualquier urlPrefix que se le pase siempre que la cadena tenga un formato correcto. La aplicación debe controlar cualquier validación de existencia, accesibilidad, propiedad u otra característica del espacio de nombres de dirección URL especificado.

Para liberar los recursos asignados como resultado del registro realizado por HttpAddUrl, realice una llamada coincidente a la función HttpRemoveUrl cuando la aplicación haya terminado con el espacio de nombres implicado.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista, Windows XP con SP2 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado http.h
Library Httpapi.lib
Archivo DLL Httpapi.dll

Consulte también

Funciones de la API de servidor HTTP versión 1.0

HttpAddUrlToUrlGroup

HttpRemoveUrl