Bagikan melalui


Metode IBackgroundCopyJobHttpOptions::SetCustomHeaders (bits2_5.h)

Menentukan satu atau beberapa header HTTP kustom untuk disertakan dalam permintaan HTTP.

Sintaks

HRESULT SetCustomHeaders(
  [in] LPCWSTR RequestHeaders
);

Parameter

[in] RequestHeaders

String yang dihentikan null yang berisi header kustom untuk ditambahkan ke permintaan HTTP. Setiap header harus dihentikan oleh karakter pengembalian pengangkutan dan umpan baris (CR/LF). String dibatasi hingga 16.384 karakter, termasuk terminator null.

Untuk menghapus header kustom dari pekerjaan, atur parameter RequestHeaders ke NULL.

Nilai kembali

Tabel berikut ini mencantumkan beberapa nilai yang mungkin dikembalikan.

Menampilkan kode Deskripsi
S_OK
Berhasil.
BG_E_STRING_TOO_LONG
Panjang header kustom lebih dari 16 KB.
BG_E_INVALID_STATE
Status pekerjaan tidak dapat BG_JOB_STATE_CANCELLED atau BG_JOB_STATE_ACKNOWLEDGED.

Keterangan

Header kustom hanya berlaku untuk file jarak jauh yang menggunakan protokol HTTP atau HTTPS. Anda dapat menentukan header kustom untuk semua jenis pekerjaan.

Hanya pemilik pekerjaan yang dapat menentukan header kustom. Jika pekerjaan mengubah kepemilikan, BITS akan menghapus header dari pekerjaan.

Perhatikan bahwa jika beberapa permintaan HTTP dikirim, header dikirim dengan setiap permintaan.

ISAPI yang memproses header kustom dapat mengembalikan kesalahan HTTP jika header tidak valid. Untuk detail tentang cara BITS menangani kesalahan, lihat Menangani Kesalahan Aplikasi Server.

Contoh

Contoh berikut menunjukkan cara menentukan header kustom untuk pekerjaan. Contoh mengasumsikan bahwa pJob menunjuk ke pekerjaan yang valid.

// 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();
  }

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista
Server minimum yang didukung Windows Server 2008
Target Platform Windows
Header bits2_5.h (termasuk Bits.h)
Pustaka Bits.lib

Lihat juga

IBackgroundCopyJobHttpOptions

IBackgroundCopyJobHttpOptions::GetCustomHeaders