PrivacySetZonePreferenceW 함수(winineti.h)
지정된 URLZONE 및 PrivacyType에 대한 개인 정보 설정을 지정합니다.
구문
DWORD PrivacySetZonePreferenceW(
[in] DWORD dwZone,
[in] DWORD dwType,
[in] DWORD dwTemplate,
[in, optional] LPCWSTR pszPreference
);
매개 변수
[in] dwZone
개인 정보 설정이 설정되는 URLZONE을 지정하는 DWORD 형식의 값입니다.
[in] dwType
개인 정보 설정이 설정되는 PrivacyType을 지정하는 DWORD 형식의 값입니다.
[in] dwTemplate
개인 정보 설정을 설정하는 데 사용할 개인 정보 템플릿을 지정하는 DWORD 형식의 값입니다.
[in, optional] pszPreference
dwTemplate이 PRIVACY_TEMPLATE_CUSTOM 설정된 경우 이 매개 변수는 사용자 지정 기본 설정의 문자열 표현입니다. 그렇지 않으면 NULL로 설정해야 합니다. 이 문자열 표현에 대한 설명은 주의 섹션에 포함되어 있습니다.
반환 값
성공하면 0을 반환합니다. 그렇지 않으면 winerr.h에 정의된 오류 중 하나가 반환됩니다.
설명
인터넷 영역에 대한 이러한 개인 정보 설정은 인터넷 옵션 대화 상자의 개인 정보 탭에 있습니다.
URLZONE_INTERNET 개인 정보 옵션을 설정하려면 두 PrivacyType 모두에 대한 개인 정보 템플릿을 설정해야 합니다. 인터넷 옵션의 개인 정보 메뉴 슬라이더는 PrivacyTypes 모두에 대해 개인 정보를 설정한 경우에만 이동합니다.
지정된 URLZONE 및 PrivacyType 에 대한 사용자 지정 개인 정보 기본 설정은 pszPreference 매개 변수를 통해 설정할 수 있습니다. pszPreference 매개 변수는 개인 정보 기본 설정을 설명하는 공백으로 구분된 일련의 규칙을 포함할 수 있습니다. 규칙 자체에는 공백을 포함할 수 없다는 점에 유의해야 합니다. pszPreference에는 여러 논리 규칙이 < 있을 수 있는 구조체인 서명>< 논리규칙특수 규칙이>>< 있습니다.
현재 서명은 IE6-P3PSettings/V1:로 설정되어야 합니다.
논리 규칙의 형식은 /<expression>=<decision>/입니다.
식은 연산자 &(논리 AND) 및 ! 연산자를 사용하는 압축 정책 토큰으로 구성된 부울 문입니다. (논리적 NOT). 압축 정책 토큰은 대/소문자를 구분합니다. (P3P(Platform for Privacy Preferences) 개인 정보 보호 정책 및 압축 정책 토큰에 대한 자세한 내용은 W3C: P3P(Platform for Privacy Preferences) 프로젝트 사양을 참조하세요.) 결정은 압축 정책에 지정된 토큰이 포함된 쿠키에 대해 수행할 작업을 정의하는 단일 소문자입니다. 다음 표에는 유효한 의사 결정 문자가 나와 있습니다.
문자 | 정의 |
---|---|
a | 쿠키를 수락합니다. |
p | 사용자에게 쿠키를 수락하거나 거부하라는 메시지를 표시합니다. |
r | 쿠키를 거부합니다. |
l | 쿠키를 끈으로 묶습니다(자사 컨텍스트에서만 전송). |
일 | 영구 쿠키인 경우 쿠키를 세션 쿠키로 다운그레이드합니다. |
논리 규칙은 나열된 순서대로 평가됩니다. 일치시킬 첫 번째 논리 규칙이 있는 경우 쿠키 동작을 결정합니다.
빈 식도 허용됩니다. 식이 비어 있으면 왼쪽이 true로 평가됩니다. 이 형태의 논리 규칙은 규칙 집합의 끝에서 다른 범주에 속하지 않은 모든 상황을 catch하는 데 사용할 수 있습니다.
다음 예제에서는 유효한 논리 규칙을 보여 줍니다.
/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=d는 압축 정책 없이 모든 쿠키를 세션 쿠키로 다운그레이드하도록 지정합니다. 세션 기호는 세션 쿠키에 대해 수행할 작업을 지정하는 데 사용되며 으로만 설정할 수 있습니다. session=a를 지정하면 압축 정책의 내용에 관계없이 모든 세션 쿠키가 허용됩니다. 이 규칙을 지정하지 않으면 세션 쿠키에는 영구 쿠키와 동일한 규칙이 적용됩니다. 마지막으로 항상 기호를 사용하여 모든 항목에 대해 동일한 작업을 수행하도록 지정합니다. 예를 들어 always=d는 압축 정책의 존재와 관계없이 모든 쿠키를 거부하도록 지정합니다. always=d는 /=d/와 동일합니다.
다음 예제에서는 압축 정책에 FIN/CONi 토큰 쌍이 포함된 쿠키를 수락하고, FIN/CON, FIN/CONo, FIN/CONa 및 GOV/PUB 토큰 쌍 또는 TEL 토큰이 포함된 압축 정책으로 쿠키를 거부하고, 쿠키의 압축 정책에 UNR 토큰이 포함된 경우 사용자에게 메시지를 표시하도록 지정하는 개인 정보 기본 설정 문자열을 보여 줍니다. 또한 압축 정책 없이 쿠키를 세션 쿠키로 다운그레이드하고 지정된 규칙 중 하나와 일치하지 않는 모든 쿠키를 허용하도록 지정합니다. true로 평가되는 첫 번째 규칙은 쿠키 동작을 결정합니다.
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 |
헤더 | winineti.h(Wininet.h 포함) |
라이브러리 | Wininet.lib |
DLL | Wininet.dll |
추가 정보
InternetClearAllPerSiteCookieDecisions
InternetEnumPerSiteCookieDecision
InternetGetPerSiteCookieDecision