ReactOS  r76032
timezone.c File Reference
#include "timedate.h"
Include dependency graph for timezone.c:

Go to the source code of this file.

Classes

struct  _TZ_INFO
 
struct  _TIMEZONE_ENTRY
 

Typedefs

typedef struct _TZ_INFO TZ_INFO
 
typedef struct _TZ_INFOPTZ_INFO
 
typedef struct _TIMEZONE_ENTRY TIMEZONE_ENTRY
 
typedef struct _TIMEZONE_ENTRYPTIMEZONE_ENTRY
 

Functions

static PTIMEZONE_ENTRY GetLargerTimeZoneEntry (LONG Bias, LPWSTR lpDescription)
 
static LONG QueryTimezoneData (HKEY hZoneKey, PTIMEZONE_ENTRY Entry)
 
static VOID CreateTimeZoneList (VOID)
 
static VOID DestroyTimeZoneList (VOID)
 
static VOID ShowTimeZoneList (HWND hwnd)
 
static VOID SetLocalTimeZone (HWND hwnd)
 
static VOID GetAutoDaylightInfo (HWND hwnd)
 
static VOID SetAutoDaylightInfo (HWND hwnd)
 
INT_PTR CALLBACK TimeZonePageProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
 

Variables

static HBITMAP hBitmap = NULL
 
static int cxSource
 
static int cySource
 
PTIMEZONE_ENTRY TimeZoneListHead = NULL
 
PTIMEZONE_ENTRY TimeZoneListTail = NULL
 

Typedef Documentation

Function Documentation

static VOID CreateTimeZoneList ( VOID  )
static

Definition at line 118 of file timezone.c.

Referenced by TimeZonePageProc().

119 {
120  WCHAR szKeyName[256];
121  DWORD dwIndex;
122  DWORD dwNameSize;
123  LONG lError;
124  HKEY hZonesKey;
125  HKEY hZoneKey;
127  PTIMEZONE_ENTRY Current;
128 
130  L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Time Zones",
131  0,
133  &hZonesKey))
134  return;
135 
136  for (dwIndex = 0; ; dwIndex++)
137  {
138  dwNameSize = sizeof(szKeyName);
139  lError = RegEnumKeyExW(hZonesKey,
140  dwIndex,
141  szKeyName,
142  &dwNameSize,
143  NULL,
144  NULL,
145  NULL,
146  NULL);
147  if (lError == ERROR_NO_MORE_ITEMS)
148  break;
149 
150  if (RegOpenKeyEx (hZonesKey,
151  szKeyName,
152  0,
154  &hZoneKey))
155  break;
156 
158  if (Entry == NULL)
159  {
160  RegCloseKey(hZoneKey);
161  break;
162  }
163 
164  lError = QueryTimezoneData(hZoneKey,
165  Entry);
166 
167  RegCloseKey(hZoneKey);
168 
169  if (lError != ERROR_SUCCESS)
170  {
171  HeapFree(GetProcessHeap(), 0, Entry);
172  break;
173  }
174 
175  if (TimeZoneListHead == NULL &&
177  {
178  Entry->Prev = NULL;
179  Entry->Next = NULL;
182  }
183  else
184  {
185  Current = GetLargerTimeZoneEntry(Entry->TimezoneInfo.Bias, Entry->Description);
186  if (Current != NULL)
187  {
188  if (Current == TimeZoneListHead)
189  {
190  /* Prepend to head */
191  Entry->Prev = NULL;
192  Entry->Next = TimeZoneListHead;
195  }
196  else
197  {
198  /* Insert before current */
199  Entry->Prev = Current->Prev;
200  Entry->Next = Current;
201  Current->Prev->Next = Entry;
202  Current->Prev = Entry;
203  }
204  }
205  else
206  {
207  /* Append to tail */
208  Entry->Prev = TimeZoneListTail;
209  Entry->Next = NULL;
212  }
213  }
214  }
215 
216  RegCloseKey(hZonesKey);
217 }
#define ERROR_SUCCESS
Definition: deptool.c:10
struct _Entry Entry
Definition: kefuncs.h:640
#define ERROR_NO_MORE_ITEMS
Definition: compat.h:95
Definition: bidi.c:75
PTIMEZONE_ENTRY TimeZoneListHead
Definition: timezone.c:37
__wchar_t WCHAR
Definition: xmlstorage.h:180
Definition: timezone.c:23
DWORD DWORD
Definition: winlogon.h:75
TZ_INFO TimezoneInfo
Definition: timezone.c:30
LONG WINAPI RegCloseKey(HKEY hKey)
Definition: reg.c:423
long LONG
Definition: pedump.c:60
static PTIMEZONE_ENTRY GetLargerTimeZoneEntry(LONG Bias, LPWSTR lpDescription)
Definition: timezone.c:42
smooth NULL
Definition: ftsmooth.c:557
static LONG QueryTimezoneData(HKEY hZoneKey, PTIMEZONE_ENTRY Entry)
Definition: timezone.c:69
PTIMEZONE_ENTRY TimeZoneListTail
Definition: timezone.c:38
#define GetProcessHeap()
Definition: compat.h:395
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
HANDLE HKEY
Definition: registry.h:24
HRESULT Next([in] ULONG celt, [out, size_is(celt), length_is(*pceltFetched)] STATPROPSETSTG *rgelt, [out] ULONG *pceltFetched)
struct _TIMEZONE_ENTRY * Prev
Definition: timezone.c:25
#define RegOpenKeyEx
Definition: winreg.h:520
struct _TIMEZONE_ENTRY * Next
Definition: timezone.c:26
#define KEY_QUERY_VALUE
Definition: nt_native.h:1016
WCHAR Description[128]
Definition: timezone.c:27
#define HEAP_ZERO_MEMORY
Definition: compat.h:123
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
Definition: reg.c:3381
LONG Bias
Definition: timezone.c:16
LONG WINAPI RegEnumKeyExW(_In_ HKEY hKey, _In_ DWORD dwIndex, _Out_ LPWSTR lpName, _Inout_ LPDWORD lpcbName, _Reserved_ LPDWORD lpReserved, _Out_opt_ LPWSTR lpClass, _Inout_opt_ LPDWORD lpcbClass, _Out_opt_ PFILETIME lpftLastWriteTime)
Definition: reg.c:2541
#define HeapFree(x, y, z)
Definition: compat.h:394
#define HKEY_LOCAL_MACHINE
Definition: winreg.h:12
#define KEY_ENUMERATE_SUB_KEYS
Definition: nt_native.h:1019
static VOID DestroyTimeZoneList ( VOID  )
static

