Метод IMFHttpDownloadSession::CreateRequest (mfidl.h)

Вызывается Майкрософт Media Foundation для создания объекта, реализующего интерфейс IMFHttpDownloadRequest, который используется для отправки одного HTTP-запроса или HTTPS. Так как для полного скачивания ресурса может потребоваться несколько запросов, Media Foundation может вызывать CreateRequest несколько раз в одном экземпляре МВФHttpDownloadSession . Media Foundation будет использовать каждый экземпляр МВФHttpDownloadRequest только для одного запроса.

Синтаксис

HRESULT CreateRequest(
  [in]           LPCWSTR                szObjectName,
  [in]           BOOL                   fBypassProxyCache,
  [in]           BOOL                   fSecure,
  [in, optional] LPCWSTR                szVerb,
  [in, optional] LPCWSTR                szReferrer,
                 IMFHttpDownloadRequest **ppRequest
);

Параметры

[in] szObjectName

Указатель на строку, содержащую имя целевого ресурса указанной HTTP-команды. Обычно это имя файла, исполняемый модуль или описатель поиска. Целевой ресурс всегда начинается с символа косой черты вперед и включает любую строку запроса, включенную в URL-адрес.

[in] fBypassProxyCache

Если задано значение TRUE, указывает, что запрос должен пересылаться на исходный сервер, а не отправлять кэшированную версию ресурса с прокси-сервера. Если для этого флага задано значение TRUE, в запрос следует добавить заголовок Pragma: no-cache. При создании запроса HTTP/1.1 также следует добавить элемент управления cache-control: no-cache.

[in] fSecure

Если задано значение TRUE, то при необходимости используется безопасный вариант протокола. Например, если для HTTP/ HTTPS используется МВФHttpDownloadSession , если параметр fSecure имеет значение TRUE, запрос будет использовать HTTPS. В противном случае используется небезопасный вариант протокола (в этом примере HTTP).

[in, optional] szVerb

Указатель на строку, содержащую http-команду для использования в запросе. Если этот параметр имеет значение NULL, функция использует GET в качестве http-команды.

Заметка Эта строка должна быть всех прописных букв. Многие серверы рассматривают HTTP-команды как конфиденциальные регистры, а запросы IETF (IETF) заклинания для комментариев (RFCS) выполняют эти команды только с использованием символов верхнего регистра.
 

[in, optional] szReferrer

Указатель на строку, указывающую URL-адрес документа, из которого получен URL-адрес запроса szObjectName . Если для этого параметра задано значение NULL, не указан документ, ссылающийся на документ.

ppRequest

После успешного возвращения метода этот параметр имеет интерфейс IMFHttpDownloadRequest .

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

Метод возвращает HRESULT. Возможные значения включают, но не ограничиваются ими в следующей таблице.

Код возврата Описание
S_OK
Успешно сохранены предоставленные сведения.
E_OUTOFMEMORY
Для завершения операции недостаточно памяти.
MF_E_INVALIDREQUEST
Метод был вызван после вызова Close или до вызова SetServer .

Требования

Требование Ценность
Минимальный поддерживаемый клиент Windows 10 версии 1703 [только классические приложения]
минимальный поддерживаемый сервер Ни одна версия не поддерживается
целевая платформа Windows
Header mfidl.h
Library Mfplat.lib
DLL Mfplat.dll

См. также

МВФHttpDownloadSession