IHttpCachePolicy::AppendVaryByQueryString メソッド
クエリ値をキャッシュ ポリシーに追加します。
構文
virtual HRESULT AppendVaryByQueryString(
PCSTR pszParam
) = 0;
パラメーター
pszParam
追加するカスタム クエリ文字列を含む null で終わる文字列へのポインター。
\- または -
NULL。
戻り値
HRESULT
。 有効な値を次の表に示しますが、これ以外にもあります。
値 | 説明 |
---|---|
S_OK | が NULL であることを pszParam 示します。\- または - が pszParam クエリ リストに追加されることを示します。 |
ERROR_NOT_ENOUGH_MEMORY | ヒープ メモリが使い果たされたことを示します。 |
E_FAIL | 操作が失敗したことを示します。 |
解説
要求イベントまたは応答イベントに登録する CHttpModule 派生クラスは、対応するvirtual
メソッドのパラメーターとして IHttpContext ポインターを受け取ります。 カスタム クエリを追加するには、 IHttpContext::GetResponse メソッド、 IHttpResponse::GetCachePolicy メソッド、最後に メソッドを AppendVaryByQueryString
呼び出します。
AppendVaryByQueryString
動作は実装によって異なります。 ガイドラインとして次の情報を使用する必要がありますが、すべてのシナリオで正しくない場合があります。
IHttpCachePolicy インターフェイスの現在の既定の実装者は、変数ヘッダー データをprivate
含むバッファーを宣言します。 実装者の構築中に、このバッファーは空に初期化されます。 AppendVaryByQueryString
が呼び出されるたびに、 AppendVaryByQueryString
パラメーターが NULL の場合は、すぐにS_OKがpszParam
返されます。 それ以外の場合、バッファーは のコピー pszParam
を保持するように展開され、null 終端文字を含め、バッファーが現在空でない場合は 1 を加えます。 その後、バッファーが空でない場合は、',' 文字がバッファーに追加されます。 最後に、 の pszParam
内容 (null 終端文字を含む) がバッファーに追加されます。
実装側の注意
に関連付けられているpszParam
データが への呼び出し後に有効であることが保証されないため、IHttpCachePolicy 実装者はパラメーターをバッファーにコピーpszParam
するAppendVaryByQueryString
必要があります。
呼び出し元に関する注意事項
IHttpCachePolicy
クライアントは、NULL パラメーターまたは null pszParam
で終わる文字列を メソッドに渡す AppendVaryByHeader
必要があります。 実装者が内部バッファーにコピーpszParam
するためIHttpCachePolicy
、クライアントは のAppendVaryByHeader
呼び出し後に を破棄pszParam
する責任もあります。
既定 IHttpCachePolicy
の実装者によって使用される内部バッファーは、カスタム ヘッダーのコンマ区切りの文字列です。 したがって、 pszParam
',' 文字を含めてはいけません。
要件
Type | 説明 |
---|---|
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 |
Header | Httpserv.h |