Definition at line 221 of file timezone.c.

Referenced by TimeZonePageProc().

222 {
224 
225  while (TimeZoneListHead != NULL)
226  {
227  Entry = TimeZoneListHead;
228 
229  TimeZoneListHead = Entry->Next;
230  if (TimeZoneListHead != NULL)
231  {
233  }
234 
235  HeapFree(GetProcessHeap(), 0, Entry);
236  }
237 
239 }
struct _Entry Entry
Definition: kefuncs.h:640
PTIMEZONE_ENTRY TimeZoneListHead
Definition: timezone.c:37
Definition: timezone.c:23
smooth NULL
Definition: ftsmooth.c:557
PTIMEZONE_ENTRY TimeZoneListTail
Definition: timezone.c:38
#define GetProcessHeap()
Definition: compat.h:395
struct _TIMEZONE_ENTRY * Prev
Definition: timezone.c:25
struct _TIMEZONE_ENTRY * Next
Definition: timezone.c:26
#define HeapFree(x, y, z)
Definition: compat.h:394
static VOID GetAutoDaylightInfo ( HWND  hwnd)
static

Definition at line 322 of file timezone.c.

Referenced by TimeZonePageProc().

323 {
324  HKEY hKey;
325 
327  L"SYSTEM\\CurrentControlSet\\Control\\TimeZoneInformation",
328  0,
330  &hKey))
331  return;
332 
333  /* If the call fails (non zero), the reg value isn't available,
334  * which means it shouldn't be disabled, so we should check the button.
335  */
336  if (RegQueryValueExW(hKey,
337  L"DisableAutoDaylightTimeSet",
338  NULL,
339  NULL,
340  NULL,
341  NULL))
342  {
344  }
345  else
346  {
348  }
349 
350  RegCloseKey(hKey);
351 }
const DOCKBAR PVOID HWND HWND * hwnd
Definition: tooldock.h:22
Definition: bidi.c:75
UINT_PTR WPARAM
Definition: windef.h:230
LONG WINAPI RegCloseKey(HKEY hKey)
Definition: reg.c:423
smooth NULL
Definition: ftsmooth.c:557
#define BM_SETCHECK
Definition: winuser.h:1872
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
Definition: reg.c:4134
HANDLE HKEY
Definition: registry.h:24
#define BST_UNCHECKED
Definition: winuser.h:199
#define KEY_QUERY_VALUE
Definition: nt_native.h:1016
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define BST_CHECKED
Definition: winuser.h:197
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
Definition: reg.c:3381
#define HKEY_LOCAL_MACHINE
Definition: winreg.h:12
static PTIMEZONE_ENTRY GetLargerTimeZoneEntry ( LONG  Bias,
LPWSTR  lpDescription 
)
static

