WinHttpAddRequestHeadersEx 함수(winhttp.h)

HTTP 요청 핸들에 하나 이상의 HTTP 요청 헤더를 추가하여 별도의 이름/값 문자열을 사용할 수 있습니다.

구문

WINHTTPAPI DWORD WinHttpAddRequestHeadersEx(
  HINTERNET               hRequest,
  DWORD                   dwModifiers,
  ULONGLONG               ullFlags,
  ULONGLONG               ullExtra,
  DWORD                   cHeaders,
  WINHTTP_EXTENDED_HEADER *pHeaders
);

매개 변수

hRequest

형식: IN HINTERNET

WinHttpOpenRequest 호출에서 반환된 HINTERNET 핸들입니다.

dwModifiers

형식: IN DWORD

이 함수의 의미 체계를 수정하는 데 사용되는 플래그를 포함하는 부호 없는 긴 정수 값입니다. 다음 플래그 중 하나 이상일 수 있습니다.

의미
WINHTTP_ADDREQ_FLAG_ADD
헤더가 없으면 헤더를 추가합니다. WINHTTP_ADDREQ_FLAG_REPLACE 함께 사용됩니다.
WINHTTP_ADDREQ_FLAG_ADD_IF_NEW
헤더가 없는 경우에만 추가합니다. 그렇지 않으면 오류가 반환됩니다.
WINHTTP_ADDREQ_FLAG_COALESCE
같은 이름의 헤더를 병합합니다.
WINHTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA
쉼표로 같은 이름의 헤더를 병합합니다. 예를 들어 이 플래그와 함께 "Accept: text/*" 뒤에 "Accept: audio/*"를 추가하면 단일 헤더 "Accept: text/*, audio/*"가 생성됩니다. 이렇게 하면 첫 번째 헤더가 병합됩니다. 호출 애플리케이션은 병합된 헤더와 별도의 헤더와 관련하여 응집력 있는 체계를 보장해야 합니다.
WINHTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON
세미콜론을 사용하여 동일한 이름의 헤더를 병합합니다.
WINHTTP_ADDREQ_FLAG_REPLACE
헤더를 바꾸거나 제거합니다. 헤더 값이 비어 있고 헤더가 있으면 제거됩니다. 값이 비어 있지 않으면 이 값이 바뀝니다.

ullFlags

형식: IN ULONGLONG

전달된 문자열이 유니코드 문자열임을 나타내려면 WINHTTP_EXTENDED_HEADER_FLAG_UNICODE 전달합니다.

ullExtra

형식: IN ULONGLONG

예약되어 있습니다.

cHeaders

형식: IN DWORD

pHeaders의 요소 수입니다.

pHeaders

형식: _In_reads_(cHeaders) WINHTTP_EXTENDED_HEADER*

WINHTTP_EXTENDED_HEADER 구조체의 배열입니다.

반환 값

작업의 결과를 나타내는 상태 코드입니다. 반환된 오류 코드 중에는 다음과 같습니다.

오류 코드 Description
ERROR_WINHTTP_INCORRECT_HANDLE_STATE
제공된 핸들이 올바른 상태가 아니므로 요청된 작업을 수행할 수 없습니다.
ERROR_WINHTTP_INCORRECT_HANDLE_TYPE
이 작업에 대해 제공된 핸들의 형식이 올바르지 않습니다.
ERROR_WINHTTP_INTERNAL_ERROR
내부 오류가 발생했습니다.
ERROR_NOT_ENOUGH_MEMORY
메모리가 부족하여 요청된 작업을 완료할 수 없습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10 빌드 20348
지원되는 최소 서버 Windows 10 빌드 20348
대상 플랫폼 Windows
헤더 winhttp.h
라이브러리 Winhttp.lib
DLL Winhttp.dll

추가 정보