ReactOS 0.4.16-dev-2491-g3dc6630
timezone.c File Reference
#include "timedate.h"
#include <tzlib.h>
Include dependency graph for timezone.c:

Go to the source code of this file.

Classes

struct  _TIMEZONE_ENTRY
 

Typedefs

typedef struct _TIMEZONE_ENTRY TIMEZONE_ENTRY
 
typedef struct _TIMEZONE_ENTRYPTIMEZONE_ENTRY
 

Functions

static PTIMEZONE_ENTRY GetSelectedTimeZoneEntry (HWND hwndCombo)
 
static BOOL HasDaylightSaving (PTIMEZONE_ENTRY Entry)
 
static VOID UpdateDstCheckbox (HWND hwndDlg)
 
static PTIMEZONE_ENTRY GetLargerTimeZoneEntry (LONG Bias, LPWSTR lpDescription)
 
static LONG RetrieveTimeZone (IN HKEY hZoneKey, IN PVOID Context)
 
static VOID CreateTimeZoneList (VOID)
 
static VOID DestroyTimeZoneList (VOID)
 
static VOID ShowTimeZoneList (HWND hwnd)
 
static VOID SetLocalTimeZone (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

◆ PTIMEZONE_ENTRY

◆ TIMEZONE_ENTRY

Function Documentation

◆ CreateTimeZoneList()

static VOID CreateTimeZoneList ( VOID  )
static

Definition at line 194 of file timezone.c.

195{
197}
#define NULL
Definition: types.h:112
static LONG RetrieveTimeZone(IN HKEY hZoneKey, IN PVOID Context)
Definition: timezone.c:114
VOID EnumerateTimeZoneList(IN PENUM_TIMEZONE_CALLBACK Callback, IN PVOID Context OPTIONAL)
Definition: tzlib.c:223

Referenced by TimeZonePageProc().

◆ DestroyTimeZoneList()

static VOID DestroyTimeZoneList ( VOID  )
static

Definition at line 200 of file timezone.c.

201{
203
204 while (TimeZoneListHead != NULL)
205 {
207
208 TimeZoneListHead = Entry->Next;
209 if (TimeZoneListHead != NULL)
210 {
212 }
213
215 }
216
218}
PTIMEZONE_ENTRY TimeZoneListHead
Definition: timezone.c:29
PTIMEZONE_ENTRY TimeZoneListTail
Definition: timezone.c:30
#define GetProcessHeap()
Definition: compat.h:736
#define HeapFree(x, y, z)
Definition: compat.h:735
base of all file and directory entries
Definition: entries.h:83
Definition: timezone.c:16
struct _TIMEZONE_ENTRY * Prev
Definition: timezone.c:17

Referenced by TimeZonePageProc().

◆ GetLargerTimeZoneEntry()

static PTIMEZONE_ENTRY GetLargerTimeZoneEntry ( LONG  Bias,
LPWSTR  lpDescription 
)
static

Definition at line 90 of file timezone.c.

93{
95
97 while (Entry != NULL)
98 {
99 if (Entry->TimezoneInfo.Bias < Bias)
100 return Entry;
101 if (Entry->TimezoneInfo.Bias == Bias)
102 {
103 if (_wcsicmp(Entry->Description, lpDescription) > 0)
104 return Entry;
105 }
106
107 Entry = Entry->Next;
108 }
109
110 return NULL;
111}
_ACRTIMP int __cdecl _wcsicmp(const wchar_t *, const wchar_t *)
Definition: wcs.c:159

Referenced by RetrieveTimeZone().

◆ GetSelectedTimeZoneEntry()

static PTIMEZONE_ENTRY GetSelectedTimeZoneEntry ( HWND  hwndCombo)
static

Definition at line 33 of file timezone.c.

34{
36 DWORD dwIndex;
37 DWORD i;
38
39 dwIndex = (DWORD)SendMessageW(hwndCombo, CB_GETCURSEL, 0, 0);
40 if (dwIndex == CB_ERR)
41 return NULL;
42
43 for (Entry = TimeZoneListHead, i = 0; i < dwIndex; i++, Entry = Entry->Next)
44 {
45 if (Entry == NULL)
46 return NULL;
47 }
48
49 return Entry;
50}
unsigned long DWORD
Definition: ntddk_ex.h:95
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 DWORD
Definition: nt_native.h:44
#define CB_ERR
Definition: winuser.h:2471
#define CB_GETCURSEL
Definition: winuser.h:1972
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)

