共用方式為


IBackgroundCopyJobHttpOptions::SetCustomHeaders 方法 (bits2_5.h)

指定要包含在 HTTP 要求中的一或多個自訂 HTTP 標頭。

語法

HRESULT SetCustomHeaders(
  [in] LPCWSTR RequestHeaders
);

參數

[in] RequestHeaders

以 Null 結束的字串,其中包含要附加至 HTTP 要求的自定義標頭。 每個標頭都必須以歸位字元和換行字元 (CR/LF) 字元終止。 字串限制為 16,384 個字元,包括 Null 終止符。

若要從作業中移除自定義標頭,請將 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();
  }

規格需求

需求
最低支援的用戶端 Windows Vista
最低支援的伺服器 Windows Server 2008
目標平台 Windows
標頭 bits2_5.h (包含 Bits.h)
程式庫 Bits.lib

另請參閱

IBackgroundCopyJobHttpOptions

IBackgroundCopyJobHttpOptions::GetCustomHeaders