다음을 통해 공유


IBackgroundCopyJobHttpOptions::SetCustomHeaders 메서드(bits2_5.h)

HTTP 요청에 포함할 하나 이상의 사용자 지정 HTTP 헤더를 지정합니다.

구문

HRESULT SetCustomHeaders(
  [in] LPCWSTR RequestHeaders
);

매개 변수

[in] RequestHeaders

HTTP 요청에 추가할 사용자 지정 헤더를 포함하는 Null로 끝나는 문자열입니다. 각 헤더는 캐리지 리턴 및 줄 바꿈(CR/LF) 문자로 종료되어야 합니다. 문자열은 null 종결자를 포함하여 16,384자로 제한됩니다.

작업에서 사용자 지정 헤더를 제거하려면 RequestHeaders 매개 변수를 NULL로 설정합니다.

반환 값

다음 표에서는 가능한 반환 값 중 일부를 나열합니다.

반환 코드 설명
S_OK
성공.
BG_E_STRING_TOO_LONG
사용자 지정 헤더의 길이가 16KB를 초과합니다.
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