Referenced by SetLocalTimeZone(), and UpdateDstCheckbox().

◆ HasDaylightSaving()

static BOOL HasDaylightSaving ( PTIMEZONE_ENTRY  Entry)
static

Definition at line 53 of file timezone.c.

54{
55 /* If StandardDate.wMonth is 0, DST does not apply to this timezone */
56 return (Entry != NULL && Entry->TimezoneInfo.StandardDate.wMonth != 0);
57}

Referenced by UpdateDstCheckbox().

◆ RetrieveTimeZone()

static LONG RetrieveTimeZone ( IN HKEY  hZoneKey,
IN PVOID  Context 
)
static

Definition at line 114 of file timezone.c.

117{
118 LONG lError;
120 PTIMEZONE_ENTRY Current;
121 ULONG DescriptionSize;
122 ULONG StandardNameSize;
123 ULONG DaylightNameSize;
124
126 if (Entry == NULL)
127 {
129 }
130
131 DescriptionSize = sizeof(Entry->Description);
132 StandardNameSize = sizeof(Entry->StandardName);
133 DaylightNameSize = sizeof(Entry->DaylightName);
134
135 lError = QueryTimeZoneData(hZoneKey,
136 NULL,
137 &Entry->TimezoneInfo,
138 Entry->Description,
139 &DescriptionSize,
140 Entry->StandardName,
141 &StandardNameSize,
142 Entry->DaylightName,
143 &DaylightNameSize);
144 if (lError != ERROR_SUCCESS)
145 {
147 return lError;
148 }
149
150 if (TimeZoneListHead == NULL &&
152 {
153 Entry->Prev = NULL;
154 Entry->Next = NULL;
157 }
158 else
159 {
160 Current = GetLargerTimeZoneEntry(Entry->TimezoneInfo.Bias, Entry->Description);
161 if (Current != NULL)
162 {
163 if (Current == TimeZoneListHead)
164 {
165 /* Prepend to head */
166 Entry->Prev = NULL;
167 Entry->Next = TimeZoneListHead;
170 }
171 else
172 {
173 /* Insert before current */
174 Entry->Prev = Current->Prev;
175 Entry->Next = Current;
176 Current->Prev->Next = Entry;
177 Current->Prev = Entry;
178 }
179 }
180 else
181 {
182 /* Append to tail */
183 Entry->Prev = TimeZoneListTail;
184 Entry->Next = NULL;
187 }
188 }
189
190 return ERROR_SUCCESS;
191}
#define ERROR_NOT_ENOUGH_MEMORY
Definition: dderror.h:7
#define ERROR_SUCCESS
Definition: deptool.c:10
static PTIMEZONE_ENTRY GetLargerTimeZoneEntry(LONG Bias, LPWSTR lpDescription)
Definition: timezone.c:90
#define HeapAlloc
Definition: compat.h:733
#define HEAP_ZERO_MEMORY
Definition: compat.h:134
HRESULT Next([in] ULONG celt, [out, size_is(celt), length_is(*pceltFetched)] STATPROPSETSTG *rgelt, [out] ULONG *pceltFetched)
long LONG
Definition: pedump.c:60
struct _TIMEZONE_ENTRY * Next
Definition: timezone.c:18
uint32_t ULONG
Definition: typedefs.h:59
LONG QueryTimeZoneData(IN HKEY hZoneKey, OUT PULONG Index OPTIONAL, OUT PREG_TZI_FORMAT TimeZoneInfo, OUT PWCHAR Description OPTIONAL, IN OUT PULONG DescriptionSize OPTIONAL, OUT PWCHAR StandardName OPTIONAL, IN OUT PULONG StandardNameSize OPTIONAL, OUT PWCHAR DaylightName OPTIONAL, IN OUT PULONG DaylightNameSize OPTIONAL)
Definition: tzlib.c:141

Referenced by CreateTimeZoneList().

◆ SetLocalTimeZone()

static VOID SetLocalTimeZone ( HWND  hwnd)
static

Definition at line 281 of file timezone.c.

282{
283 TIME_ZONE_INFORMATION TimeZoneInformation;
285
287 if (Entry == NULL)
288 return;
289
290 wcscpy(TimeZoneInformation.StandardName,
291 Entry->StandardName);
292 wcscpy(TimeZoneInformation.DaylightName,
293 Entry->DaylightName);
294
295 TimeZoneInformation.Bias = Entry->TimezoneInfo.Bias;
296 TimeZoneInformation.StandardBias = Entry->TimezoneInfo.StandardBias;
297 TimeZoneInformation.DaylightBias = Entry->TimezoneInfo.DaylightBias;
298
299 memcpy(&TimeZoneInformation.StandardDate,
300 &Entry->TimezoneInfo.StandardDate,
301 sizeof(SYSTEMTIME));
302 memcpy(&TimeZoneInformation.DaylightDate,
303 &Entry->TimezoneInfo.DaylightDate,
304 sizeof(SYSTEMTIME));
305
306 /* Set time zone information */
307 SetTimeZoneInformation(&TimeZoneInformation);
308}
static PTIMEZONE_ENTRY GetSelectedTimeZoneEntry(HWND hwndCombo)
Definition: timezone.c:33
BOOL WINAPI SetTimeZoneInformation(CONST TIME_ZONE_INFORMATION *lpTimeZoneInformation)
Definition: timezone.c:316
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
wcscpy
SYSTEMTIME DaylightDate
Definition: winbase.h:936
WCHAR DaylightName[32]
Definition: winbase.h:935
WCHAR StandardName[32]
Definition: winbase.h:932
SYSTEMTIME StandardDate
Definition: winbase.h:933
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023

Referenced by TimeZonePageProc().

◆ ShowTimeZoneList()

static VOID ShowTimeZoneList ( HWND  hwnd)
static

Definition at line 222 of file timezone.c.

223{
224 TIME_ZONE_INFORMATION TimeZoneInfo;
226 DWORD dwCount;
227 DWORD dwIndex = 0;
228 BOOL bFound = FALSE;
229
230 if (GetTimeZoneInformation(&TimeZoneInfo) == TIME_ZONE_ID_INVALID)
231 {
232 /* Failed to retrieve current time-zone info, reset it */
233 ZeroMemory(&TimeZoneInfo, sizeof(TimeZoneInfo));
234 }
235
236 for (Entry = TimeZoneListHead; Entry != NULL; Entry = Entry->Next)
237 {
238 dwCount = SendMessageW(hwnd,
240 0,
241 (LPARAM)Entry->Description);
242 if (dwCount == CB_ERR || dwCount == CB_ERRSPACE)
243 continue;
244
245 /* If the time-zone was found in the list, skip the tests */
246 if (bFound)
247 continue;
248
249 if (*TimeZoneInfo.StandardName && *Entry->StandardName)
250 {
251 /* Compare by name */
252 if (wcscmp(Entry->StandardName, TimeZoneInfo.StandardName) == 0)
253 {
254 dwIndex = dwCount;
255 bFound = TRUE;
256 }
257 }
258 else
259 {
260 /* Compare by date and bias */
261 if ((Entry->TimezoneInfo.Bias == TimeZoneInfo.Bias) &&
262 (Entry->TimezoneInfo.StandardBias == TimeZoneInfo.StandardBias) &&
263 (Entry->TimezoneInfo.DaylightBias == TimeZoneInfo.DaylightBias) &&
264 (memcmp(&Entry->TimezoneInfo.StandardDate, &TimeZoneInfo.StandardDate, sizeof(SYSTEMTIME)) == 0) &&
265 (memcmp(&Entry->TimezoneInfo.DaylightDate, &TimeZoneInfo.DaylightDate, sizeof(SYSTEMTIME)) == 0))
266 {
267 dwIndex = dwCount;
268 bFound = TRUE;
269 }
270 }
271 }
272
275 (WPARAM)dwIndex,
276 0);
277}
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
DWORD WINAPI GetTimeZoneInformation(LPTIME_ZONE_INFORMATION lpTimeZoneInformation)
Definition: timezone.c:262
_ACRTIMP int __cdecl wcscmp(const wchar_t *, const wchar_t *)
Definition: wcs.c:1972
_ACRTIMP int __cdecl memcmp(const void *, const void *, size_t)
Definition: string.c:2802
unsigned int BOOL
Definition: ntddk_ex.h:94
#define ZeroMemory
Definition: minwinbase.h:31
LONG_PTR LPARAM
Definition: minwindef.h:175
UINT_PTR WPARAM
Definition: minwindef.h:174
#define TIME_ZONE_ID_INVALID
Definition: winbase.h:310
#define CB_ERRSPACE
Definition: winuser.h:2472
#define CB_SETCURSEL
Definition: winuser.h:1990
#define CB_ADDSTRING
Definition: winuser.h:1965

