Função HttpAddUrl (http.h)

A função HttpAddUrl registra uma determinada URL para que as solicitações que correspondem a ela sejam roteadas para uma fila de solicitações de API do Servidor HTTP especificada. Um aplicativo pode registrar várias URLs em uma única fila de solicitações usando chamadas repetidas para HttpAddUrl. Para obter mais informações sobre como a API do Servidor HTTP corresponde às URLs de solicitação a URLs registradas, consulte Cadeias de caracteres urlPrefix.

A partir da versão 2.0 da API do Servidor HTTP, os aplicativos devem chamar HttpAddUrlToUrlGroup para registrar uma URL; HttpAddUrl não deve ser usado.

Sintaxe

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

Parâmetros

[in] RequestQueueHandle

O identificador para a fila de solicitações para a qual as solicitações para a URL especificada devem ser roteadas. Uma fila de solicitação é criada e seu identificador retornado por uma chamada para a função HttpCreateRequestQueue .

Windows Server 2003 com SP1 e Windows XP com SP2: O identificador para a fila de solicitação é criado pela função HttpCreateHttpHandle .

[in] FullyQualifiedUrl

Um ponteiro para uma cadeia de caracteres Unicode que contém uma cadeia de caracteres UrlPrefix formada corretamente que identifica a URL a ser registrada.

Reserved

Reservados; deve ser NULL.

Retornar valor

Se a função for bem-sucedida, o valor retornado será NO_ERROR.

Se a função falhar, o valor retornado será um dos códigos de erro a seguir.

Valor Significado
ERROR_ACCESS_DENIED
O aplicativo de chamada não tem permissão para registrar a URL.
ERROR_DLL_INIT_FAILED
O aplicativo de chamada não chamou HttpInitialize antes de chamar essa função.
ERROR_INVALID_PARAMETER
Um dos parâmetros é inválido.
ERROR_ALREADY_EXISTS
O UrlPrefix especificado está em conflito com um registro existente.
ERROR_NOT_ENOUGH_MEMORY
Recursos insuficientes para concluir a operação.
Outros
Um código de erro do sistema definido em WinError.h.

Comentários

Conforme mencionado no tópico Cadeias de Caracteres urlPrefix , a especificação de esquema do UrlPrefix a ser registrado deve ser "http" em letras minúsculas ou "https" em letras minúsculas. Nenhuma outra subcadeia de caracteres é válida.

Além disso, não é possível registrar URLs com esquemas diferentes na mesma porta. Ou seja, os esquemas "http" e "https" não podem coexistir em uma porta.

Lembre-se também de que HttpAddUrl registra qualquer UrlPrefix passado para ele, desde que a cadeia de caracteres esteja bem formada. Qualquer validação de existência, acessibilidade, propriedade ou outra característica do namespace de URL especificado deve ser tratada pelo aplicativo.

Para liberar os recursos alocados como resultado do registro executado por HttpAddUrl, faça uma chamada correspondente para a função HttpRemoveUrl quando o aplicativo tiver terminado com o namespace envolvido.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista, Windows XP com SP2 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho http.h
Biblioteca Httpapi.lib
DLL Httpapi.dll

Confira também

Funções da API do Servidor HTTP versão 1.0

HttpAddUrlToUrlGroup

HttpRemoveUrl