HttpCreateRequestQueue 関数 (http.h)
HttpCreateRequestQueue 関数は、新しい要求キューを作成するか、既存の要求キューを開きます。
この関数は、HTTP バージョン 1.0 HttpCreateHttpHandle 関数に置き換えられます。
構文
HTTPAPI_LINKAGE ULONG HttpCreateRequestQueue(
[in] HTTPAPI_VERSION Version,
[in, optional] PCWSTR Name,
[in, optional] PSECURITY_ATTRIBUTES SecurityAttributes,
[in, optional] ULONG Flags,
[out] PHANDLE RequestQueueHandle
);
パラメーター
[in] Version
要求キューのバージョンを示すHTTPAPI_VERSION構造体。 バージョン 2.0 では、構造体のインスタンスを宣言し、httpCreateRequestQueue
バージョンは 2.0 である必要があります。httpCreateRequestQueue
[in, optional] Name
要求キューの名前。 長さ (バイト単位) は、MAX_PATHを超えることはできません。
省略可能な名前パラメーターを使用すると、他のプロセスが名前で要求キューにアクセスできます。
[in, optional] SecurityAttributes
要求キューのアクセス許可を含む SECURITY_ATTRIBUTES 構造体へのポインター。
このパラメーターは、既存の要求キューを開くときに NULL
[in, optional] Flags
flags パラメーターは、要求キューのスコープを定義します。 このパラメーターには、次の 1 つ以上を指定できます。
[out] RequestQueueHandle
要求キューへのハンドルを受け取る変数へのポインター。 このパラメーターには有効なポインターが含まれている必要があります。NULL
戻り値
関数が成功すると、NO_ERROR が返されます。
関数が失敗すると、次のいずれかのエラー コードが返されます。
価値 | 意味 |
---|---|
|
Version パラメーターに無効なバージョンが含まれています。 |
|
要求キュー名の長さ (バイト単位) は、MAX_PATHを超えることはできません。
HTTP_CREATE_REQUEST_QUEUE_FLAG_CONTROLLER は、要求キューの作成時にのみ設定できます。
HTTP_CREATE_REQUEST_QUEUE_FLAG_OPEN_EXISTING は、アプリケーションが既存の要求キューを開くアクセス許可を持っている場合にのみ設定できます。 この場合、 HttpCreateRequestQueue によって返される |
|
pName パラメーターは、同じ名前を含む既存の要求キューと競合します。 |
|
呼び出し元のプロセスには、要求キューを開くアクセス許可がありません。 |
|
HttpCreateRequestQueueを呼び出す前に、アプリケーション |
備考
HTTP Server API では、バージョン 1.0 の要求キューを使用する既存のアプリケーションがサポートされていますが、HTTP Server API を使用した新しい開発では、要求キューを作成するために HttpCreateRequestQueue
HTTP バージョン 2 要求キューには手動構成が必要です。アプリケーションは、
pSecurityAttributes パラメーターでは、要求キューが作成された場合にのみ、セキュリティ属性を指定できます。 要求キューを作成するアプリケーションのみが、要求キュー ハンドルにアクセス制御リスト (ACL) を設定して、プロセス (作成者アプリケーション以外) が要求を開いたり、要求を受信したり、要求キュー ハンドルで応答を送信したりできるようにすることができます。 既定では、ACL でアクセス許可が付与されていない限り、アプリケーションは要求キューを開くことはできません。
作成者プロセスでは、必要に応じて HTTP_CREATE_REQUEST_QUEUE_FLAG_CONTROLLER フラグを使用して、http 要求を受信しないことを示すことができます。
HttpCreateRequestQueue を使用すると、アプリケーションは、HTTP_CREATE_REQUEST_QUEUE_FLAG_OPEN_EXISTING フラグを使用して既存の要求キューを開き、要求キューへのハンドルを取得できます。 コントローラー以外のアプリケーションでは、このハンドルを使用して HTTP I/O 操作を実行できます。 要求キューを作成するアプリケーションのみが、HttpSetRequestQueuePropertyを呼び出すことによって、そのキューにプロパティを設定できます。
HttpCreateRequestQueue によって作成された要求キューへのハンドルは、アプリケーションが終了する前またはセッションが不要になったとき HttpCloseRequestQueue を呼び出すことによって閉じる必要があります。
アプリケーションは、httpCreateRequestQueue
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows Server 2008 [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | http.h |
ライブラリ | Httpapi.lib |
DLL | Httpapi.dll |
関連項目
HTTP Server API バージョン 2.0 Functions
HttpCloseRequestQueue の
HttpCreateHttpHandle を
HttpQueryRequestQueueProperty の
HttpSetRequestQueueProperty の
HttpShutdownRequestQueue を