ReactOS  0.4.15-dev-5499-g1341c38
deskadp.c
Go to the documentation of this file.
1 #include "precomp.h"
2 
3 #include <tchar.h>
4 
5 #define NDEBUG
6 #include <debug.h>
7 
8 #include "resource.h"
9 
11 
13 
14 static VOID
17  DWORD dwBufferLen)
18 {
19  UINT uid = 0;
20 
21  switch (lpDevMode->dmBitsPerPel)
22  {
23  case 4:
24  uid = IDS_4BPP;
25  break;
26  case 8:
27  uid = IDS_8BPP;
28  break;
29  case 15:
30  uid = IDS_15BPP;
31  break;
32  case 16:
33  uid = IDS_16BPP;
34  break;
35  case 24:
36  uid = IDS_24BPP;
37  break;
38  case 32:
39  uid = IDS_32BPP;
40  break;
41  }
42 
43  if (uid == 0 ||
45  uid,
46  lpBuffer,
47  dwBufferLen))
48  {
49  lpBuffer[0] = TEXT('\0');
50  }
51 }
52 
53 static VOID
56  DWORD dwBufferLen)
57 {
58  TCHAR szFormat[64];
59 
60  if (lpDevMode->dmDisplayFrequency <= 1)
61  {
62  if (!LoadString(hInstance,
64  lpBuffer,
65  dwBufferLen))
66  {
67  lpBuffer[0] = TEXT('\0');
68  }
69  }
70  else
71  {
72  if (!LoadString(hInstance,
74  szFormat,
75  sizeof(szFormat) / sizeof(szFormat[0])))
76  {
77  szFormat[0] = TEXT('\0');
78  }
79 
81  dwBufferLen,
82  szFormat,
84  }
85 }
86 
87 static VOID
89  HWND hwndListAllModesDlg)
90 {
91  TCHAR szFormat[64], szBuffer[64], szColors[64], szRefreshRate[64];
92  PDEVMODEW lpDevMode, lpCurrentDevMode;
93  DWORD dwIndex = 0;
94  INT i;
95 
96  if (This->DeskExtInterface != NULL)
97  {
98  if (!LoadString(hInstance,
100  szFormat,
101  sizeof(szFormat) / sizeof(szFormat[0])))
102  {
103  szFormat[0] = TEXT('\0');
104  }
105 
106  lpCurrentDevMode = This->DeskExtInterface->GetCurrentMode(This->DeskExtInterface->Context);
107 
108  do
109  {
110  lpDevMode = This->DeskExtInterface->EnumAllModes(This->DeskExtInterface->Context,
111  dwIndex++);
112  if (lpDevMode != NULL)
113  {
115  szColors,
116  sizeof(szColors) / sizeof(szColors[0]));
117 
119  szRefreshRate,
120  sizeof(szRefreshRate) / sizeof(szRefreshRate[0]));
121 
122  _sntprintf(szBuffer,
123  sizeof(szBuffer) / sizeof(szBuffer[0]),
124  szFormat,
127  szColors,
128  szRefreshRate);
129 
130  i = (INT)SendDlgItemMessage(hwndListAllModesDlg,
132  LB_ADDSTRING,
133  0,
134  (LPARAM)szBuffer);
135  if (i >= 0)
136  {
137  SendDlgItemMessage(hwndListAllModesDlg,
140  (WPARAM)i,
141  (LPARAM)lpDevMode);
142 
143  if (lpDevMode == lpCurrentDevMode)
144  {
145  SendDlgItemMessage(hwndListAllModesDlg,
147  LB_SETCURSEL,
148  (WPARAM)i,
149  0);
150  }
151  }
152  }
153 
154  } while (lpDevMode != NULL);
155  }
156 }
157 
158 static BOOL
160  HWND hwndListAllModesDlg)
161 {
162  INT i;
163  PDEVMODEW lpSelDevMode = NULL;
164  BOOL bRet = FALSE;
165 
166  i = (INT)SendDlgItemMessage(hwndListAllModesDlg,
168  LB_GETCURSEL,
169  0,
170  0);
171 
172  if (i >= 0)
173  {
174  lpSelDevMode = (PDEVMODEW)SendDlgItemMessage(hwndListAllModesDlg,
177  (WPARAM)i,
178  0);
179  }
180 
181  if (lpSelDevMode != NULL)
182  {
183  This->lpSelDevMode = lpSelDevMode;
184  bRet = TRUE;
185  }
186 
187  return bRet;
188 }
189 
190 static INT_PTR CALLBACK
192  UINT uMsg,
193  WPARAM wParam,
194  LPARAM lParam)
195 {
197  INT_PTR Ret = 0;
198 
199  if (uMsg != WM_INITDIALOG)
200  {
202  }
203 
204  switch (uMsg)
205  {
206  case WM_INITDIALOG:
209 
211  hwndDlg);
212  Ret = TRUE;
213  break;
214 
215  case WM_COMMAND:
216  switch (LOWORD(wParam))
217  {
218  case IDOK:
220  hwndDlg))
221  {
222  EndDialog(hwndDlg,
223  IDOK);
224  }
225  break;
226 
227  case IDCANCEL:
228  EndDialog(hwndDlg,
229  IDCANCEL);
230  break;
231  }
232  break;
233 
234  case WM_CLOSE:
235  EndDialog(hwndDlg,
236  IDCANCEL);
237  break;
238  }
239 
240  return Ret;
241 }
242 
243 static VOID
245 {
246  PDEVMODEW lpPrevSel;
247 
248  lpPrevSel = This->lpSelDevMode;
249 
250  if (This->DeskExtInterface != NULL &&
253  This->hwndDlg,
255  (LPARAM)This) == IDOK)
256  {
257  if (lpPrevSel != This->lpSelDevMode)
258  {
260  This->hwndDlg);
261  This->DeskExtInterface->SetCurrentMode(This->DeskExtInterface->Context,
262  This->lpSelDevMode);
263  }
264  }
265 }
266 
267 static VOID
269 {
270  HMODULE hDevMgr;
271  PDEVICEPROPERTIESW pDevicePropertiesW;
272 
273  hDevMgr = LoadLibrary(TEXT("devmgr.dll"));
274  if (hDevMgr != NULL)
275  {
276  pDevicePropertiesW = (PDEVICEPROPERTIESW)GetProcAddress(hDevMgr,
277  "DevicePropertiesW");
278  if (pDevicePropertiesW != NULL)
279  {
280  pDevicePropertiesW(This->hwndDlg,
281  NULL,
282  This->lpDeviceId,
283  FALSE);
284  }
285 
286  FreeLibrary(hDevMgr);
287  }
288 }
289 
290 static VOID
292 {
293  LPTSTR lpAdapterName;
294  TCHAR lpNA[64];
295 
296  This->lpDeviceId = QueryDeskCplString(This->pdtobj,
298  EnableWindow(GetDlgItem(This->hwndDlg,
300  This->lpDeviceId != NULL && This->lpDeviceId[0] != TEXT('\0'));
301  lpAdapterName = QueryDeskCplString(This->pdtobj,
303  if (lpAdapterName != NULL)
304  {
305  SetDlgItemText(This->hwndDlg,
307  lpAdapterName);
308 
309  LocalFree((HLOCAL)lpAdapterName);
310  }
311 
313  IDS_NOTAVAIL,
314  lpNA,
315  _countof(lpNA));
316 
317  if (This->DeskExtInterface != NULL)
318  {
319  SetDlgItemTextW(This->hwndDlg,
320  IDC_CHIPTYPE,
321  *(This->DeskExtInterface->ChipType) ? This->DeskExtInterface->ChipType : lpNA);
322  SetDlgItemTextW(This->hwndDlg,
323  IDC_DACTYPE,
324  *(This->DeskExtInterface->DacType) ? This->DeskExtInterface->DacType : lpNA);
325  SetDlgItemTextW(This->hwndDlg,
327  *(This->DeskExtInterface->MemorySize) ? This->DeskExtInterface->MemorySize : lpNA);
328  SetDlgItemTextW(This->hwndDlg,
330  *(This->DeskExtInterface->AdapterString) ? This->DeskExtInterface->AdapterString : lpNA);
331  SetDlgItemTextW(This->hwndDlg,
333  *(This->DeskExtInterface->BiosString) ? This->DeskExtInterface->BiosString : lpNA);
334 
335  This->lpDevModeOnInit = This->DeskExtInterface->GetCurrentMode(This->DeskExtInterface->Context);
336  }
337  else
338  {
339  This->lpDevModeOnInit = NULL;
340  SetDlgItemTextW(This->hwndDlg, IDC_CHIPTYPE, lpNA);
341  SetDlgItemTextW(This->hwndDlg, IDC_DACTYPE, lpNA);
342  SetDlgItemTextW(This->hwndDlg, IDC_MEMORYSIZE, lpNA);
343  SetDlgItemTextW(This->hwndDlg, IDC_ADAPTERSTRING, lpNA);
344  SetDlgItemTextW(This->hwndDlg, IDC_BIOSINFORMATION, lpNA);
345  }
346 
347  This->lpSelDevMode = This->lpDevModeOnInit;
348 }
349 
350 static LONG
352 {
353  LONG lChangeRet;
354 
355  if (This->DeskExtInterface != NULL)
356  {
357  /* Change the display settings through desk.cpl */
358  lChangeRet = DeskCplExtDisplaySaveSettings(This->DeskExtInterface,
359  This->hwndDlg);
360  if (lChangeRet == DISP_CHANGE_SUCCESSFUL)
361  {
362  /* Save the new mode */
363  This->lpDevModeOnInit = This->DeskExtInterface->GetCurrentMode(This->DeskExtInterface->Context);
364  This->lpSelDevMode = This->lpDevModeOnInit;
365  return PSNRET_NOERROR;
366  }
367  else if (lChangeRet == DISP_CHANGE_RESTART)
368  {
369  /* Notify desk.cpl that the user needs to reboot */
371  return PSNRET_NOERROR;
372  }
373  }
374 
376 }
377 
378 static VOID
380 {
381  if (This->DeskExtInterface != NULL && This->lpDevModeOnInit != NULL)
382  {
383  This->DeskExtInterface->SetCurrentMode(This->DeskExtInterface->Context,
384  This->lpDevModeOnInit);
385  }
386 }
387 
388 static INT_PTR CALLBACK
390  UINT uMsg,
391  WPARAM wParam,
392  LPARAM lParam)
393 {
395  INT_PTR Ret = 0;
396 
397  if (uMsg != WM_INITDIALOG)
398  {
400  }
401 
402  switch (uMsg)
403  {
404  case WM_INITDIALOG:
406  This->hwndDlg = hwndDlg;
408 
410  Ret = TRUE;
411  break;
412 
413  case WM_COMMAND:
414  switch (LOWORD(wParam))
415  {
418  break;
419 
420  case IDC_LISTALLMODES:
422  break;
423  }
424 
425  break;
426 
427  case WM_NOTIFY:
428  {
429  NMHDR *nmh = (NMHDR *)lParam;
430 
431  switch (nmh->code)
432  {
433  case PSN_APPLY:
434  {
435  SetWindowLongPtr(hwndDlg,
438  Ret = TRUE;
439  break;
440  }
441 
442  case PSN_RESET:
444  break;
445  }
446  break;
447  }
448  }
449 
450  return Ret;
451 }
452 
453 static VOID
455 {
456  if (This->pdtobj != NULL)
457  {
458  IDataObject_Release(This->pdtobj);
459  This->pdtobj = NULL;
460  }
461 
462  if (This->DeskExtInterface != NULL)
463  {
464  LocalFree((HLOCAL)This->DeskExtInterface);
465  This->DeskExtInterface = NULL;
466  }
467 
468  if (This->lpDeviceId != NULL)
469  {
470  LocalFree((HLOCAL)This->lpDeviceId);
471  This->lpDeviceId = NULL;
472  }
473 }
474 
475 ULONG
477 {
478  ULONG ret;
479 
481  if (ret == 1)
483 
484  return ret;
485 }
486 
487 ULONG
489 {
490  ULONG ret;
491 
493  if (ret == 0)
494  {
497 
499  0,
500  This);
501  }
502 
503  return ret;
504 }
505 
508  REFIID iid,
509  PVOID *pvObject)
510 {
511  *pvObject = NULL;
512 
513  if (IsEqualIID(iid,
514  &IID_IShellPropSheetExt) ||
515  IsEqualIID(iid,
516  &IID_IUnknown))
517  {
519  }
520  else if (IsEqualIID(iid,
521  &IID_IShellExtInit))
522  {
523  *pvObject = impl_to_interface(This, IShellExtInit);
524  }
525  else if (IsEqualIID(iid,
527  {
528  *pvObject = impl_to_interface(This, IClassFactory);
529  }
530  else
531  {
532  DPRINT1("IDeskDisplayAdapter::QueryInterface(%p,%p): E_NOINTERFACE\n", iid, pvObject);
533  return E_NOINTERFACE;
534  }
535 
537  return S_OK;
538 }
539 
540 HRESULT
542  LPCITEMIDLIST pidlFolder,
543  IDataObject *pdtobj,
544  HKEY hkeyProgID)
545 {
546  DPRINT1("IDeskDisplayAdapter::Initialize(%p,%p,%p)\n", pidlFolder, pdtobj, hkeyProgID);
547 
548  if (pdtobj != NULL)
549  {
550  IDataObject_AddRef(pdtobj);
551  This->pdtobj = pdtobj;
552 
553  /* Get a copy of the desk.cpl extension interface */
554  This->DeskExtInterface = QueryDeskCplExtInterface(This->pdtobj);
555  if (This->DeskExtInterface != NULL)
556  return S_OK;
557  }
558 
559  return S_FALSE;
560 }
561 
562 HRESULT
564  LPFNADDPROPSHEETPAGE pfnAddPage,
565  LPARAM lParam)
566 {
567  HPROPSHEETPAGE hpsp;
568  PROPSHEETPAGE psp;
569 
570  DPRINT1("IDeskDisplayAdapter::AddPages(%p,%p)\n", pfnAddPage, lParam);
571 
572  psp.dwSize = sizeof(psp);
573  psp.dwFlags = PSP_DEFAULT;
574  psp.hInstance = hInstance;
575  psp.pszTemplate = MAKEINTRESOURCE(IDD_DISPLAYADAPTER);
576  psp.pfnDlgProc = DisplayAdapterDlgProc;
577  psp.lParam = (LPARAM)This;
578 
579  hpsp = CreatePropertySheetPage(&psp);
580  if (hpsp != NULL && pfnAddPage(hpsp, lParam))
581  return S_OK;
582 
583  return S_FALSE;
584 }
585 
586 HRESULT
588  EXPPS uPageID,
589  LPFNADDPROPSHEETPAGE pfnReplacePage,
590  LPARAM lParam)
591 {
592  DPRINT1("IDeskDisplayAdapter::ReplacePage(%u,%p,%p)\n", uPageID, pfnReplacePage, lParam);
593  return E_NOTIMPL;
594 }
595 
596 HRESULT
598  LPVOID *ppv)
599 {
601  HRESULT hRet = E_OUTOFMEMORY;
602 
603  DPRINT1("IDeskDisplayAdapter::Constructor(%p,%p)\n", riid, ppv);
604 
606  0,
607  sizeof(*This));
608  if (This != NULL)
609  {
611  sizeof(*This));
612 
614 
616  riid,
617  ppv);
618  if (!SUCCEEDED(hRet))
620  }
621 
622  return hRet;
623 }
624 
625 BOOL WINAPI
627  DWORD dwReason,
629 {
630  switch (dwReason)
631  {
632  case DLL_PROCESS_ATTACH:
633  hInstance = hinstDLL;
635  break;
636  }
637 
638  return TRUE;
639 }
#define IDC_LISTALLMODES
Definition: resource.h:13
#define LB_SETCURSEL
Definition: winuser.h:2053
#define MAKEINTRESOURCE
Definition: winuser.h:591
#define IDC_MEMORYSIZE
Definition: resource.h:10
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD dwReason, LPVOID lpvReserved)
Definition: deskadp.c:626
#define REFIID
Definition: guiddef.h:118
#define IDOK
Definition: winuser.h:824
static VOID InitListAllModesDialog(PDESKDISPLAYADAPTER This, HWND hwndListAllModesDlg)
Definition: deskadp.c:88
HRESULT IDeskDisplayAdapter_Constructor(REFIID riid, LPVOID *ppv)
Definition: deskadp.c:597
#define E_NOINTERFACE
Definition: winerror.h:2364
#define DESK_EXT_DISPLAYNAME
Definition: deskcplx.h:9
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:49
struct _devicemodeW * PDEVMODEW
DECLSPEC_HIDDEN LONG dll_refs
Definition: devenum_main.c:28
static VOID ResetDisplayAdapterChanges(PDESKDISPLAYADAPTER This)
Definition: deskadp.c:379
#define LoadLibrary
Definition: winbase.h:3733
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
#define DISP_CHANGE_RESTART
Definition: winuser.h:191
static INT_PTR CALLBACK ListAllModesDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: deskadp.c:191
#define LB_ADDSTRING
Definition: winuser.h:2021
#define TRUE
Definition: types.h:120
REFIID riid
Definition: precomp.h:44
#define LB_GETITEMDATA
Definition: winuser.h:2031
DWORD dmDisplayFrequency
Definition: wingdi.h:1602
static __inline PDESK_EXT_INTERFACE QueryDeskCplExtInterface(IDataObject *pdo)
Definition: deskcplx.h:48
#define PropSheet_RestartWindows(d)
Definition: prsht.h:352
#define IDD_DISPLAYADAPTER
Definition: resource.h:3
#define INT
Definition: polytest.cpp:20
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
Definition: shtypes.idl:42
#define IDC_ADAPTERSTRING
Definition: resource.h:11
#define CALLBACK
Definition: compat.h:35
REFIID LPVOID * ppv
Definition: atlbase.h:39
HANDLE HWND
Definition: compat.h:19
BOOL WINAPI DisableThreadLibraryCalls(IN HMODULE hLibModule)
Definition: loader.c:85
#define ZeroMemory
Definition: winbase.h:1670
BOOL(CALLBACK * LPFNADDPROPSHEETPAGE)(HPROPSHEETPAGE, LPARAM)
Definition: prsht.h:327
HRESULT STDMETHODCALLTYPE IDeskDisplayAdapter_QueryInterface(PDESKDISPLAYADAPTER This, REFIID iid, PVOID *pvObject)
Definition: deskadp.c:507
#define DLL_PROCESS_ATTACH
Definition: compat.h:131
static VOID IDeskDisplayAdapter_Destroy(PDESKDISPLAYADAPTER This)
Definition: deskadp.c:454
static VOID ShowAdapterProperties(PDESKDISPLAYADAPTER This)
Definition: deskadp.c:268
UINT_PTR WPARAM
Definition: windef.h:207
#define SendDlgItemMessage
Definition: winuser.h:5832
#define PSN_APPLY
Definition: prsht.h:117
int32_t INT_PTR
Definition: typedefs.h:64
#define DESK_EXT_DISPLAYID
Definition: deskcplx.h:10
static __inline LONG DeskCplExtDisplaySaveSettings(PDESK_EXT_INTERFACE DeskExtInterface, HWND hwndDlg)
Definition: deskcplx.h:122
#define BOOL
Definition: nt_native.h:43
HRESULT IDeskDisplayAdapter_AddPages(PDESKDISPLAYADAPTER This, LPFNADDPROPSHEETPAGE pfnAddPage, LPARAM lParam)
Definition: deskadp.c:563
int32_t INT
Definition: typedefs.h:58
#define SetWindowLongPtr
Definition: treelist.c:70
BOOL WINAPI EndDialog(_In_ HWND, _In_ INT_PTR)
WPARAM wParam
Definition: combotst.c:138
CHAR * LPTSTR
Definition: xmlstorage.h:192
static IN DWORD IN LPVOID lpvReserved
#define DWLP_MSGRESULT
Definition: winuser.h:864
BOOL WINAPI SetDlgItemTextW(_In_ HWND, _In_ int, _In_ LPCWSTR)
UINT code
Definition: winuser.h:3149
DWORD dwReason
Definition: misc.cpp:154
#define IDES_REFRESHRATEFMT
Definition: resource.h:20
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define FALSE
Definition: types.h:117
unsigned int BOOL
Definition: ntddk_ex.h:94
long LONG
Definition: pedump.c:60
if SUCCEEDED(hr)
struct _PSP * HPROPSHEETPAGE
Definition: mstask.idl:90
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
Definition: db.cpp:175
#define S_FALSE
Definition: winerror.h:2357
#define PSNRET_INVALID_NOCHANGEPAGE
Definition: prsht.h:131
#define IDS_4BPP
Definition: resource.h:21
LONG_PTR LPARAM
Definition: windef.h:208
static BOOL ChangeSelectedMode(PDESKDISPLAYADAPTER This, HWND hwndListAllModesDlg)
Definition: deskadp.c:159
ULONG IDeskDisplayAdapter_AddRef(PDESKDISPLAYADAPTER This)
Definition: deskadp.c:476
#define IDS_15BPP
Definition: resource.h:23
static _In_ DWORD _Inout_ PDEVMODEA lpDevMode
Definition: dispmode.c:77
#define IDC_CHIPTYPE
Definition: resource.h:8
static VOID GetColorDescription(PDEVMODEW lpDevMode, LPTSTR lpBuffer, DWORD dwBufferLen)
Definition: deskadp.c:15
#define CreatePropertySheetPage
Definition: prsht.h:399
static INT_PTR CALLBACK DisplayAdapterDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: deskadp.c:389
char TCHAR
Definition: xmlstorage.h:189
#define PSP_DEFAULT
Definition: prsht.h:22
INT_PTR(WINAPI * PDEVICEPROPERTIESW)(HWND, LPCWSTR, LPCWSTR, BOOL)
Definition: deskadp.c:12
#define FreeLibrary(x)
Definition: compat.h:748
#define GetProcessHeap()
Definition: compat.h:736
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
#define PropSheet_Changed(d, w)
Definition: prsht.h:344
LONG HRESULT
Definition: typedefs.h:79
ULONG IDeskDisplayAdapter_Release(PDESKDISPLAYADAPTER This)
Definition: deskadp.c:488
#define _countof(array)
Definition: sndvol32.h:68
const GUID IID_IUnknown
#define WM_CLOSE
Definition: winuser.h:1611
#define WINAPI
Definition: msvc.h:6
#define DISP_CHANGE_SUCCESSFUL
Definition: winuser.h:190
VOID IDeskDisplayAdapter_InitIface(PDESKDISPLAYADAPTER This)
Definition: shxiface.c:176
#define STDMETHODCALLTYPE
Definition: bdasup.h:9
unsigned long DWORD
Definition: ntddk_ex.h:95
#define LPCPROPSHEETPAGE
Definition: prsht.h:391
#define IDS_MODEFMT
Definition: resource.h:18
DWORD dmPelsHeight
Definition: wingdi.h:1597
#define LB_SETITEMDATA
Definition: winuser.h:2055
#define SetDlgItemText
Definition: winuser.h:5839
#define IDC_ADAPTERNAME
Definition: resource.h:6
#define PSNRET_NOERROR
Definition: prsht.h:129
#define DialogBoxParam
Definition: winuser.h:5754
int ret
struct _DESKDISPLAYADAPTER * PDESKDISPLAYADAPTER
#define InterlockedDecrement
Definition: armddk.h:52
#define DWLP_USER
Definition: winuser.h:866
HRESULT IDeskDisplayAdapter_ReplacePage(PDESKDISPLAYADAPTER This, EXPPS uPageID, LPFNADDPROPSHEETPAGE pfnReplacePage, LPARAM lParam)
Definition: deskadp.c:587
#define _sntprintf
Definition: xmlstorage.h:201
#define WM_COMMAND
Definition: winuser.h:1730
#define IDS_16BPP
Definition: resource.h:24
#define RegisterClipboardFormat
Definition: winuser.h:5828
BOOL WINAPI EnableWindow(_In_ HWND, _In_ BOOL)
#define IDS_24BPP
Definition: resource.h:25
DWORD dmBitsPerPel
Definition: wingdi.h:1595
HRESULT IDeskDisplayAdapter_Initialize(PDESKDISPLAYADAPTER This, LPCITEMIDLIST pidlFolder, IDataObject *pdtobj, HKEY hkeyProgID)
Definition: deskadp.c:541
HWND WINAPI GetParent(_In_ HWND)
#define S_OK
Definition: intsafe.h:52
#define TEXT(s)
Definition: k32.h:26
#define IDC_ALLVALIDMODES
Definition: resource.h:16
#define InterlockedIncrement
Definition: armddk.h:53
static LONG ApplyDisplayAdapterChanges(PDESKDISPLAYADAPTER This)
Definition: deskadp.c:351
#define impl_to_interface(impl, iface)
Definition: dwnl.c:35
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
HLOCAL NTAPI LocalFree(HLOCAL hMem)
Definition: heapmem.c:1577
#define PSN_RESET
Definition: prsht.h:118
#define E_NOTIMPL
Definition: ddrawi.h:99
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
#define LB_GETCURSEL
Definition: winuser.h:2029
unsigned int UINT
Definition: ndis.h:50
#define NULL
Definition: types.h:112
#define IDC_ADAPTERPROPERTIES
Definition: resource.h:7
#define DPRINT1
Definition: precomp.h:8
static VOID ShowListAllModes(PDESKDISPLAYADAPTER This)
Definition: deskadp.c:244
static __inline LPTSTR QueryDeskCplString(IDataObject *pdo, UINT cfFormat)
Definition: deskcplx.h:84
#define IDS_32BPP
Definition: resource.h:26
unsigned int ULONG
Definition: retypes.h:1
#define GetProcAddress(x, y)
Definition: compat.h:753
#define IDC_DACTYPE
Definition: resource.h:9
#define IDS_NOTAVAIL
Definition: resource.h:27
#define GetWindowLongPtr
Definition: treelist.c:73
#define IDCANCEL
Definition: winuser.h:825
const GUID IID_IClassFactory
signed int * PLONG
Definition: retypes.h:5
#define IDD_LISTALLMODES
Definition: resource.h:4
static VOID InitDisplayAdapterDialog(PDESKDISPLAYADAPTER This)
Definition: deskadp.c:291
#define IDC_BIOSINFORMATION
Definition: resource.h:12
#define WM_INITDIALOG
Definition: winuser.h:1729
LPARAM lParam
Definition: combotst.c:139
#define LOWORD(l)
Definition: pedump.c:82
#define HeapFree(x, y, z)
Definition: compat.h:735
#define LoadString
Definition: winuser.h:5809
#define IDS_DEFREFRESHRATE
Definition: resource.h:19
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95
static VOID GetRefreshRateDescription(PDEVMODEW lpDevMode, LPTSTR lpBuffer, DWORD dwBufferLen)
Definition: deskadp.c:54
#define PROPSHEETPAGE
Definition: prsht.h:389
#define IDS_8BPP
Definition: resource.h:22
#define WM_NOTIFY
Definition: richedit.h:61
static HINSTANCE hInstance
Definition: deskadp.c:10
DWORD dmPelsWidth
Definition: wingdi.h:1596