Referenced by TimeZonePageProc().

◆ TimeZonePageProc()

INT_PTR CALLBACK TimeZonePageProc ( HWND  hwndDlg,
UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam 
)

Definition at line 313 of file timezone.c.

317{
319
320 switch (uMsg)
321 {
322 case WM_INITDIALOG:
323 {
326
327 /* Update DST checkbox based on the selected timezone's DST support */
328 UpdateDstCheckbox(hwndDlg);
329
331 if (hBitmap != NULL)
332 {
333 GetObjectW(hBitmap, sizeof(bitmap), &bitmap);
334
335 cxSource = bitmap.bmWidth;
336 cySource = bitmap.bmHeight;
337 }
338 break;
339 }
340
341 case WM_DRAWITEM:
342 {
343 LPDRAWITEMSTRUCT lpDrawItem;
344 lpDrawItem = (LPDRAWITEMSTRUCT)lParam;
345 if(lpDrawItem->CtlID == IDC_WORLD_BACKGROUND)
346 {
347 HDC hdcMem;
348 hdcMem = CreateCompatibleDC(lpDrawItem->hDC);
349 if (hdcMem != NULL)
350 {
352 StretchBlt(lpDrawItem->hDC, lpDrawItem->rcItem.left, lpDrawItem->rcItem.top,
353 lpDrawItem->rcItem.right - lpDrawItem->rcItem.left,
354 lpDrawItem->rcItem.bottom - lpDrawItem->rcItem.top,
357 }
358 }
359 }
360 break;
361
362 case WM_COMMAND:
364 {
365 /* Update DST checkbox based on the selected timezone's DST support */
366 UpdateDstCheckbox(hwndDlg);
367 /* Enable the 'Apply' button */
368 PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
369 }
371 {
372 /* Enable the 'Apply' button */
373 PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
374 }
375 break;
376
377 case WM_DESTROY:
380 break;
381
382 case WM_NOTIFY:
383 {
384 LPNMHDR lpnm = (LPNMHDR)lParam;
385
386 switch (lpnm->code)
387 {
388 case PSN_APPLY:
389 {
391 BM_GETCHECK, 0, 0) != BST_UNCHECKED);
394 return TRUE;
395 }
396
397 default:
398 break;
399 }
400 }
401 break;
402 }
403
404 return FALSE;
405}
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
HINSTANCE hApplet
Definition: access.c:17
#define IDC_WORLD_BACKGROUND
Definition: resource.h:18
#define IDC_TIMEZONELIST
Definition: resource.h:16
#define IDC_WORLD
Definition: resource.h:19
#define IDC_AUTODAYLIGHT
Definition: resource.h:17
static VOID CreateTimeZoneList(VOID)
Definition: timezone.c:194
static VOID SetLocalTimeZone(HWND hwnd)
Definition: timezone.c:281
static int cySource
Definition: timezone.c:27
static VOID UpdateDstCheckbox(HWND hwndDlg)
Definition: timezone.c:60
static int cxSource
Definition: timezone.c:27
static HBITMAP hBitmap
Definition: timezone.c:26
static VOID DestroyTimeZoneList(VOID)
Definition: timezone.c:200
static VOID ShowTimeZoneList(HWND hwnd)
Definition: timezone.c:222
pKey DeleteObject()
static HDC
Definition: imagelist.c:88
#define LOWORD(l)
Definition: pedump.c:82
#define PropSheet_Changed(d, w)
Definition: prsht.h:344
#define PSN_APPLY
Definition: prsht.h:117
#define PSNRET_NOERROR
Definition: prsht.h:129
#define WM_NOTIFY
Definition: richedit.h:61
Definition: uimain.c:89
UINT code
Definition: winuser.h:3267
LONG right
Definition: windef.h:108
LONG bottom
Definition: windef.h:109
LONG top
Definition: windef.h:107
LONG left
Definition: windef.h:106
#define SetWindowLongPtr
Definition: treelist.c:70
#define HIWORD(l)
Definition: typedefs.h:247
VOID SetAutoDaylight(IN BOOL EnableAutoDaylightTime)
Definition: tzlib.c:323
HDC hdcMem
Definition: welcome.c:104
int WINAPI GetObjectW(_In_ HANDLE h, _In_ int c, _Out_writes_bytes_opt_(c) LPVOID pv)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
Definition: dc.c:1546
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
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)
#define SRCCOPY
Definition: wingdi.h:333
BOOL WINAPI DeleteDC(_In_ HDC)
struct tagDRAWITEMSTRUCT * LPDRAWITEMSTRUCT
#define IMAGE_BITMAP
Definition: winuser.h:211
#define BST_UNCHECKED
Definition: winuser.h:199
#define WM_COMMAND
Definition: winuser.h:1768
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:2572
#define WM_INITDIALOG
Definition: winuser.h:1767
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
#define WM_DRAWITEM
Definition: winuser.h:1673
#define CBN_SELCHANGE
Definition: winuser.h:2008
struct tagNMHDR * LPNMHDR
HWND WINAPI GetParent(_In_ HWND)
#define DWLP_MSGRESULT
Definition: winuser.h:881
#define LR_DEFAULTCOLOR
Definition: winuser.h:1098
#define BN_CLICKED
Definition: winuser.h:1954
#define WM_DESTROY
Definition: winuser.h:1637
#define MAKEINTRESOURCEW(i)
Definition: winuser.h:582
#define SendDlgItemMessage
Definition: winuser.h:6008
#define BM_GETCHECK
Definition: winuser.h:1947

