Поделиться через


Функция PrivacySetZonePreferenceW (winineti.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 , указывающее Тип конфиденциальности , для которого задаются параметры конфиденциальности.

[in] dwTemplate

Значение типа DWORD , указывающее, какой из шаблонов конфиденциальности будет использоваться для установки параметров конфиденциальности.

[in, optional] pszPreference

Если параметру dwTemplate присвоено значение PRIVACY_TEMPLATE_CUSTOM, этот параметр представляет собой строковое представление пользовательских настроек. В противном случае ему следует присвоить значение NULL. Описание этого строкового представления содержится в разделе Примечания.

Возвращаемое значение

Возвращает нуль при успешном завершении. В противном случае возвращается одна из ошибок, определенных в winerr.h.

Комментарии

Эти параметры конфиденциальности для зоны Интернета можно найти на вкладке Конфиденциальность диалогового окна Свойства браузера .

Настройка параметров конфиденциальности для URLZONE_INTERNET включает настройку шаблонов конфиденциальности для обоих типов конфиденциальности. Ползунок в меню Конфиденциальность в разделе Свойства браузера перемещается только в том случае, если для обоих типов конфиденциальности задана конфиденциальность.

Настраиваемые параметры конфиденциальности для заданного URLZONE и PrivacyType можно задать с помощью параметра pszPreference . Параметр pszPreference может содержать ряд правил, разделенных пробелами, описывающими настройки конфиденциальности. Важно отметить, что сами правила не могут содержать пробелы. PszPreference имеет следующую структуру, в которой может быть несколько логических правил: <сигнатурное><логическое правило><special-rule>.

В настоящее время для подписи необходимо задать значение IE6-P3PSettings/V1:.

Логические правила имеют следующий формат: /<expression>=<decision>/.

Выражение — это логическая инструкция, состоящая из маркеров политики сжатия с помощью операторов & (логическое И) и ! (логическое НЕ). Компактный маркер политики учитывает регистр. (Дополнительные сведения о политиках конфиденциальности платформы для параметров конфиденциальности (P3P) и маркерах политики сжатия см. в спецификации проекта W3C: Платформа для параметров конфиденциальности (P3P). ) Решение является символом в одном нижнем регистре, определяющим действие, которое необходимо выполнить с файлом cookie, компактная политика которого содержит указанные токены. В следующей таблице перечислены допустимые символы принятия решений.

Знак Определение
а Примите файл cookie.
p Предложите пользователю принять или отклонить файл cookie.
r Отклоните файл cookie.
l Привязываем файл cookie (отправлять его только в контексте первой стороны).
d Понизите версию файла 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/.

В следующем примере показана строка параметров конфиденциальности, которая указывает, что нужно принимать файлы cookie, для которых политика сжатия содержит пару токенов FIN/CONi, отклонять файлы cookie с компактными политиками, содержащими FIN/CON, FIN/CONo, FIN/CONa и GOV/PUB или токен TEL, а также запрашивать у пользователя, когда политика сжатия файла 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/

Как и все другие аспекты API WinINet, эту функцию нельзя безопасно вызывать из DllMain или конструкторов и деструкторов глобальных объектов.

Примечание WinINet не поддерживает реализации сервера. Кроме того, его не следует использовать из службы. Для серверных реализаций или служб используйте службы Microsoft Windows HTTP (WinHTTP).
 

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header winineti.h (включая Wininet.h)
Библиотека Wininet.lib
DLL Wininet.dll

См. также раздел

InternetClearAllPerSiteCookieDecisions

InternetEnumPerSiteCookieDecision

InternetGetPerSiteCookieDecision

InternetSetPerSiteCookieDecision

PrivacyGetZonePreferenceW