PrivacySetZonePreferenceW 関数 (wininet.h)

特定の URLZONEPrivacyType のプライバシー設定を設定します。

構文

DWORD PrivacySetZonePreferenceW(
  [in]           DWORD   dwZone,
  [in]           DWORD   dwType,
  [in]           DWORD   dwTemplate,
  [in, optional] LPCWSTR pszPreference
);

パラメーター

[in] dwZone

プライバシー設定を設定する URLZONE を指定する DWORD 型の値。

[in] dwType

プライバシー設定を設定する PrivacyType を指定する DWORD 型の値。

[in] dwTemplate

プライバシー設定の設定に使用するプライバシー テンプレートを指定する DWORD 型の値。

[in, optional] pszPreference

dwTemplatePRIVACY_TEMPLATE_CUSTOM に設定されている場合、このパラメーターはカスタム設定の文字列表現です。 それ以外の場合は、 NULL に設定する必要があります。 この文字列表現の説明は、「解説」セクションに含まれています。

戻り値

正常終了した場合は 0 を返します。 それ以外の場合は、winerr.h で定義されているエラーの 1 つが返されます。

注釈

インターネット ゾーンのこれらのプライバシー設定は、[インターネット オプション] ダイアログ ボックスの [プライバシー] タブにあります。

URLZONE_INTERNETのプライバシー オプションを設定するには、両方の PrivacyTypesプライバシー テンプレートを設定する必要があります。 [インターネット オプション][プライバシー] メニューのスライダーは、両方の PrivacyTypes にプライバシーが設定されている場合にのみ移動します。

特定の URLZONEPrivacyType のカスタム プライバシー設定は、 pszPreference パラメーターを使用して設定できます。 pszPreference パラメーターには、プライバシー設定を記述する空白で区切られた一連の規則を含めることができます。 ルール自体に空白を含めることはできません。 pszPreference には、複数の論理規則を指定できる構造があります。<シグネチャ><論理規則><special-rule>。

現時点では、署名は IE6-P3PSettings/V1: に設定する必要があります。

論理ルールの形式は/<expression>=<decision>/です。

式は、演算子 & (論理 AND) と ! を使用したコンパクト ポリシー トークンで構成されるブール型ステートメントです。 (論理 NOT)。 コンパクト ポリシー トークンでは、大文字と小文字が区別されます。 (プライバシー設定プラットフォーム (P3P) のプライバシー ポリシーとコンパクト ポリシー トークンの詳細については、「 W3C: Platform for Privacy Preferences (P3P) Project specification」を参照してください)。 決定は、コンパクト ポリシーに指定されたトークンが含まれている Cookie に対して実行するアクションを定義する 1 文字の小文字です。 次の表に、有効なデシジョン文字の一覧を示します。

文字 定義
a Cookie を受け入れます。
p Cookie を受け入れるか拒否するようにユーザーに求める。
r Cookie を拒否します。
l Cookie を削除します (ファースト パーティのコンテキストでのみ送信します)。
d Cookie が永続的な Cookie の場合は、セッション Cookie にダウングレードします。
 

論理ルールは、一覧表示されている順序で評価されます。 一致する最初の論理ルールがある場合は、Cookie アクションを決定します。

空の式も使用できます。 式が空の場合、左側は true と評価されます。 この形式の論理ルールは、ルールのセットの最後に使用して、他のカテゴリに分類されなかったすべての状況をキャッチできます。

次の例は、有効な論理規則を示しています。

/DEM=d/
    Deny a cookie whose compact policy contains the DEM token
/CON&amp;!TEL=a/	
    Accept a cookie whose compact policy contains the CON token 
    and does not contain the TEL token
/=a/		
    Accept all cookies

特別なルールは、nopolicy、session、および always シンボルを使用して指定されます。 nopolicy シンボルは、コンパクト ポリシーがない場合に実行するアクションを指定するために使用されます。 たとえば、nopolicy=d では、コンパクト ポリシーなしですべての Cookie をセッション Cookie にダウングレードするように指定します。 セッション シンボルは、セッション Cookie に対して実行するアクションを指定するために使用され、 にのみ設定できます。 session=a を指定すると、コンパクト ポリシーの内容に関係なく、すべてのセッション Cookie が受け入れられます。 この規則を指定しない場合、セッション Cookie は永続的な Cookie と同じ規則の対象になります。 最後に、すべての操作に対して同じアクションを実行するために、always シンボルを使用して を指定します。 たとえば、always=d は、コンパクト ポリシーの存在に関係なく、すべての Cookie を拒否するように指定します。 always=d は /=d/ と同じであることに注意してください。

次の例は、コンパクト ポリシーに FIN/CONi トークン ペアが含まれる Cookie を受け入れ、FIN/CON、FIN/CONo、FIN/CONa、GOV/PUB トークン ペア、または TEL トークンを含むコンパクト ポリシーを使用して Cookie を拒否し、Cookie のコンパクト ポリシーに UNR トークンが含まれているときにユーザーにメッセージを表示することを指定するプライバシー設定文字列を示しています。 また、セッション Cookie に対してコンパクト ポリシーなしで Cookie をダウングレードし、指定されたルールのいずれかに一致しないすべての Cookie を受け入れることも指定します。 true に評価される最初のルールによって Cookie アクションが決定されることに注意してください。

IE6-P3PSettings/V1: /FIN&amp;CONi=a/ /FIN&amp;CONo=r/ /FIN&amp;CONa=r/ /FIN&amp;CON=r/ 
/GOV&amp;PUB=r/ /TEL=r/ /UNR=p/ nopolicy=d /=a/

WinINet API の他のすべての側面と同様に、この関数を DllMain またはグローバル オブジェクトのコンストラクターとデストラクター内から安全に呼び出すことはできません。

メモ WinINet では、サーバーの実装はサポートされていません。 また、サービスから使用しないでください。 サーバーの実装またはサービスの場合は、 Microsoft Windows HTTP サービス (WinHTTP) を使用します。
 

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー wininet.h (Wininet.h を含む)
Library Wininet.lib
[DLL] Wininet.dll

こちらもご覧ください

InternetClearAllPerSiteCookieDecisions

InternetEnumPerSiteCookieDecision

InternetGetPerSiteCookieDecision

InternetSetPerSiteCookieDecision

PrivacyGetZonePreferenceW