Share via


IMFHttpDownloadSession::CreateRequest 方法 (mfidl.h)

由 Microsoft Media Foundation 叫用以建立實作 IMFHttpDownloadRequest 介面的物件,此介面用來傳送單一 HTTP 或 HTTPS 要求。 由於可能需要多個要求才能完整下載資源,因此媒體基礎可能會在相同的IMFHttpDownloadSession實例上多次叫用CreateRequest。 媒體基礎只會針對單一要求使用每個 IMFHttpDownloadRequest 實例。

語法

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,表示要求應該轉送至原始伺服器,而不是從 Proxy 伺服器傳送快取的資源版本。 當此旗標設定為 TRUE 時,應該將 「Pragma: no-cache」 標頭新增至要求。 建立 HTTP/1.1 要求時,也應該新增「快取控制:無快取」。

[in] fSecure

如果設定為 TRUE,則會在適用的情況下使用通訊協定的安全變體。 例如,如果 IMFHttpDownloadSession 適用于 HTTP/HTTPS, 將 fSecure 設定為 TRUE 會導致要求使用 HTTPS。 否則,會在此範例中使用通訊協定 (不安全的變體 HTTP) 。

[in, optional] szVerb

字串的指標,其中包含要求中使用的 HTTP 動詞。 如果此參數為 Null,函式會使用 GET 作為 HTTP 動詞。

注意 此字串應該是全部大寫。 許多伺服器會將 HTTP 動詞視為區分大小寫,而網際網路工程工作組 (IETF) 批註要求 (RFC) 使用大寫字元來拼字這些動詞。
 

[in, optional] szReferrer

字串的指標,指定從中取得要求 szObjectName 中 URL 的檔 URL。 如果此參數設定為 Null,則不會指定任何參照檔。

ppRequest

成功傳回 方法時,此參數會設定為 IMFHttpDownloadRequest 介面。

傳回值

方法會傳回 HRESULT。 可能的值包括 (但不限於) 下表中的這些值。

傳回碼 描述
S_OK
已成功儲存所提供的資訊。
E_OUTOFMEMORY
記憶體不足,無法完成作業。
MF_E_INVALIDREQUEST
方法是在 Close 之後叫用,或在 叫用 SetServer 之前叫用。

需求

   
最低支援的用戶端 Windows 10版本 1703 [僅限傳統型應用程式]
最低支援的伺服器 都不支援
目標平台 Windows
標頭 mfidl.h
程式庫 Mfplat.lib;Mfplat.dll

另請參閱

IMFHttpDownloadSession