Referenced by Applet().

◆ UpdateDstCheckbox()

static VOID UpdateDstCheckbox ( HWND  hwndDlg)
static

Definition at line 60 of file timezone.c.

61{
62 HWND hwndCombo = GetDlgItem(hwndDlg, IDC_TIMEZONELIST);
63 HWND hwndCheckbox = GetDlgItem(hwndDlg, IDC_AUTODAYLIGHT);
65 BOOL bHasDst;
66
68 bHasDst = HasDaylightSaving(Entry);
69
70 /* Enable or disable the checkbox based on DST support, and respect user preference when DST is supported */
71 if (bHasDst)
72 {
73 BOOL bAutoDaylight = GetAutoDaylight();
74
75 EnableWindow(hwndCheckbox, TRUE);
76 SendMessageW(hwndCheckbox,
78 bAutoDaylight ? BST_CHECKED : BST_UNCHECKED,
79 0);
80 }
81 else
82 {
83 EnableWindow(hwndCheckbox, FALSE);
84 SendMessageW(hwndCheckbox, BM_SETCHECK, BST_UNCHECKED, 0);
85 }
86}
static BOOL HasDaylightSaving(PTIMEZONE_ENTRY Entry)
Definition: timezone.c:53
BOOL GetAutoDaylight(VOID)
Definition: tzlib.c:283
#define BM_SETCHECK
Definition: winuser.h:1950
BOOL WINAPI EnableWindow(_In_ HWND, _In_ BOOL)
#define BST_CHECKED
Definition: winuser.h:197

