Поделиться через


Функция 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

Дескриптор HINTERNET, возвращаемый вызовом WinHttpOpenRequest.

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 .

Возвращаемое значение

Код состояния, указывающий результат операции. Среди возвращаемых кодов ошибок:

Код ошибки Описание
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
Header winhttp.h
Библиотека Winhttp.lib
DLL Winhttp.dll

См. также раздел