PrivacySetZonePreferenceW-Funktion (winineti.h)
Legt die Datenschutzeinstellungen für eine angegebene URLZONE und privacyType fest.
Syntax
DWORD PrivacySetZonePreferenceW(
[in] DWORD dwZone,
[in] DWORD dwType,
[in] DWORD dwTemplate,
[in, optional] LPCWSTR pszPreference
);
Parameter
[in] dwZone
Wert vom Typ DWORD , der die URLZONE angibt, für die Datenschutzeinstellungen festgelegt werden.
[in] dwType
Wert vom Typ DWORD , der den PrivacyType angibt, für den Datenschutzeinstellungen festgelegt werden.
[in] dwTemplate
Der Wert vom Typ DWORD , der angibt, welche der Datenschutzvorlagen zum Festlegen der Datenschutzeinstellungen verwendet werden soll.
[in, optional] pszPreference
Wenn dwTemplate auf PRIVACY_TEMPLATE_CUSTOM festgelegt ist, ist dieser Parameter die Zeichenfolgendarstellung der benutzerdefinierten Einstellungen. Andernfalls sollte er auf NULL festgelegt werden. Eine Beschreibung dieser Zeichenfolgendarstellung ist im Abschnitt Hinweise enthalten.
Rückgabewert
Gibt 0 zurück, wenn erfolgreich. Andernfalls wird einer der in winerr.h definierten Fehler zurückgegeben.
Hinweise
Diese Datenschutzeinstellungen für die Internetzone finden Sie auf der Registerkarte Datenschutz des Dialogfelds Internetoptionen .
Das Festlegen der Datenschutzoptionen für die URLZONE_INTERNET umfasst das Festlegen der Datenschutzvorlagen für beide PrivacyTypes. Der Schieberegler im Menü "Datenschutz " in den Internetoptionen wird nur verschoben, wenn Datenschutz für beide PrivacyTypes festgelegt ist.
Benutzerdefinierte Datenschutzeinstellungen für eine bestimmte URLZONE und PrivacyType können über den pszPreference-Parameter festgelegt werden. Der pszPreference-Parameter kann eine Reihe von Regeln enthalten, die durch Leerzeichen getrennt sind, die die Datenschutzeinstellungen beschreiben. Es ist wichtig zu beachten, dass die Regeln selbst keinen Leerraum enthalten können. Die pszPreference verfügt über die folgende Struktur, in der mehrere logische Regeln vorhanden sein können: <signature><logical-rule><special-rule>.
Derzeit muss die Signatur auf IE6-P3PSettings/V1:festgelegt sein.
Logische Regeln haben das folgende Format: /<expression>=<decision>/.
Ein Ausdruck ist eine boolesche Anweisung, die aus kompakten Richtlinientoken mit den Operatoren & (logisches AND) und ! (logisches NOT). Beim kompakten Richtlinientoken wird die Groß-/Kleinschreibung beachtet. (Weitere Informationen zu P3P-Datenschutzrichtlinien (Platform for Privacy Preferences) und kompakten Richtlinientoken finden Sie in der Projektspezifikation W3C: Platform for Privacy Preferences (P3P). ) Die Entscheidung ist ein einzelnes Kleinbuchstaben, das die Aktion definiert, die für das Cookie ausgeführt werden soll, dessen Kompaktrichtlinie die angegebenen Token enthält. In der folgenden Tabelle sind gültige Entscheidungszeichen aufgeführt.
Zeichen | Definition |
---|---|
a | Akzeptieren Sie das Cookie. |
p | Fordern Sie den Benutzer auf, das Cookie zu akzeptieren oder zu verweigern. |
r | Lehnen Sie das Cookie ab. |
l | Fügen Sie das Cookie an (senden Sie es nur in einem Erstanbieterkontext). |
T | Herabstufen des Cookies, wenn es sich um ein persistentes Cookie handelt, in ein Sitzungscookies. |
Logische Regeln werden in der Reihenfolge ausgewertet, in der sie aufgelistet sind. Die erste logische Regel, die ggf. abgeglichen werden soll, bestimmt die Cookieaktion.
Ein leerer Ausdruck ist ebenfalls zulässig. Wenn ein Ausdruck leer ist, wird die linke Seite als true ausgewertet. Diese Form einer logischen Regel kann am Ende einer Reihe von Regeln verwendet werden, um alle Situationen abzufangen, die nicht in die anderen Kategorien fielen.
Die folgenden Beispiele zeigen gültige logische Regeln.
/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
Sonderregeln werden mithilfe der Symbole nopolicy, session und always angegeben. Das Nopolicy-Symbol wird verwendet, um die auszuführende Aktion anzugeben, wenn keine kompakte Richtlinie vorhanden ist. Beispielsweise gibt nopolicy=d an, dass alle Cookies ohne eine kompakte Richtlinie auf Sitzungscookies herabgestuft werden sollen. Das Sitzungssymbol wird verwendet, um die Aktion anzugeben, die für Sitzungscookies ausgeführt werden soll, und kann nur auf eine festgelegt werden. Wenn session=a angegeben ist, werden alle Sitzungscookies unabhängig vom Inhalt der kompakten Richtlinie akzeptiert. Wenn diese Regel nicht angegeben ist, unterliegen Sitzungscookies den gleichen Regeln wie persistente Cookies. Schließlich wird das Always-Symbol verwendet, um anzugeben, dass die gleiche Aktion für alles ausgeführt wird. Beispielsweise gibt always=d an, dass alle Cookies verweigert werden sollen, unabhängig vom Vorhandensein einer kompakten Richtlinie. Beachten Sie, dass always=d entspricht /=d/.
Das folgende Beispiel zeigt eine Zeichenfolge für Datenschutzeinstellungen, die angibt, Cookies zu akzeptieren, für die die kompakte Richtlinie ein FIN/CONi-Tokenpaar enthält, Cookies mit kompakten Richtlinien zurückzuweisen, die Tokenpaare FIN/CON, FIN/CONo, FIN/CONa und GOV/PUB oder ein TEL-Token enthalten, und den Benutzer aufzufordern, wenn die kompakte Richtlinie eines Cookies das UNR-Token enthält. Außerdem wird angegeben, cookies ohne eine kompakte Richtlinie auf Sitzungscookies herabzustufen und alle Cookies zu akzeptieren, die einer der angegebenen Regeln nicht entsprechen. Beachten Sie, dass die erste Regel, die als true ausgewertet wird, die Cookieaktion bestimmt.
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/
Wie alle anderen Aspekte der WinINet-API kann diese Funktion nicht sicher innerhalb von DllMain oder den Konstruktoren und Destruktoren globaler Objekte aufgerufen werden.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | winineti.h (wininet.h einschließen) |
Bibliothek | Wininet.lib |
DLL | Wininet.dll |
Weitere Informationen
InternetClearAllPerSiteCookieDecisions
InternetEnumPerSiteCookieDecision
InternetGetPerSiteCookieDecision