- Synchronize up to trunk's revision r57864.
[reactos.git] / dll / cpl / telephon / telephon.c
1 /*
2 *
3 * PROJECT: ReactOS Software Control Panel
4 * FILE: dll/cpl/telephon/telephon.c
5 * PURPOSE: ReactOS Software Control Panel
6 * PROGRAMMER: Dmitry Chapyshev (dmitry@reactos.org)
7 * UPDATE HISTORY:
8 * 10-19-2007 Created
9 */
10
11 #include <windows.h>
12 #include <cpl.h>
13
14 #include "resource.h"
15
16 typedef LONG (CALLBACK* LPINTERNALCONFIG)(HWND, UINT, LPARAM, LPARAM);
17
18 /* Control Panel Callback */
19 LONG CALLBACK
20 CPlApplet(HWND hwndCPl, UINT uMsg, LPARAM lParam1, LPARAM lParam2)
21 {
22 LPINTERNALCONFIG lpInternalConfig;
23 HINSTANCE hTapi32;
24 CPLINFO *CPlInfo;
25
26 switch (uMsg)
27 {
28 case CPL_INIT:
29 return TRUE;
30
31 case CPL_GETCOUNT:
32 return 1;
33
34 case CPL_INQUIRE:
35 CPlInfo = (CPLINFO*)lParam2;
36 CPlInfo->lData = 0;
37 CPlInfo->idIcon = IDI_CPLSYSTEM;
38 CPlInfo->idName = IDS_CPLSYSTEMNAME;
39 CPlInfo->idInfo = IDS_CPLSYSTEMDESCRIPTION;
40 break;
41
42 case CPL_DBLCLK:
43 {
44 hTapi32 = LoadLibraryW(L"tapi32.dll");
45 if (!hTapi32) return FALSE;
46
47 lpInternalConfig = (LPINTERNALCONFIG) GetProcAddress(hTapi32, "internalConfig");
48 if (!lpInternalConfig)
49 {
50 FreeLibrary(hTapi32);
51 return FALSE;
52 }
53
54 lpInternalConfig(hwndCPl, 0, 0, 0);
55 FreeLibrary(hTapi32);
56 return TRUE;
57 }
58 }
59
60 return FALSE;
61 }
62
63 BOOL WINAPI
64 DllMain(HINSTANCE hinstDLL, DWORD dwReason, LPVOID lpvReserved)
65 {
66 return TRUE;
67 }