IBackgroundCopyJobHttpOptions::SetCustomHeaders メソッド (bits2_5.h)
HTTP 要求に含める 1 つ以上のカスタム HTTP ヘッダーを指定します。
構文
HRESULT SetCustomHeaders(
[in] LPCWSTR RequestHeaders
);
パラメーター
[in] RequestHeaders
HTTP 要求に追加するカスタム ヘッダーを含む Null で終わる文字列。 各ヘッダーは、復帰と改行 (CR/LF) 文字で終了する必要があります。 文字列は、null ターミネータを含め、16,384 文字に制限されています。
ジョブからカスタム ヘッダーを削除するには、 RequestHeaders パラメーターを NULL に設定 します。
戻り値
次の表に、可能な戻り値の一部を示します。
リターン コード | 説明 |
---|---|
|
正常終了しました。 |
|
カスタム ヘッダーの長さは 16 KB を超えています。 |
|
ジョブの状態をBG_JOB_STATE_CANCELLEDまたはBG_JOB_STATE_ACKNOWLEDGEDすることはできません。 |
注釈
カスタム ヘッダーは、HTTP または HTTPS プロトコルを使用するリモート ファイルにのみ適用されます。 すべてのジョブの種類にカスタム ヘッダーを指定できます。
ジョブ所有者のみがカスタム ヘッダーを指定できます。 ジョブが所有権を変更すると、BITS によってジョブからヘッダーが削除されます。
複数の HTTP 要求が送信される場合、ヘッダーは各要求と共に送信されることに注意してください。
カスタム ヘッダーを処理する ISAPI は、ヘッダーが無効な場合に HTTP エラーを返すことができます。 BITS でエラーが処理される方法の詳細については、「 サーバー アプリケーション エラーの処理」を参照してください。
例
次の例は、ジョブのカスタム ヘッダーを指定する方法を示しています。 この例では、pJob が有効なジョブを指していることを前提としています。
// Custom headers to include in job.
#define HEADERS L"MyHeader_1: Header One Value\r\n" \
L"MyHeader_2: Header Two Value\r\n" \
L"MyHeader_3: Header Three Value\r\n"
HRESULT hr = S_OK;
IBackgroundCopyJob* pJob = NULL;
IBackgroundCopyJobHttpOptions* pHttpOptions = NULL;
hr = pJob->QueryInterface(__uuidof(IBackgroundCopyJobHttpOptions), (void**)&pHttpOptions);
pJob->Release();
if (FAILED(hr))
{
wprintf(L"pJob->QueryInterface failed with 0x%x.\n", hr);
goto cleanup;
}
hr = pHttpOptions->SetCustomHeaders(HEADERS);
if (FAILED(hr))
{
wprintf(L"pHttpOptions->SetCustomHeaders failed with 0x%x.\n", hr);
goto cleanup;
}
cleanup:
if (pHttpOptions)
{
hr = pHttpOptions->Release();
}
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista |
サポートされている最小のサーバー | Windows Server 2008 |
対象プラットフォーム | Windows |
ヘッダー | bits2_5.h (Bits.h を含む) |
Library | Bits.lib |