Referenced by TimeZonePageProc().

Variable Documentation

◆ cxSource

int cxSource
static

Definition at line 27 of file timezone.c.

Referenced by TimeZonePageProc().

◆ cySource

int cySource
static

Definition at line 27 of file timezone.c.

Referenced by TimeZonePageProc().

◆ hBitmap

HBITMAP hBitmap = NULL
static

Definition at line 26 of file timezone.c.

Referenced by _write_bitmap(), add_ruler_units(), AddContentTab(), ATL::CImage::Attach(), ATL::CImage::AttachInternal(), BitBltFromClipboard(), BITMAP_CopyBitmap(), BitmapFromClipboardDIB(), BitmapToClipboardDIB(), C1_DrawLabel(), cicConvertBlackBKGBitmap(), cicCreateDitherBrush(), cicCreateMaskBmp(), cicMirrorBitmap(), ClipboardReadBitmap(), ImageModel::CopyBitmap(), create_test_bitmap(), CCicLibMenuItem::CreateBitmap(), CreateCaret(), CreateDIBitmap(), CreateDIBSection(), ATL::CImage::Detach(), DoLoadImageFile(), EMFDRV_StretchBlt(), Get16BitD3DFormat(), GetClipboardDataDimensions(), GetDIBHeight(), GetDIBWidth(), GreGetBitmapDimension(), GreGetDIBitsInternal(), ImageList_AddMasked(), Imm32DrawBitmap(), DragSourceHelper::InitializeFromBitmap(), InitializeImage(), IntSetDIBits(), ImageModel::IsBlackAndWhite(), IWICImagingFactory_CreateBitmapFromHBITMAP_Proxy_W(), load_picture(), LoadCardBitmapsFromLibrary(), MDI_AugmentFrameMenu(), MFDRV_StretchBlt(), NT5_DrawBaseBackground(), NT5_DrawLogoffIcon(), NtGdiGetBitmapBits(), NtGdiGetBitmapDimension(), NtGdiSetBitmapBits(), NtGdiSetBitmapDimension(), NtGdiStretchDIBitsInternal(), NtUserCreateCaret(), OnDestroy(), OnPaint(), CAppScrnshotPreview::PaintOnDC(), Preview_CreateToolBar(), ImageModel::PushBlackAndWhite(), SaveDIBToFile(), serializeBMP(), CardWindow::SetBackImage(), CUIFBitmapDC::SetBitmap(), CMenuDeskBar::SetBitmap(), SetBitmapAndInfo(), SetDIBits(), START_TEST(), STATIC_PaintBitmapfn(), STATIC_SetBitmap(), STATIC_WindowProc(), StaticWndProc_common(), T1_DrawLabels(), Test_Bitmap(), Test_BitmapEntry(), Test_CompatBitmapEntry(), Test_Dibsection(), Test_DIBSectionEntry(), test_emf_BitBlt(), test_marshal_HBITMAP(), Test_PatBlt_Params(), TimeZonePageProc(), TOOLBAR_ReplaceBitmap(), and TrayIcon_GetProcessorUsageIcon().

◆ TimeZoneListHead

◆ TimeZoneListTail

PTIMEZONE_ENTRY TimeZoneListTail = NULL

Definition at line 30 of file timezone.c.

Referenced by DestroyTimeZoneList(), and RetrieveTimeZone().