WinHttpAddRequestHeadersEx 関数 (winhttp.h)

HTTP 要求ハンドルに 1 つ以上の HTTP 要求ヘッダーを追加し、個別の名前/値文字列を使用できるようにします。

構文

WINHTTPAPI DWORD WinHttpAddRequestHeadersEx(
  HINTERNET               hRequest,
  DWORD                   dwModifiers,
  ULONGLONG               ullFlags,
  ULONGLONG               ullExtra,
  DWORD                   cHeaders,
  WINHTTP_EXTENDED_HEADER *pHeaders
);

パラメーター

hRequest

型: IN HINTERNET

WinHttpOpenRequest の呼び出しによって返される HINTERNET ハンドル。

dwModifiers

型: IN DWORD

この関数のセマンティクスを変更するために使用されるフラグを含む符号なし long 整数値。 次のフラグの 1 つ以上を指定できます。

意味
WINHTTP_ADDREQ_FLAG_ADD
存在しない場合は、ヘッダーを追加します。 WINHTTP_ADDREQ_FLAG_REPLACEと共に使用されます。
WINHTTP_ADDREQ_FLAG_ADD_IF_NEW
ヘッダーがまだ存在しない場合にのみ、ヘッダーを追加します。それ以外の場合は、エラーが返されます。
WINHTTP_ADDREQ_FLAG_COALESCE
同じ名前のヘッダーをマージします。
WINHTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA
コンマを使用して、同じ名前のヘッダーをマージします。 たとえば、"Accept: text/*" の後に "Accept: audio/*" を追加すると、"Accept: text/*, audio/*" というヘッダーが 1 つになります。 これにより、最初に見つかったヘッダーがマージされます。 呼び出し元のアプリケーションは、マージされたヘッダーと個別のヘッダーに関して、まとまりのあるスキームを確保する必要があります。
WINHTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON
セミコロンを使用して、同じ名前のヘッダーをマージします。
WINHTTP_ADDREQ_FLAG_REPLACE
ヘッダーを置換または削除します。 ヘッダー値が空で、ヘッダーが見つかった場合は削除されます。 値が空でない場合は、置き換えられます。

ullFlags

型: IN ULONGLONG

WINHTTP_EXTENDED_HEADER_FLAG_UNICODEを渡して、渡される文字列が Unicode 文字列であることを示します。

ullExtra

型: IN ULONGLONG

予約済み。

cHeaders

型: IN DWORD

pHeaders 内の要素の数。

pHeaders

種類: _In_reads_(cHeaders) WINHTTP_EXTENDED_HEADER*

WINHTTP_EXTENDED_HEADER構造体の配列。

戻り値

操作の結果を示す状態コード。 返されるエラー コードの中には、次のエラー コードがあります。

エラー コード 説明
ERROR_WINHTTP_INCORRECT_HANDLE_STATE
指定されたハンドルが正しい状態でないため、要求された操作を実行できません。
ERROR_WINHTTP_INCORRECT_HANDLE_TYPE
指定されたハンドルの種類がこの操作に対して正しくありません。
ERROR_WINHTTP_INTERNAL_ERROR
内部エラーが発生しました。
ERROR_NOT_ENOUGH_MEMORY
要求された操作を完了するのに十分なメモリが使用できませんでした。

要件

要件
サポートされている最小のクライアント Windows 10 ビルド 20348
サポートされている最小のサーバー Windows 10 ビルド 20348
対象プラットフォーム Windows
ヘッダー winhttp.h
Library Winhttp.lib
[DLL] Winhttp.dll

こちらもご覧ください