Función PrivacySetZonePreferenceW (winineti.h)

Establece la configuración de privacidad de una dirección URLZONE y PrivacyType determinada.

Sintaxis

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

Parámetros

[in] dwZone

Valor de tipo DWORD que especifica la dirección URLZONE para la que se establece la configuración de privacidad.

[in] dwType

Valor de tipo DWORD que especifica el PrivacyType para el que se establece la configuración de privacidad.

[in] dwTemplate

Valor de tipo DWORD que especifica cuál de las plantillas de privacidad se va a usar para establecer la configuración de privacidad.

[in, optional] pszPreference

Si dwTemplate se establece en PRIVACY_TEMPLATE_CUSTOM, este parámetro es la representación de cadena de las preferencias personalizadas. De lo contrario, debe establecerse en NULL. En la sección Comentarios se incluye una descripción de esta representación de cadena.

Valor devuelto

Devuelve cero si es correcto. De lo contrario, se devuelve uno de los errores definidos en winerr.h.

Comentarios

Esta configuración de privacidad para la zona de Internet se encuentra en la pestaña Privacidad del cuadro de diálogo Opciones de Internet .

Establecer las opciones de privacidad para el URLZONE_INTERNET implica establecer las plantillas de privacidad para ambos PrivacyTypes. El control deslizante del menú privacidad en Opciones de Internet solo se mueve si la privacidad está establecida para ambos PrivacyTypes.

Las preferencias de privacidad personalizadas de una dirección URLZONE y PrivacyType determinada se pueden establecer a través del parámetro pszPreference . El parámetro pszPreference puede contener una serie de reglas separadas por espacios en blanco que describen las preferencias de privacidad. Es importante tener en cuenta que las propias reglas no pueden contener espacios en blanco. PszPreference tiene la siguiente estructura donde puede haber varias reglas lógicas: < reglaespecial>de regla>< lógica de firma><.

Actualmente, la firma debe establecerse en IE6-P3PSettings/V1:.

Las reglas lógicas tienen el formato siguiente: /<expression>=<decision>/.

Una expresión es una instrucción booleana compuesta de tokens de directiva compacta mediante los operadores & (AND lógico) y ! (NOT lógico). El token de directiva compacta distingue mayúsculas de minúsculas. (Para obtener más información sobre las directivas de privacidad de plataforma para preferencias de privacidad (P3P) y los tokens de directivas compactas, consulte la especificación del proyecto W3C: Platform for Privacy Preferences (P3P ). La decisión es un carácter en minúscula único que define la acción que se realizará en la cookie cuya directiva compacta contiene los tokens especificados. En la tabla siguiente se enumeran los caracteres de decisión válidos.

Carácter Definición
a Acepte la cookie.
p Pida al usuario que acepte o deniegue la cookie.
r Rechace la cookie.
l Leash the cookie (only send it in a first-party context).
d Cambie la cookie, si es una cookie persistente, a una cookie de sesión.
 

Las reglas lógicas se evalúan en el orden en que aparecen. La primera regla lógica que se va a coincidir, si existe, determina la acción de cookie.

También se permite una expresión vacía. Si una expresión está vacía, el lado izquierdo se evalúa como true. Esta forma de regla lógica se puede usar al final de un conjunto de reglas para detectar todas las situaciones que no se dividen en las demás categorías.

En los ejemplos siguientes se muestran reglas lógicas válidas.

/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

Las reglas especiales se especifican con los símbolos nopolicy, session y always. El símbolo nopolicy se usa para especificar la acción que se debe realizar cuando no hay ninguna directiva compacta. Por ejemplo, nopolicy=d especifica degradar todas las cookies sin una directiva compacta para las cookies de sesión. El símbolo de sesión se usa para especificar la acción que se realizará en las cookies de sesión y solo se puede establecer en . Cuando se especifica session=a, todas las cookies de sesión se aceptan independientemente del contenido de la directiva compacta. Si no se especifica esta regla, las cookies de sesión están sujetas a las mismas reglas que las cookies persistentes. Por último, el símbolo always se usa para especificar para realizar la misma acción para todo. Por ejemplo, always=d especifica que se denieguen todas las cookies independientemente de la existencia de una directiva compacta. Tenga en cuenta que always=d es equivalente a /=d/.

En el ejemplo siguiente se muestra una cadena de preferencias de privacidad que especifica que se aceptan cookies para las que la directiva compacta contiene un par de tokens FIN/CONi, rechazar cookies con directivas compactas que contengan FIN/CON, FIN/CONo, FIN/CONa y pares de tokens GOV/PUB o un token TEL, y para preguntar al usuario cuando la directiva compacta de una cookie contiene el token UNR. También especifica que las cookies de degradación sin una directiva compacta para las cookies de sesión y acepten todas las cookies que no coincidan con una de las reglas especificadas. Tenga en cuenta que la primera regla que se evalúa como true determina la acción de 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/

Al igual que todos los demás aspectos de la API de WinINet, esta función no se puede llamar de forma segura desde DllMain ni desde los constructores y destructores de objetos globales.

Nota WinINet no admite implementaciones de servidor. Además, no se debe usar desde un servicio. En el caso de las implementaciones de servidor o los servicios, use los servicios HTTP de Microsoft Windows (WinHTTP).
 

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winineti.h (incluya Wininet.h)
Library Wininet.lib
Archivo DLL Wininet.dll

Consulte también

InternetClearAllPerSiteCookieDecisions

InternetEnumPerSiteCookieDecision

InternetGetPerSiteCookieDecision

InternetSetPerSiteCookieDecision

PrivacyGetZonePreferenceW