ReactOS 0.4.15-dev-7958-gcd0bb1a
security.c File Reference
#include <stdarg.h>
#include <windef.h>
#include <winbase.h>
#include <winuser.h>
#include <prsht.h>
#include "commctrl.h"
#include "ole2.h"
#include "urlmon.h"
#include "initguid.h"
#include "winreg.h"
#include "shlwapi.h"
#include "inetcpl.h"
#include "wine/debug.h"
#include "wine/heap.h"
Include dependency graph for security.c:

Go to the source code of this file.

Classes

struct  secdlg_data_s
 

Macros

#define COBJMACROS
 
#define CONST_VTABLE
 
#define NUM_TRACKBAR_POS   5
 

Typedefs

typedef struct secdlg_data_s secdlg_data
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (inetcpl)
 
static DWORD index_from_urltemplate (URLTEMPLATE value)
 
static void update_security_level (secdlg_data *sd, DWORD lv_index, DWORD tb_index)
 
static void update_zone_info (secdlg_data *sd, DWORD lv_index)
 
static void add_zone_to_listview (secdlg_data *sd, DWORD *pindex, DWORD zone)
 
static void security_cleanup_zones (secdlg_data *sd)
 
static HRESULT security_enum_zones (secdlg_data *sd)
 
static INT_PTR security_on_destroy (secdlg_data *sd)
 
static INT_PTR security_on_initdialog (HWND hsec)
 
static INT_PTR security_on_notify (secdlg_data *sd, WPARAM wparam, LPARAM lparam)
 
INT_PTR CALLBACK security_dlgproc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
 

Variables

static DWORD url_templates []
 

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 22 of file security.c.

◆ CONST_VTABLE

#define CONST_VTABLE

Definition at line 23 of file security.c.

◆ NUM_TRACKBAR_POS

#define NUM_TRACKBAR_POS   5

Definition at line 60 of file security.c.

Typedef Documentation

◆ secdlg_data

Function Documentation

◆ add_zone_to_listview()

static void add_zone_to_listview ( secdlg_data sd,
DWORD pindex,
DWORD  zone 
)
static

Definition at line 151 of file security.c.