Definition at line 42 of file timezone.c.

Referenced by CreateTimeZoneList().

45 {
47 
48  Entry = TimeZoneListHead;
49  while (Entry != NULL)
50  {
51  if (Entry->TimezoneInfo.Bias < Bias)
52  return Entry;
53 
54  if (Entry->TimezoneInfo.Bias == Bias)
55  {
56  if (_wcsicmp(Entry->Description, lpDescription) > 0)
57  return Entry;
58  }
59 
60  Entry = Entry->Next;
61  }
62 
63  return NULL;
64 }
struct _Entry Entry
Definition: kefuncs.h:640
PTIMEZONE_ENTRY TimeZoneListHead
Definition: timezone.c:37
Definition: timezone.c:23
TZ_INFO TimezoneInfo
Definition: timezone.c:30
smooth NULL
Definition: ftsmooth.c:557
struct _TIMEZONE_ENTRY * Next
Definition: timezone.c:26
WCHAR Description[128]
Definition: timezone.c:27
LONG Bias
Definition: timezone.c:16
_Check_return_ _CRTIMP int __cdecl _wcsicmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
static LONG QueryTimezoneData ( HKEY  hZoneKey,
PTIMEZONE_ENTRY  Entry 
)
static

Definition at line 69 of file timezone.c.

Referenced by CreateTimeZoneList().

72 {
73  DWORD dwValueSize;
74  LONG lError;
75 
76  dwValueSize = sizeof(Entry->Description);
77  lError = RegQueryValueExW(hZoneKey,
78  L"Display",
79  NULL,
80  NULL,
81  (LPBYTE)&Entry->Description,
82  &dwValueSize);
83  if (lError != ERROR_SUCCESS)
84  return lError;
85 
86  dwValueSize = sizeof(Entry->StandardName);
87  lError = RegQueryValueExW(hZoneKey,
88  L"Std",
89  NULL,
90  NULL,
91  (LPBYTE)&Entry->StandardName,
92  &dwValueSize);
93  if (lError != ERROR_SUCCESS)
94  return lError;
95 
96  dwValueSize = sizeof(Entry->DaylightName);
97  lError = RegQueryValueExW(hZoneKey,
98  L"Dlt",
99  NULL,
100  NULL,
101  (LPBYTE)&Entry->DaylightName,
102  &dwValueSize);
103  if (lError != ERROR_SUCCESS)
104  return lError;
105 
106  dwValueSize = sizeof(Entry->TimezoneInfo);
107  lError = RegQueryValueExW(hZoneKey,
108  L"TZI",
109  NULL,
110  NULL,
111  (LPBYTE)&Entry->TimezoneInfo,
112  &dwValueSize);
113  return lError;
114 }
#define ERROR_SUCCESS
Definition: deptool.c:10
Definition: bidi.c:75
unsigned char * LPBYTE
Definition: typedefs.h:52
DWORD DWORD
Definition: winlogon.h:75
TZ_INFO TimezoneInfo
Definition: timezone.c:30
long LONG
Definition: pedump.c:60
smooth NULL
Definition: ftsmooth.c:557
WCHAR DaylightName[33]
Definition: timezone.c:29
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
Definition: reg.c:4134
WCHAR StandardName[33]
Definition: timezone.c:28
WCHAR Description[128]
Definition: timezone.c:27
static VOID SetAutoDaylightInfo ( HWND  hwnd)
static

Definition at line 355 of file timezone.c.

Referenced by TimeZonePageProc().

