privacySetZonePreferenceW 函数 (wininet.h)
设置给定 URLZONE 和 PrivacyType 的隐私设置。
语法
DWORD PrivacySetZonePreferenceW(
[in] DWORD dwZone,
[in] DWORD dwType,
[in] DWORD dwTemplate,
[in, optional] LPCWSTR pszPreference
);
参数
[in] dwZone
类型为 DWORD 的值,该值指定要为其设置隐私设置的 URLZONE。
[in] dwType
DWORD 类型的值,该值指定要为其设置隐私设置的 PrivacyType。
[in] dwTemplate
类型为 DWORD 的值,该值指定要用于设置隐私设置的隐私模板。
[in, optional] pszPreference
如果 dwTemplate 设置为 PRIVACY_TEMPLATE_CUSTOM,则此参数是自定义首选项的字符串表示形式。 否则,应将其设置为 NULL。 此字符串表示形式的说明包含在“备注”部分中。
返回值
如果成功,则返回 0。 否则,返回 winerr.h 中定义的错误之一。
注解
Internet 区域的这些隐私设置位于“Internet 选项”对话框的“隐私”选项卡上。
设置URLZONE_INTERNET的隐私选项涉及为这两个 PrivacyTypes 设置隐私模板。 仅当为这两个 PrivacyTypes 设置隐私时, “Internet 选项 ”中 “隐私”菜单上的滑块才会移动。
可以通过 pszPreference 参数设置给定 URLZONE 和 PrivacyType 的自定义隐私首选项。 pszPreference 参数可以包含一系列规则,这些规则由描述隐私首选项的空格分隔。 请务必注意,规则本身不能包含空格。 pszPreference 具有以下结构,其中可以有多个逻辑规则:<签名><逻辑规则><special-rule>。
目前,签名必须设置为 IE6-P3PSettings/V1:。
逻辑规则采用以下格式:/<expression>=<decision>/。
表达式是由压缩策略令牌组成的布尔语句,使用运算符 & (逻辑 AND) 和 ! (逻辑非) 。 压缩策略令牌区分大小写。 (有关平台隐私首选项 (P3P) 隐私策略和压缩策略令牌的详细信息,请参阅 W3C:平台隐私首选项 (P3P) Project 规范。) 决策是一个小写字符,用于定义要对其压缩策略包含指定令牌的 cookie 执行的操作 () 。 下表列出了有效的决策字符。
字符 | 定义 |
---|---|
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&!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&CONi=a/ /FIN&CONo=r/ /FIN&CONa=r/ /FIN&CON=r/
/GOV&PUB=r/ /TEL=r/ /UNR=p/ nopolicy=d /=a/
与 WinINet API 的所有其他方面一样,无法从 DllMain 或全局对象的构造函数和析构函数中安全地调用此函数。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | wininet.h (包括 Wininet.h) |
Library | Wininet.lib |
DLL | Wininet.dll |
另请参阅
InternetClearAllPerSiteCookieDecisions
InternetEnumPerSiteCookieDecision
InternetGetPerSiteCookieDecision