Sync with trunk r58033.
[reactos.git] / dll / win32 / msports / serial.c
1 /*
2 * PROJECT: Ports installer library
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: dll\win32\msports\serial.c
5 * PURPOSE: Serial Port property functions
6 * COPYRIGHT: Copyright 2011 Eric Kohl
7 */
8
9 #include "precomp.h"
10
11 WINE_DEFAULT_DEBUG_CHANNEL(msports);
12
13
14 static
15 BOOL
16 OnInitDialog(HWND hwnd,
17 WPARAM wParam,
18 LPARAM lParam)
19 {
20 FIXME("Port_OnInit()\n");
21 return TRUE;
22 }
23
24
25 static
26 INT_PTR
27 CALLBACK
28 SerialSettingsDlgProc(HWND hwnd,
29 UINT uMsg,
30 WPARAM wParam,
31 LPARAM lParam)
32 {
33 FIXME("SerialSettingsDlgProc()\n");
34
35 switch (uMsg)
36 {
37 case WM_INITDIALOG:
38 return OnInitDialog(hwnd, wParam, lParam);
39 }
40
41 return FALSE;
42 }
43
44
45 BOOL
46 WINAPI
47 SerialPortPropPageProvider(PSP_PROPSHEETPAGE_REQUEST lpPropSheetPageRequest,
48 LPFNADDPROPSHEETPAGE lpfnAddPropSheetPageProc,
49 LPARAM lParam)
50 {
51 PROPSHEETPAGEW PropSheetPage;
52 HPROPSHEETPAGE hPropSheetPage;
53
54 FIXME("SerialPortPropPageProvider(%p %p %lx)\n",
55 lpPropSheetPageRequest, lpfnAddPropSheetPageProc, lParam);
56
57 if (lpPropSheetPageRequest->PageRequested == SPPSR_ENUM_ADV_DEVICE_PROPERTIES)
58 {
59 FIXME("SPPSR_ENUM_ADV_DEVICE_PROPERTIES\n");
60
61 PropSheetPage.dwSize = sizeof(PROPSHEETPAGEW);
62 PropSheetPage.dwFlags = 0;
63 PropSheetPage.hInstance = hInstance;
64 PropSheetPage.pszTemplate = MAKEINTRESOURCE(IDD_SERIALSETTINGS);
65 PropSheetPage.pfnDlgProc = SerialSettingsDlgProc;
66 PropSheetPage.lParam = 0;
67 PropSheetPage.pfnCallback = NULL;
68
69 hPropSheetPage = CreatePropertySheetPageW(&PropSheetPage);
70 if (hPropSheetPage == NULL)
71 {
72 FIXME("CreatePropertySheetPageW() failed!\n");
73 return FALSE;
74 }
75
76 if (!(*lpfnAddPropSheetPageProc)(hPropSheetPage, lParam))
77 {
78 FIXME("lpfnAddPropSheetPageProc() failed!\n");
79 DestroyPropertySheetPage(hPropSheetPage);
80 return FALSE;
81 }
82 }
83
84 FIXME("Done!\n");
85
86 return TRUE;
87 }
88
89 /* EOF */