356 {
357  HKEY hKey;
358  DWORD dwValue = 1;
359 
361  L"SYSTEM\\CurrentControlSet\\Control\\TimeZoneInformation",
362  0,
364  &hKey))
365  return;
366 
368  {
369  RegSetValueExW(hKey,
370  L"DisableAutoDaylightTimeSet",
371  0,
372  REG_DWORD,
373  (LPBYTE)&dwValue,
374  sizeof(dwValue));
375  }
376  else
377  {
378  RegDeleteValueW(hKey,
379  L"DisableAutoDaylightTimeSet");
380  }
381 
382  RegCloseKey(hKey);
383 }
const DOCKBAR PVOID HWND HWND * hwnd
Definition: tooldock.h:22
#define KEY_SET_VALUE
Definition: nt_native.h:1017
Definition: bidi.c:75
unsigned char * LPBYTE
Definition: typedefs.h:52
DWORD DWORD
Definition: winlogon.h:75
LONG WINAPI RegCloseKey(HKEY hKey)
Definition: reg.c:423
#define BM_GETCHECK
Definition: winuser.h:1869
LONG WINAPI RegSetValueExW(_In_ HKEY hKey, _In_ LPCWSTR lpValueName, _In_ DWORD Reserved, _In_ DWORD dwType, _In_ CONST BYTE *lpData, _In_ DWORD cbData)
Definition: reg.c:4917
HANDLE HKEY
Definition: registry.h:24
#define BST_UNCHECKED
Definition: winuser.h:199
#define REG_DWORD
Definition: nt_native.h:1497
LONG WINAPI RegDeleteValueW(HKEY hKey, LPCWSTR lpValueName)
Definition: reg.c:2368
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
Definition: reg.c:3381
#define HKEY_LOCAL_MACHINE
Definition: winreg.h:12
static VOID SetLocalTimeZone ( HWND  hwnd)
static

Definition at line 277 of file timezone.c.

Referenced by TimeZonePageProc().

278 {
279  TIME_ZONE_INFORMATION TimeZoneInformation;
281  DWORD dwIndex;
282  DWORD i;
283 
284  dwIndex = (DWORD)SendMessageW(hwnd,
285  CB_GETCURSEL,
286  0,
287  0);
288 
289  i = 0;
290  Entry = TimeZoneListHead;
291  while (i < dwIndex)
292  {
293  if (Entry == NULL)
294  return;
295 
296  i++;
297  Entry = Entry->Next;
298  }
299 
300  wcscpy(TimeZoneInformation.StandardName,
301  Entry->StandardName);
302  wcscpy(TimeZoneInformation.DaylightName,
303  Entry->DaylightName);
304 
305  TimeZoneInformation.Bias = Entry->TimezoneInfo.Bias;
306  TimeZoneInformation.StandardBias = Entry->TimezoneInfo.StandardBias;
307  TimeZoneInformation.DaylightBias = Entry->TimezoneInfo.DaylightBias;
308 
309  memcpy(&TimeZoneInformation.StandardDate,
310  &Entry->TimezoneInfo.StandardDate,
311  sizeof(SYSTEMTIME));
312  memcpy(&TimeZoneInformation.DaylightDate,
313  &Entry->TimezoneInfo.DaylightDate,
314  sizeof(SYSTEMTIME));
315 
316  /* Set time zone information */
317  SetTimeZoneInformation(&TimeZoneInformation);
318 }
const DOCKBAR PVOID HWND HWND * hwnd
Definition: tooldock.h:22
struct _Entry Entry
Definition: kefuncs.h:640
PTIMEZONE_ENTRY TimeZoneListHead
Definition: timezone.c:37
Definition: timezone.c:23
SYSTEMTIME DaylightDate
Definition: timezone.c:20
WCHAR DaylightName[32]
Definition: rtltypes.h:1583
WCHAR StandardName[32]
Definition: rtltypes.h:1580
#define DWORD
Definition: msvc.h:34
#define CB_GETCURSEL
Definition: winuser.h:1894
DWORD DWORD
Definition: winlogon.h:75
TZ_INFO TimezoneInfo
Definition: timezone.c:30
SYSTEMTIME StandardDate
Definition: timezone.c:19
GLenum GLclampf GLint i
Definition: glfuncs.h:14
smooth NULL
Definition: ftsmooth.c:557
WCHAR DaylightName[33]
Definition: timezone.c:29
LONG StandardBias
Definition: timezone.c:17
_CRTIMP wchar_t *__cdecl wcscpy(_Out_writes_z_(_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)
BOOL WINAPI SetTimeZoneInformation(CONST TIME_ZONE_INFORMATION *lpTimeZoneInformation)
Definition: timezone.c:287
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
SYSTEMTIME StandardDate
Definition: rtltypes.h:1581
struct _TIMEZONE_ENTRY * Next
Definition: timezone.c:26
WCHAR StandardName[33]
Definition: timezone.c:28
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
LONG Bias
Definition: timezone.c:16
SYSTEMTIME DaylightDate
Definition: rtltypes.h:1584
LONG DaylightBias
Definition: timezone.c:18
static VOID ShowTimeZoneList ( HWND  hwnd)
static

Definition at line 243 of file timezone.c.

Referenced by TimeZonePageProc().

244 {
245  TIME_ZONE_INFORMATION TimeZoneInfo;
247  DWORD dwIndex;
248  DWORD i;
249 
250  GetTimeZoneInformation(&TimeZoneInfo);
251 
252  dwIndex = 0;
253  i = 0;
254  Entry = TimeZoneListHead;
255  while (Entry != NULL)
256  {
258  CB_ADDSTRING,
259  0,
260  (LPARAM)Entry->Description);
261 
262  if (!wcscmp(Entry->StandardName, TimeZoneInfo.StandardName))
263  dwIndex = i;
264 
265  i++;
266  Entry = Entry->Next;
267  }
268 
270  CB_SETCURSEL,
271  (WPARAM)dwIndex,
272  0);
273 }
const DOCKBAR PVOID HWND HWND * hwnd
Definition: tooldock.h:22
DWORD WINAPI GetTimeZoneInformation(LPTIME_ZONE_INFORMATION lpTimeZoneInformation)
Definition: timezone.c:262
struct _Entry Entry
Definition: kefuncs.h:640
PTIMEZONE_ENTRY TimeZoneListHead
Definition: timezone.c:37
Definition: timezone.c:23
WCHAR StandardName[32]
Definition: rtltypes.h:1580
DWORD DWORD
Definition: winlogon.h:75
UINT_PTR WPARAM
Definition: windef.h:230
GLenum GLclampf GLint i
Definition: glfuncs.h:14
LONG_PTR LPARAM
Definition: windef.h:231
#define CB_ADDSTRING
Definition: winuser.h:1887
smooth NULL
Definition: ftsmooth.c:557
#define CB_SETCURSEL
Definition: winuser.h:1912
_Check_return_ _CRTIMP int __cdecl wcscmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
struct _TIMEZONE_ENTRY * Next
Definition: timezone.c:26
WCHAR StandardName[33]
Definition: timezone.c:28
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
WCHAR Description[128]
Definition: timezone.c:27
INT_PTR CALLBACK TimeZonePageProc ( HWND  hwndDlg,
UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam 
)