152{
153 DWORD lv_index = *pindex;
154 ZONEATTRIBUTES *za = &sd->zone_attr[lv_index];
155 LVITEMW lvitem;
156 HRESULT hr;
157 INT iconid = 0;
158 HMODULE hdll = NULL;
159 WCHAR * ptr;
160 HICON icon;
161
162 TRACE("item %d (zone %d)\n", lv_index, zone);
163
164 sd->zones[lv_index] = zone;
165
166 memset(&lvitem, 0, sizeof(LVITEMW));
167 memset(za, 0, sizeof(ZONEATTRIBUTES));
168 za->cbSize = sizeof(ZONEATTRIBUTES);
169 hr = IInternetZoneManager_GetZoneAttributes(sd->zone_mgr, zone, za);
170 if (SUCCEEDED(hr)) {
171 TRACE("displayname: %s\n", debugstr_w(za->szDisplayName));
172 TRACE("description: %s\n", debugstr_w(za->szDescription));
173 TRACE("minlevel: 0x%x, recommended: 0x%x, current: 0x%x (flags: 0x%x)\n", za->dwTemplateMinLevel,
174 za->dwTemplateRecommended, za->dwTemplateCurrentLevel, za->dwFlags);
175
176 if (za->dwFlags & ZAFLAGS_NO_UI ) {
177 TRACE("item %d (zone %d): UI disabled for %s\n", lv_index, zone, debugstr_w(za->szDisplayName));
178 return;
179 }
180
181 sd->levels[lv_index] = za->dwTemplateCurrentLevel;
182
183 lvitem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM;
184 lvitem.iItem = lv_index;
185 lvitem.iSubItem = 0;
186 lvitem.pszText = za->szDisplayName;
187 lvitem.lParam = (LPARAM) zone;
188
189 /* format is "filename.ext#iconid" */
190 ptr = StrChrW(za->szIconPath, '#');
191 if (ptr) {
192 *ptr = 0;
193 ptr++;
194 iconid = StrToIntW(ptr);
196 TRACE("%p: icon #%d from %s\n", hdll, iconid, debugstr_w(za->szIconPath));
197
200
201 if (!icon) {
202 FIXME("item %d (zone %d): missing icon #%d in %s\n", lv_index, zone, iconid, debugstr_w(za->szIconPath));
203 }
204
205 /* the failure result (NULL) from LoadImageW let ImageList_AddIcon fail
206 with -1, which is reused in ListView_InsertItemW to disable the image */
207 lvitem.iImage = ImageList_AddIcon(sd->himages, icon);
208 }
209 else
210 FIXME("item %d (zone %d): malformed szIconPath %s\n", lv_index, zone, debugstr_w(za->szIconPath));
211
212 if (ListView_InsertItemW(sd->hlv, &lvitem) >= 0) {
213 /* activate first item in the listview */
214 if (! lv_index) {
217 SendMessageW(sd->hlv, LVM_SETITEMSTATE, 0, (LPARAM) &lvitem);
218 sd->last_level = ~0;
219 update_zone_info(sd, lv_index);
220 }
221 (*pindex)++;
222 }
224 }
225 else
226 FIXME("item %d (zone %d): GetZoneAttributes failed with 0x%x\n", lv_index, zone, hr);
227}
#define FIXME(fmt,...)
Definition: debug.h:111
#define NULL
Definition: types.h:112
static void update_zone_info(secdlg_data *sd, DWORD lv_index)
Definition: security.c:129
INT WINAPI StrToIntW(LPCWSTR lpString)
Definition: string.c:411
LPWSTR WINAPI StrChrW(LPCWSTR lpszStr, WCHAR ch)
Definition: string.c:468
#define FreeLibrary(x)
Definition: compat.h:748
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryExW(LPCWSTR lpLibFileName, HANDLE hFile, DWORD dwFlags)
Definition: loader.c:288
unsigned long DWORD
Definition: ntddk_ex.h:95
#define SUCCEEDED(hr)
Definition: intsafe.h:50
#define debugstr_w
Definition: kernel32.h:32
static PVOID ptr
Definition: dispmode.c:27
static HICON
Definition: imagelist.c:84
static const WCHAR sd[]
Definition: suminfo.c:286
DWORD zone
Definition: sec_mgr.c:1754
#define LVM_SETITEMSTATE
Definition: commctrl.h:2672
#define LVIS_SELECTED
Definition: commctrl.h:2319
#define LVIF_PARAM
Definition: commctrl.h:2311
#define LVIF_TEXT
Definition: commctrl.h:2309
#define ImageList_AddIcon(himl, hicon)
Definition: commctrl.h:415
#define LVIF_IMAGE
Definition: commctrl.h:2310
#define LVIS_FOCUSED
Definition: commctrl.h:2318
#define ListView_InsertItemW(hwnd, pitem)
Definition: commctrl.h:33
#define memset(x, y, z)
Definition: compat.h:39
static PVOID hdll
Definition: shimdbg.c:126
HRESULT hr
Definition: shlfolder.c:183
#define TRACE(s)
Definition: solgame.cpp:4
LPWSTR pszText
Definition: commctrl.h:2365
int iSubItem
Definition: commctrl.h:2362
UINT state
Definition: commctrl.h:2363
UINT mask
Definition: commctrl.h:2360
LPARAM lParam
Definition: commctrl.h:2368
UINT stateMask
Definition: commctrl.h:2364
int iImage
Definition: commctrl.h:2367
int32_t INT
Definition: typedefs.h:58
#define LOAD_LIBRARY_AS_DATAFILE
Definition: winbase.h:342
LONG_PTR LPARAM
Definition: windef.h:208
#define IMAGE_ICON
Definition: winuser.h:212
HANDLE WINAPI LoadImageW(_In_opt_ HINSTANCE hInst, _In_ LPCWSTR name, _In_ UINT type, _In_ int cx, _In_ int cy, _In_ UINT fuLoad)
Definition: cursoricon.c:2203
#define SM_CYICON
Definition: winuser.h:973
#define LR_SHARED
Definition: winuser.h:1100
#define MAKEINTRESOURCEW(i)
Definition: winuser.h:582
#define SM_CXICON
Definition: winuser.h:972
int WINAPI GetSystemMetrics(_In_ int)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by security_on_initdialog().

