Метод IBackgroundCopyJobHttpOptions::SetCustomHeaders (bits2_5.h)
Указывает один или несколько настраиваемых заголовков HTTP для включения в HTTP-запросы.
Синтаксис
HRESULT SetCustomHeaders(
[in] LPCWSTR RequestHeaders
);
Параметры
[in] RequestHeaders
Строка, завершающаяся значением NULL, которая содержит пользовательские заголовки для добавления в HTTP-запрос. Каждый заголовок должен заканчиваться символом возврата каретки и перевода строки (CR/LF). Длина строки ограничена 16 384 символами, включая признак конца null.
Чтобы удалить пользовательские заголовки из задания, задайте для параметра RequestHeadersзначение NULL.
Возвращаемое значение
В следующей таблице перечислены некоторые из возможных возвращаемых значений.
Код возврата | Описание |
---|---|
|
Успешно. |
|
Длина пользовательских заголовков составляет более 16 КБ. |
|
Состояние задания не может быть 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 |
Header | bits2_5.h (включая Bits.h) |
Библиотека | Bits.lib |