2 * PROJECT: ReactOS system libraries
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: dll/win32/syssetup/proppage.c
5 * PURPOSE: Property page providers
6 * PROGRAMMERS: Copyright 2018 Eric Kohl <eric.kohl@reactos.org>
14 DWORD MouseSampleRates
[] = {20, 40, 60, 80, 100, 200};
22 CdromPropPageProvider(
23 _In_ PSP_PROPSHEETPAGE_REQUEST lpPropSheetPageRequest
,
24 _In_ LPFNADDPROPSHEETPAGE lpfnAddPropSheetPageProc
,
27 DPRINT("CdromPropPageProvider(%p %p %lx)\n",
28 lpPropSheetPageRequest
, lpfnAddPropSheetPageProc
, lParam
);
39 _In_ PSP_PROPSHEETPAGE_REQUEST lpPropSheetPageRequest
,
40 _In_ LPFNADDPROPSHEETPAGE lpfnAddPropSheetPageProc
,
43 DPRINT("DiskPropPageProvider(%p %p %lx)\n",
44 lpPropSheetPageRequest
, lpfnAddPropSheetPageProc
, lParam
);
54 EisaUpHalPropPageProvider(
55 _In_ PSP_PROPSHEETPAGE_REQUEST lpPropSheetPageRequest
,
56 _In_ LPFNADDPROPSHEETPAGE lpfnAddPropSheetPageProc
,
59 DPRINT("EisaUpHalPropPageProvider(%p %p %lx)\n",
60 lpPropSheetPageRequest
, lpfnAddPropSheetPageProc
, lParam
);
70 LegacyDriverPropPageProvider(
71 _In_ PSP_PROPSHEETPAGE_REQUEST lpPropSheetPageRequest
,
72 _In_ LPFNADDPROPSHEETPAGE lpfnAddPropSheetPageProc
,
75 DPRINT1("LegacyDriverPropPageProvider(%p %p %lx)\n",
76 lpPropSheetPageRequest
, lpfnAddPropSheetPageProc
, lParam
);
91 /* Add the sample rates */
92 for (i
= 0; i
< ARRAYSIZE(MouseSampleRates
); i
++)
94 wsprintf(szBuffer
, L
"%lu", MouseSampleRates
[i
]);
95 SendDlgItemMessageW(hwndDlg
,
96 IDC_PS2MOUSESAMPLERATE
,
102 /* Add the detection options */
103 for (i
= IDS_DETECTIONDISABLED
; i
<= IDS_ASSUMEPRESENT
; i
++)
105 LoadStringW(hDllInstance
, i
, szBuffer
, ARRAYSIZE(szBuffer
));
106 SendDlgItemMessageW(hwndDlg
,
125 DPRINT("MouseDlgProc\n");
130 MouseOnDialogInit(hwndDlg
, lParam
);
144 PS2MousePropPageProvider(
145 _In_ PSP_PROPSHEETPAGE_REQUEST lpPropSheetPageRequest
,
146 _In_ LPFNADDPROPSHEETPAGE lpfnAddPropSheetPageProc
,
149 PROPSHEETPAGEW PropSheetPage
;
150 HPROPSHEETPAGE hPropSheetPage
;
152 DPRINT("PS2MousePropPageProvider(%p %p %lx)\n",
153 lpPropSheetPageRequest
, lpfnAddPropSheetPageProc
, lParam
);
155 if (lpPropSheetPageRequest
->PageRequested
!= SPPSR_ENUM_ADV_DEVICE_PROPERTIES
)
158 PropSheetPage
.dwSize
= sizeof(PROPSHEETPAGEW
);
159 PropSheetPage
.dwFlags
= 0;
160 PropSheetPage
.hInstance
= hDllInstance
;
161 PropSheetPage
.pszTemplate
= MAKEINTRESOURCE(IDD_PS2MOUSEPROPERTIES
);
162 PropSheetPage
.pfnDlgProc
= MouseDlgProc
;
163 PropSheetPage
.lParam
= 0;
164 PropSheetPage
.pfnCallback
= NULL
;
166 hPropSheetPage
= CreatePropertySheetPageW(&PropSheetPage
);
167 if (hPropSheetPage
== NULL
)
169 DPRINT1("CreatePropertySheetPageW() failed!\n");
173 if (!(*lpfnAddPropSheetPageProc
)(hPropSheetPage
, lParam
))
175 DPRINT1("lpfnAddPropSheetPageProc() failed!\n");
176 DestroyPropertySheetPage(hPropSheetPage
);
189 TapePropPageProvider(
190 _In_ PSP_PROPSHEETPAGE_REQUEST lpPropSheetPageRequest
,
191 _In_ LPFNADDPROPSHEETPAGE lpfnAddPropSheetPageProc
,
194 DPRINT("TapePropPageProvider(%p %p %lx)\n",
195 lpPropSheetPageRequest
, lpfnAddPropSheetPageProc
, lParam
);