◆ index_from_urltemplate()

static DWORD index_from_urltemplate ( URLTEMPLATE  value)
static

Definition at line 73 of file security.c.

74{
75
77
78 while((index > 0) && (url_templates[index-1] != value))
79 index--;
80
81 index--; /* table entries are 0 based */
82 if (!index && value)
83 FIXME("URLTEMPLATE 0x%x not supported\n", value);
84
85 TRACE("URLTEMPLATE 0x%08x=> Level %d\n", value, index);
86 return index;
87}
#define index(s, c)
Definition: various.h:29
#define ARRAY_SIZE(A)
Definition: main.h:33
static DWORD url_templates[]
Definition: security.c:62
GLuint index
Definition: glext.h:6031
Definition: pdh_main.c:94

Referenced by update_security_level().

◆ security_cleanup_zones()

static void security_cleanup_zones ( secdlg_data sd)
static

Definition at line 233 of file security.c.

234{
235 if (sd->zone_enumerator) {
236 IInternetZoneManager_DestroyZoneEnumerator(sd->zone_mgr, sd->zone_enumerator);
237 }
238
239 if (sd->zone_mgr) {
240 IInternetZoneManager_Release(sd->zone_mgr);
241 }
242
243 if (sd->sec_mgr) {
244 IInternetSecurityManager_Release(sd->sec_mgr);
245 }
246}

Referenced by security_on_destroy().

◆ security_dlgproc()

INT_PTR CALLBACK security_dlgproc ( HWND  hwnd,
UINT  msg,
WPARAM  wparam,
LPARAM  lparam 
)

Definition at line 412 of file security.c.

