共用方式為


IBackgroundCopyJobHttpOptions::SetCustomHeaders 方法(bits2_5.h)

指定一個或多個自訂 HTTP 標頭,以納入 HTTP 請求中。

語法

HRESULT SetCustomHeaders(
  [in] LPCWSTR RequestHeaders
);

參數

[in] RequestHeaders

空終止字串,包含可附加於 HTTP 請求的自訂標頭。 每個標頭必須以回車與換行(CR/LF)字元結束。 字串的字元數限制為 16,384 個字元,包括空終止符。

若要移除工作中的自訂標頭,請將 RequestHeaders 參數設為 NULL。

返回值

下表列出了一些可能的回傳值。

回傳碼 Description
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();
  }

需求

Requirement 價值觀
最低支援的用戶端 Windows Vista
支援的最低伺服器 Windows 伺服器 2008
目標平臺 窗戶
Header bits2_5.h(包含 Bits.h)
Library Bits.lib

另請參閱

IBackgroundCopyJobHttpOptions

IBackgroundCopyJobHttpOptions::GetCustomHeaders