HttpAddUrl 関数 (http.h)

HttpAddUrl 関数は、指定された URL を登録して、それに一致する要求が指定された HTTP Server API 要求キューにルーティングされるようにします。 アプリケーションは、 HttpAddUrl への繰り返しの呼び出しを使用して、1 つの要求キューに複数の URL を登録できます。 HTTP Server API が登録されている URL に対する要求 URL と一致する方法の詳細については、「 UrlPrefix 文字列」を参照してください。

HTTP Server API バージョン 2.0 以降では、アプリケーションは HttpAddUrlToUrlGroup を呼び出して URL を登録する必要があります。 HttpAddUrl は 使用しないでください。

構文

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

パラメーター

[in] RequestQueueHandle

指定した URL の要求をルーティングする要求キューへのハンドル。 要求キューが作成され、そのハンドルが HttpCreateRequestQueue 関数の呼び出しによって返されます。

Windows Server 2003 SP1 と Windows XP SP2: 要求キューへのハンドルは、 HttpCreateHttpHandle 関数によって作成されます。

[in] FullyQualifiedUrl

登録する URL を識別する適切な形式の UrlPrefix 文字列 を含む Unicode 文字列へのポインター。

Reserved

予約; は NULL である必要があります。

戻り値

関数が成功した場合、戻り値は NO_ERROR

関数が失敗した場合、戻り値は次のいずれかのエラー コードになります。

意味
ERROR_ACCESS_DENIED
呼び出し元のアプリケーションには、URL を登録するアクセス許可がありません。
ERROR_DLL_INIT_FAILED
呼び出し元のアプリケーションは、この関数を呼び出す前に HttpInitialize を呼び出しませんでした。
ERROR_INVALID_PARAMETER
いずれかのパラメーターが無効です。
ERROR_ALREADY_EXISTS
指定した UrlPrefix は、既存の登録と競合します。
ERROR_NOT_ENOUGH_MEMORY
操作を完了するためのリソースが不足しています。
その他
WinError.h で定義されている システム エラー コード

注釈

「UrlPrefix 文字列」トピックで説明されているように、登録する UrlPrefix のスキーム仕様は、小文字の "http" または小文字の "https" である必要があります。 他の部分文字列は有効ではありません。

また、同じポートに異なるスキームを持つ URL を登録することはできません。 つまり、"http" スキームと "https" スキームはポート上で共存できません。

また、 HttpAddUrl は、文字列が整形式である限り、渡された UrlPrefix を登録します。 指定された URL 名前空間の存在、アクセシビリティ、所有権、またはその他の特性の検証は、アプリケーションで処理する必要があります。

HttpAddUrl によって実行された登録の結果として割り当てられたリソースを解放するには、アプリケーションが名前空間が関係して終了したときに、HttpRemoveUrl 関数の一致する呼び出しを行います。

要件

要件
サポートされている最小のクライアント Windows Vista、SP2 を使用した Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー http.h
Library Httpapi.lib
[DLL] Httpapi.dll

こちらもご覧ください

HTTP Server API バージョン 1.0 関数

HttpAddUrlToUrlGroup

HttpRemoveUrl