413{
415
416 if (msg == WM_INITDIALOG) {
418 }
419
421 if (sd) {
422 switch (msg)
423 {
424 case WM_NOTIFY:
426
427 case WM_NCDESTROY:
428 return security_on_destroy(sd);
429
430 default:
431 /* do not flood the log */
432 if ((msg == WM_SETCURSOR) || (msg == WM_NCHITTEST) ||
434 return FALSE;
435
436 TRACE("(%p, 0x%08x/%03d, 0x%08lx, 0x%08lx)\n", hwnd, msg, msg, wparam, lparam);
437 }
438 }
439 return FALSE;
440}
@ lparam
Definition: SystemMenu.c:31
@ wparam
Definition: SystemMenu.c:30
#define msg(x)
Definition: auth_time.c:54
#define FALSE
Definition: types.h:117
static INT_PTR security_on_destroy(secdlg_data *sd)
Definition: security.c:272
static INT_PTR security_on_initdialog(HWND hsec)
Definition: security.c:297
static INT_PTR security_on_notify(secdlg_data *sd, WPARAM wparam, LPARAM lparam)
Definition: security.c:380
#define WM_NOTIFY
Definition: richedit.h:61
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023
#define DWLP_USER
Definition: winuser.h:872
#define GetWindowLongPtrW
Definition: winuser.h:4829
#define WM_NCHITTEST
Definition: winuser.h:1686
#define WM_MOUSEMOVE
Definition: winuser.h:1775
#define WM_INITDIALOG
Definition: winuser.h:1739
#define WM_MOUSEACTIVATE
Definition: winuser.h:1637
#define WM_NCDESTROY
Definition: winuser.h:1684
#define WM_SETCURSOR
Definition: winuser.h:1636
#define WM_PARENTNOTIFY
Definition: winuser.h:1803

Referenced by display_cpl_sheets().

◆ security_enum_zones()

static HRESULT security_enum_zones ( secdlg_data sd)
static

Definition at line 252 of file security.c.

253{
254 HRESULT hr;
255
256 hr = CoInternetCreateSecurityManager(NULL, &sd->sec_mgr, 0);
257 if (SUCCEEDED(hr)) {
258 hr = CoInternetCreateZoneManager(NULL, &sd->zone_mgr, 0);
259 if (SUCCEEDED(hr)) {
260 hr = IInternetZoneManager_CreateZoneEnumerator(sd->zone_mgr, &sd->zone_enumerator, &sd->num_zones, 0);
261 }
262 }
263 return hr;
264}
HRESULT WINAPI CoInternetCreateZoneManager(IServiceProvider *pSP, IInternetZoneManager **ppZM, DWORD dwReserved)
Definition: sec_mgr.c:1855
HRESULT WINAPI CoInternetCreateSecurityManager(IServiceProvider *pSP, IInternetSecurityManager **ppSM, DWORD dwReserved)
Definition: sec_mgr.c:1841

Referenced by security_on_initdialog().

◆ security_on_destroy()

static INT_PTR security_on_destroy ( secdlg_data sd)
static

Definition at line 272 of file security.c.

273{
274 TRACE("(%p)\n", sd);
275
276 heap_free(sd->zone_attr);
277 heap_free(sd->zones);
278#ifndef __REACTOS__
279 if (sd->himages) {
281 ImageList_Destroy(sd->himages);
282 }
283#endif
284
286 SetWindowLongPtrW(sd->hsec, DWLP_USER, 0);
287 heap_free(sd);
288 return TRUE;
289}
static BOOL heap_free(void *mem)
Definition: appwiz.h:76
#define TRUE
Definition: types.h:120
static void security_cleanup_zones(secdlg_data *sd)
Definition: security.c:233
BOOL WINAPI ImageList_Destroy(HIMAGELIST himl)
Definition: imagelist.c:928
#define LVM_SETIMAGELIST
Definition: commctrl.h:2303
#define LVSIL_NORMAL
Definition: commctrl.h:2298
#define SetWindowLongPtrW
Definition: winuser.h:5346

Referenced by security_dlgproc(), and security_on_initdialog().

◆ security_on_initdialog()

static INT_PTR security_on_initdialog ( HWND  hsec)
static

Definition at line 297 of file security.c.

298{
300 HRESULT hr;
301 DWORD current_zone;
302 DWORD lv_index = 0;
303 DWORD i;
304
305 sd = heap_alloc_zero(sizeof(secdlg_data));
307 if (!sd) {
308 return FALSE;
309 }
310
311 sd->hsec = hsec;
312 sd->hlv = GetDlgItem(hsec, IDC_SEC_LISTVIEW);
313 sd->htb = GetDlgItem(hsec, IDC_SEC_TRACKBAR);
314
315 EnableWindow(sd->htb, FALSE); /* not changeable yet */
316
317 TRACE("(%p) (data: %p, listview: %p, trackbar: %p)\n", hsec, sd, sd->hlv, sd->htb);
318
320 SendMessageW(sd->htb, TBM_SETTICFREQ, 1, 0 );
321
322 /* Create the image lists for the listview */
324
325 TRACE("using imagelist: %p\n", sd->himages);
326 if (!sd->himages) {
327 ERR("ImageList_Create failed!\n");
328 return FALSE;
329 }
331
333 if (FAILED(hr)) {
334 ERR("got 0x%x\n", hr);
336 return FALSE;
337 }
338
339 TRACE("found %d zones\n", sd->num_zones);
340
341 /* remember ZONEATTRIBUTES for a listview entry */
342 sd->zone_attr = heap_alloc(sizeof(ZONEATTRIBUTES) * sd->num_zones);
343 if (!sd->zone_attr) {
345 return FALSE;
346 }
347
348 /* remember zone number and current security level for a listview entry */
349 sd->zones = heap_alloc((sizeof(DWORD) + sizeof(DWORD)) * sd->num_zones);
350 if (!sd->zones) {
352 return FALSE;
353 }
354 sd->levels = &sd->zones[sd->num_zones];
355
356 /* use the same order as visible with native inetcpl.cpl */
357 add_zone_to_listview(sd, &lv_index, URLZONE_INTERNET);
358 add_zone_to_listview(sd, &lv_index, URLZONE_INTRANET);
359 add_zone_to_listview(sd, &lv_index, URLZONE_TRUSTED);
360 add_zone_to_listview(sd, &lv_index, URLZONE_UNTRUSTED);
361
362 for (i = 0; i < sd->num_zones; i++)
363 {
364 hr = IInternetZoneManager_GetZoneAt(sd->zone_mgr, sd->zone_enumerator, i, &current_zone);
365 if (SUCCEEDED(hr) && (current_zone != (DWORD)URLZONE_INVALID)) {
366 if (!current_zone || (current_zone > URLZONE_UNTRUSTED)) {
367 add_zone_to_listview(sd, &lv_index, current_zone);
368 }
369 }
370 }
371 return TRUE;
372}
static void * heap_alloc(size_t len)
Definition: appwiz.h:66
#define ERR(fmt,...)
Definition: debug.h:110
static HRESULT security_enum_zones(secdlg_data *sd)
Definition: security.c:252
static void add_zone_to_listview(secdlg_data *sd, DWORD *pindex, DWORD zone)
Definition: security.c:151
#define NUM_TRACKBAR_POS
Definition: security.c:60
HIMAGELIST WINAPI ImageList_Create(INT cx, INT cy, UINT flags, INT cInitial, INT cGrow)
Definition: imagelist.c:804
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define IDC_SEC_LISTVIEW
Definition: inetcpl.h:84
#define IDC_SEC_TRACKBAR
Definition: inetcpl.h:87
#define FAILED(hr)
Definition: intsafe.h:51
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
#define ILC_COLOR32
Definition: commctrl.h:358
#define TBM_SETRANGE
Definition: commctrl.h:2037
#define TBM_SETTICFREQ
Definition: commctrl.h:2050
#define ILC_MASK
Definition: commctrl.h:351
#define MAKELONG(a, b)
Definition: typedefs.h:249
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
BOOL WINAPI EnableWindow(_In_ HWND, _In_ BOOL)

Referenced by security_dlgproc().

◆ security_on_notify()

static INT_PTR security_on_notify ( secdlg_data sd,
WPARAM  wparam,
LPARAM  lparam 
)
static

Definition at line 380 of file security.c.

381{
382 NMLISTVIEW *nm;
383
384 nm = (NMLISTVIEW *) lparam;
385 switch (nm->hdr.code)
386 {
387 case LVN_ITEMCHANGED:
388 TRACE("LVN_ITEMCHANGED (0x%lx, 0x%lx) from %p with code: %d (item: %d, uNewState: %u)\n",
389 wparam, lparam, nm->hdr.hwndFrom, nm->hdr.code, nm->iItem, nm->uNewState);
390 if ((nm->uNewState & LVIS_SELECTED) == LVIS_SELECTED) {
392 }
393 break;
394
395 case PSN_APPLY:
396 TRACE("PSN_APPLY (0x%lx, 0x%lx) from %p with code: %d\n", wparam, lparam,
397 nm->hdr.hwndFrom, nm->hdr.code);
398 break;
399
400 default:
401 TRACE("WM_NOTIFY (0x%lx, 0x%lx) from %p with code: %d\n", wparam, lparam,
402 nm->hdr.hwndFrom, nm->hdr.code);
403
404 }
405 return FALSE;
406}
#define PSN_APPLY
Definition: prsht.h:117
#define LVN_ITEMCHANGED
Definition: commctrl.h:3131
UINT code
Definition: winuser.h:3159
HWND hwndFrom
Definition: winuser.h:3157
UINT uNewState
Definition: commctrl.h:3036

Referenced by security_dlgproc().

◆ update_security_level()

static void update_security_level ( secdlg_data sd,
DWORD  lv_index,
DWORD  tb_index 
)
static

Definition at line 93 of file security.c.

94{
95 WCHAR name[512];
96 DWORD current_index;
97
98 TRACE("(%p, lv_index: %u, tb_index: %u)\n", sd, lv_index, tb_index);
99
100 if ((sd->levels[lv_index] != sd->last_level) || (tb_index > 0)) {
101 /* show or hide the trackbar */
102 if (!sd->levels[lv_index] || !sd->last_level)
103 ShowWindow(sd->htb, sd->levels[lv_index] ? SW_NORMAL : SW_HIDE);
104
105 current_index = (tb_index > 0) ? tb_index : index_from_urltemplate(sd->levels[lv_index]);
106
107 name[0] = 0;
108 LoadStringW(hcpl, IDS_SEC_LEVEL0 + current_index, name, ARRAY_SIZE(name));
109 TRACE("new level #%d: %s\n", current_index, debugstr_w(name));
111
112 name[0] = 0;
113 LoadStringW(hcpl, IDS_SEC_LEVEL0_INFO + (current_index * 0x10), name, ARRAY_SIZE(name));
114 TRACE("new level info: %s\n", debugstr_w(name));
116
117 if (current_index)
118 SendMessageW(sd->htb, TBM_SETPOS, TRUE, NUM_TRACKBAR_POS - current_index);
119
120 sd->last_level = sd->levels[lv_index];
121
122 }
123}
static DWORD index_from_urltemplate(URLTEMPLATE value)
Definition: security.c:73
DECLSPEC_HIDDEN HMODULE hcpl
Definition: inetcpl.c:42
#define IDS_SEC_LEVEL0_INFO
Definition: inetcpl.h:58
#define IDC_SEC_LEVEL
Definition: inetcpl.h:88
#define IDC_SEC_LEVEL_INFO
Definition: inetcpl.h:89
#define IDS_SEC_LEVEL0
Definition: inetcpl.h:52
#define TBM_SETPOS
Definition: commctrl.h:2036
Definition: name.c:39
#define SW_HIDE
Definition: winuser.h:768
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
BOOL WINAPI SetWindowTextW(_In_ HWND, _In_opt_ LPCWSTR)
#define SW_NORMAL
Definition: winuser.h:769

Referenced by update_zone_info().

◆ update_zone_info()

static void update_zone_info ( secdlg_data sd,
DWORD  lv_index 
)
static

Definition at line 129 of file security.c.

130{
131 ZONEATTRIBUTES *za = &sd->zone_attr[lv_index];
133 DWORD len;
134
135 SetWindowTextW(GetDlgItem(sd->hsec, IDC_SEC_ZONE_INFO), za->szDescription);
136
138 lstrcpynW(&name[len], za->szDisplayName, ARRAY_SIZE(name) - len - 1);
139
140 TRACE("new title: %s\n", debugstr_w(name));
142
143 update_security_level(sd, lv_index, 0);
144 sd->last_lv_index = lv_index;
145}
static void update_security_level(secdlg_data *sd, DWORD lv_index, DWORD tb_index)
Definition: security.c:93
#define MAX_PATH
Definition: compat.h:34
#define lstrcpynW
Definition: compat.h:738
GLenum GLsizei len
Definition: glext.h:6722
#define IDC_SEC_GROUP
Definition: inetcpl.h:86
#define IDS_SEC_SETTINGS
Definition: inetcpl.h:51
#define IDC_SEC_ZONE_INFO
Definition: inetcpl.h:85

Referenced by add_zone_to_listview(), and security_on_notify().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( inetcpl  )

Variable Documentation

◆ url_templates

DWORD url_templates[]
static
Initial value:
= {URLTEMPLATE_CUSTOM,
URLTEMPLATE_LOW,
URLTEMPLATE_MEDLOW,
URLTEMPLATE_MEDIUM,
URLTEMPLATE_MEDHIGH,
URLTEMPLATE_HIGH}

Definition at line 62 of file security.c.

Referenced by index_from_urltemplate().