共用方式為


IHttpCachePolicy::SetVaryByValue 方法

設定快取原則的變數值。

語法

virtual HRESULT SetVaryByValue(  
   PCSTR pszValue  
) = 0;  

參數

pszValue
Null 終止字串的指標,其中包含要附加的自訂值。

-或-

NULL。

傳回值

HRESULT。 可能的值包括 (但不限於) 下表中的這些值。

描述
S_OK 表示作業成功。
E_INVALIDARG 表示 pszValue 為 Null。
ERROR_ARITHMETIC_OVERFLOW 表示 的 pszValue 長度超過上限。

備註

註冊要求或回應事件的CHttpModule衍生類別會接收IHttpCoNtext指標作為對應 virtual 方法上的參數。 若要設定變數值,請呼叫 IHttpCoNtext::GetResponse 方法、 IHttpResponse::GetCachePolicy 方法,最後呼叫 SetVaryByValue 方法。

SetVaryByValue 行為取決於實作。 您應該使用下列資訊作為指導方針,但在所有案例中可能都不正確:

  • IHttpCachePolicy介面目前的預設實作器會宣告 private 包含變數資料的緩衝區。 在建構實作者期間,此緩衝區會初始化為空白。

  • SetVaryByValue 如果參數為 Null, pszValue 則會立即傳回E_INVALIDARG。 否則,如有必要,內部緩衝區會展開,以保存 pszValue 的內容和 Null 終止字元。 然後 pszValue ,後面接著 Null 終止字元,會複製到這個緩衝區。 在呼叫 SetVaryByValue 期間,會在必要時覆寫呼叫 SetVaryByValue 之前緩衝區中的任何資料。

實作者的注意事項

IHttpCachePolicy 實作者負責將 pszValue 參數複製到緩衝區,因為與 參數相關聯的 pszValue 資料不保證在呼叫 SetVaryByValue 之後有效。

來電者的附注

IHttpCachePolicy 用戶端負責將以 Null 終止的字串傳遞至 SetVaryByValue 方法。 用戶端也負責在 呼叫 之後處置 pszValue ,因為 IHttpCachePolicy 實作者會複製到 pszValue 內部 SetVaryByValue 緩衝區。

規格需求

類型 描述
Client - Windows Vista 上的 IIS 7.0
- Windows 7 上的 IIS 7.5
- Windows 8 上的 IIS 8.0
- Windows 10上的 IIS 10.0
伺服器 - Windows Server 2008 上的 IIS 7.0
- Windows Server 2008 R2 上的 IIS 7.5
- Windows Server 2012 上的 IIS 8.0
- Windows Server 2012 R2 上的 IIS 8.5
- Windows Server 2016上的 IIS 10.0
產品 - IIS 7.0、IIS 7.5、IIS 8.0、IIS 8.5、IIS 10.0
- IIS Express 7.5、IIS Express 8.0、IIS Express 10.0
標頭 Httpserv.h

另請參閱

IHttpCachePolicy 介面