IBackgroundCopyJobHttpOptions::SetCustomHeaders メソッド (bits2_5.h)

HTTP 要求に含める 1 つ以上のカスタム HTTP ヘッダーを指定します。

構文

HRESULT SetCustomHeaders(
  [in] LPCWSTR RequestHeaders
);

パラメーター

[in] RequestHeaders

HTTP 要求に追加するカスタム ヘッダーを含む Null で終わる文字列。 各ヘッダーは、復帰と改行 (CR/LF) 文字で終了する必要があります。 文字列は、null ターミネータを含め、16,384 文字に制限されています。

ジョブからカスタム ヘッダーを削除するには、 RequestHeaders パラメーターを NULL に設定 します

戻り値

次の表に、可能な戻り値の一部を示します。

リターン コード 説明
S_OK
正常終了しました。
BG_E_STRING_TOO_LONG
カスタム ヘッダーの長さは 16 KB を超えています。
BG_E_INVALID_STATE
ジョブの状態を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

こちらもご覧ください

IBackgroundCopyJobHttpOptions

IBackgroundCopyJobHttpOptions::GetCustomHeaders