Definition at line 388 of file timezone.c.

Referenced by Applet().

392 {
393  BITMAP bitmap;
394 
395  switch (uMsg)
396  {
397  case WM_INITDIALOG:
402  if (hBitmap != NULL)
403  {
404  GetObjectW(hBitmap, sizeof(bitmap), &bitmap);
405 
406  cxSource = bitmap.bmWidth;
407  cySource = bitmap.bmHeight;
408  }
409  break;
410 
411  case WM_DRAWITEM:
412  {
413  LPDRAWITEMSTRUCT lpDrawItem;
414  lpDrawItem = (LPDRAWITEMSTRUCT) lParam;
415  if(lpDrawItem->CtlID == IDC_WORLD_BACKGROUND)
416  {
417  HDC hdcMem;
418  hdcMem = CreateCompatibleDC(lpDrawItem->hDC);
419  if (hdcMem != NULL)
420  {
421  SelectObject(hdcMem, hBitmap);
422  StretchBlt(lpDrawItem->hDC, lpDrawItem->rcItem.left, lpDrawItem->rcItem.top,
423  lpDrawItem->rcItem.right - lpDrawItem->rcItem.left,
424  lpDrawItem->rcItem.bottom - lpDrawItem->rcItem.top,
425  hdcMem, 0, 0, cxSource, cySource, SRCCOPY);
426  DeleteDC(hdcMem);
427  }
428  }
429  }
430  break;
431 
432  case WM_COMMAND:
435  {
436  /* Enable the 'Apply' button */
437  PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
438  }
439  break;
440 
441  case WM_DESTROY:
444  break;
445 
446  case WM_NOTIFY:
447  {
448  LPNMHDR lpnm = (LPNMHDR)lParam;
449 
450  switch (lpnm->code)
451  {
452  case PSN_APPLY:
453  {
457  return TRUE;
458  }
459 
460  default:
461  break;
462  }
463  }
464  break;
465  }
466 
467  return FALSE;
468 }
#define HDC
Definition: msvc.h:22
#define TRUE
Definition: types.h:120
struct tagDRAWITEMSTRUCT * LPDRAWITEMSTRUCT
#define IDC_TIMEZONELIST
Definition: resource.h:16
UINT uMsg
Definition: precomp.h:53
LONG top
Definition: windef.h:320
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
Definition: dc.c:1497
BOOL WINAPI DeleteObject(_In_ HGDIOBJ)
HINSTANCE hApplet
Definition: access.c:17
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
#define PSN_APPLY
Definition: prsht.h:117
LONG left
Definition: windef.h:319
LONG right
Definition: windef.h:321
BOOL WINAPI StretchBlt(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_opt_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ DWORD)
struct tagNMHDR * LPNMHDR
static VOID SetAutoDaylightInfo(HWND hwnd)
Definition: timezone.c:355
UINT code
Definition: winuser.h:3102
#define IDC_AUTODAYLIGHT
Definition: resource.h:17
static VOID ShowTimeZoneList(HWND hwnd)
Definition: timezone.c:243
#define FALSE
Definition: types.h:117
HANDLE WINAPI LoadImageW(_In_opt_ HINSTANCE, _In_ LPCWSTR, _In_ UINT, _In_ int, _In_ int, _In_ UINT)
Definition: cursoricon.c:2174
smooth NULL
Definition: ftsmooth.c:557
#define WM_DESTROY
Definition: winuser.h:1581
static int cxSource
Definition: timezone.c:35
#define DWL_MSGRESULT
Definition: winuser.h:854
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
#define PropSheet_Changed(d, w)
Definition: prsht.h:326
UINT WPARAM wParam
Definition: precomp.h:53
#define BN_CLICKED
Definition: winuser.h:1876
#define IDC_WORLD_BACKGROUND
Definition: resource.h:18
#define IDC_WORLD
Definition: resource.h:19
#define PSNRET_NOERROR
Definition: prsht.h:129
#define WM_COMMAND
Definition: winuser.h:1706
#define SetWindowLongPtr
Definition: winuser.h:5699
static VOID DestroyTimeZoneList(VOID)
Definition: timezone.c:221
int WINAPI GetObjectW(_In_ HANDLE h, _In_ int c, _Out_writes_bytes_opt_(c) LPVOID pv)
HWND WINAPI GetParent(_In_ HWND)
static VOID CreateTimeZoneList(VOID)
Definition: timezone.c:118
static int cySource
Definition: timezone.c:35
BOOL WINAPI DeleteDC(_In_ HDC)
Definition: bl.h:1253
UINT WPARAM LPARAM lParam
Definition: precomp.h:53
#define IMAGE_BITMAP
Definition: winuser.h:211
#define CBN_SELCHANGE
Definition: winuser.h:1930
static VOID SetLocalTimeZone(HWND hwnd)
Definition: timezone.c:277
#define WM_DRAWITEM
Definition: winuser.h:1617
static VOID GetAutoDaylightInfo(HWND hwnd)
Definition: timezone.c:322
#define HIWORD(l)
Definition: typedefs.h:246
LONG bottom
Definition: windef.h:322
static HBITMAP bitmap
Definition: clipboard.c:1621
#define MAKEINTRESOURCEW(i)
Definition: winuser.h:582
#define LR_DEFAULTCOLOR
Definition: winuser.h:1067
#define WM_INITDIALOG
Definition: winuser.h:1705
static HBITMAP hBitmap
Definition: timezone.c:34
#define LOWORD(l)
Definition: pedump.c:82
#define SRCCOPY
Definition: wingdi.h:331
HDC hdcMem
Definition: welcome.c:104
#define WM_NOTIFY
Definition: richedit.h:61

Variable Documentation

int cxSource
static

Definition at line 35 of file timezone.c.

Referenced by TimeZonePageProc().

int cySource
static

Definition at line 35 of file timezone.c.

Referenced by TimeZonePageProc().

PTIMEZONE_ENTRY TimeZoneListTail = NULL

Definition at line 38 of file timezone.c.

Referenced by CreateTimeZoneList().