Fonction PrivacySetZonePreferenceW (wininet.h)
Définit les paramètres de confidentialité d’une URLZONE et d’un PrivacyType donnés.
Syntaxe
DWORD PrivacySetZonePreferenceW(
[in] DWORD dwZone,
[in] DWORD dwType,
[in] DWORD dwTemplate,
[in, optional] LPCWSTR pszPreference
);
Paramètres
[in] dwZone
Valeur de type DWORD qui spécifie l’URLZONE pour laquelle les paramètres de confidentialité sont définis.
[in] dwType
Valeur de type DWORD qui spécifie le PrivacyType pour lequel les paramètres de confidentialité sont définis.
[in] dwTemplate
Valeur de type DWORD qui spécifie lequel des modèles de confidentialité doit être utilisé pour définir les paramètres de confidentialité.
[in, optional] pszPreference
Si dwTemplate a la valeur PRIVACY_TEMPLATE_CUSTOM, ce paramètre est la représentation sous forme de chaîne des préférences personnalisées. Sinon, elle doit être définie sur NULL. Une description de cette représentation de chaîne est incluse dans la section Remarques.
Valeur retournée
Retourne zéro si l’opération réussit. Sinon, l’une des erreurs définies dans winerr.h est retournée.
Remarques
Ces paramètres de confidentialité pour la zone Internet se trouvent sous l’onglet Confidentialité de la boîte de dialogue Options Internet .
La définition des options de confidentialité pour le URLZONE_INTERNET implique de définir les modèles de confidentialité pour les deux PrivacyTypes. Le curseur du menu Confidentialité dans Options Internet ne se déplace que si la confidentialité est définie pour les deux PrivacyTypes.
Les préférences de confidentialité personnalisées pour une URLZONE et un PrivacyType donnés peuvent être définies via le paramètre pszPreference . Le paramètre pszPreference peut contenir une série de règles séparées par des espaces blancs décrivant les préférences de confidentialité. Il est important de noter que les règles elles-mêmes ne peuvent pas contenir d’espaces blancs. PszPreference a la structure suivante où il peut y avoir plusieurs règles logiques : <signature><logical-rule><special-rule>.
Actuellement, la signature doit être définie sur IE6-P3PSettings/V1 :.
Les règles logiques ont le format suivant : /<expression>=<decision>/.
Une expression est une instruction booléenne composée de jetons de stratégie compacts utilisant les opérateurs & (AND logique) et ! (not logique). Le jeton de stratégie compact respecte la casse. (Pour plus d’informations sur les stratégies de confidentialité P3P (Platform for Privacy Preferences) et les jetons de stratégie compacts, consultez la spécification du projet W3C : Platform for Privacy Preferences (P3P). La décision est un seul caractère minuscule qui définit l’action à entreprendre sur le cookie dont la stratégie compacte contient le ou les jetons spécifiés. Le tableau suivant répertorie les caractères de décision valides.
Caractère | Définition |
---|---|
a | Acceptez le cookie. |
p | Invitez l’utilisateur à accepter ou à refuser le cookie. |
r | Rejeter le cookie. |
l | Laissez le cookie (envoyez-le uniquement dans un contexte interne). |
d | Rétrogradez le cookie, s’il s’agit d’un cookie persistant, en cookie de session. |
Les règles logiques sont évaluées dans l’ordre dans lequel elles sont répertoriées. La première règle logique à mettre en correspondance, le cas échéant, détermine l’action de cookie.
Une expression vide est également autorisée. Si une expression est vide, le côté gauche prend la valeur true. Cette forme de règle logique peut être utilisée à la fin d’un ensemble de règles pour intercepter toutes les situations qui n’entrent pas dans les autres catégories.
Les exemples suivants montrent des règles logiques valides.
/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
Les règles spéciales sont spécifiées à l’aide des symboles nopolicy, session et always. Le symbole nopolicy est utilisé pour spécifier l’action à entreprendre en l’absence de stratégie compacte. Par exemple, nopolicy=d spécifie de rétrograder tous les cookies sans stratégie compacte pour les cookies de session. Le symbole de session est utilisé pour spécifier l’action à entreprendre sur les cookies de session et ne peut être défini que sur un. Lorsque session=a est spécifié, tous les cookies de session sont acceptés quel que soit le contenu de la stratégie compacte. Si cette règle n’est pas spécifiée, les cookies de session sont soumis aux mêmes règles que les cookies persistants. Enfin, le symbole always est utilisé pour spécifier pour effectuer la même action pour tout. Par exemple, always=d spécifie de refuser tous les cookies, quelle que soit l’existence d’une stratégie compacte. Notez que always=d équivaut à /=d/.
L’exemple suivant montre une chaîne de préférences de confidentialité qui spécifie d’accepter les cookies pour lesquels la stratégie compacte contient une paire de jetons FIN/CONi, de rejeter les cookies avec des stratégies compactes contenant des paires de jetons FIN/CON, FIN/CONo, FIN/CONa et GOV/PUB ou un jeton TEL, et d’inviter l’utilisateur quand la stratégie compacte d’un cookie contient le jeton UNR. Il spécifie également de rétrograder les cookies sans stratégie compacte pour les cookies de session et d’accepter tous les cookies qui ne correspondent pas à l’une des règles données. Notez que la première règle qui prend la valeur true détermine l’action de 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/
Comme tous les autres aspects de l’API WinINet, cette fonction ne peut pas être appelée en toute sécurité à partir de DllMain ou des constructeurs et destructeurs d’objets globaux.
Configuration requise
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | wininet.h (inclure Wininet.h) |
Bibliothèque | Wininet.lib |
DLL | Wininet.dll |
Voir aussi
InternetClearAllPerSiteCookieDecisions
InternetEnumPerSiteCookieDecision
InternetGetPerSiteCookieDecision