Add missing WIN_ReleaseWndPtr in WIN_CreateDesktopWindow.
[wine] / libtest / hello5.c
1 /*
2  * This example demonstrates dynamical loading of (internal) Win32 DLLS.
3  *
4  * Copyright 1998 Marcus Meissner
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  */
20
21 #include <stdio.h>
22 #include <windows.h>
23
24 int PASCAL WinMain (HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int show)
25 {
26         SYSTEM_INFO     si;
27         void (CALLBACK *fnGetSystemInfo)(LPSYSTEM_INFO si);
28         HMODULE kernel32;
29
30         kernel32 = LoadLibrary("KERNEL32");
31         if (!kernel32) {
32                 fprintf(stderr,"FATAL: could not load KERNEL32!\n");
33                 return 0;
34         }
35         fnGetSystemInfo = (void*)GetProcAddress(kernel32,"GetSystemInfo");
36         if (!fnGetSystemInfo) {
37                 fprintf(stderr,"FATAL: could not find GetSystemInfo!\n");
38                 return 0;
39         }
40         fnGetSystemInfo(&si);
41         fprintf(stderr,"QuerySystemInfo returns:\n");
42         fprintf(stderr,"        wProcessorArchitecture: %d\n",si.u.s.wProcessorArchitecture);
43         fprintf(stderr,"        dwPageSize: %ld\n",si.dwPageSize);
44         fprintf(stderr,"        lpMinimumApplicationAddress: %p\n",si.lpMinimumApplicationAddress);
45         fprintf(stderr,"        lpMaximumApplicationAddress: %p\n",si.lpMaximumApplicationAddress);
46         fprintf(stderr,"        dwActiveProcessorMask: %ld\n",si.dwActiveProcessorMask);
47         fprintf(stderr,"        dwNumberOfProcessors: %ld\n",si.dwNumberOfProcessors);
48         fprintf(stderr,"        dwProcessorType: %ld\n",si.dwProcessorType);
49         fprintf(stderr,"        dwAllocationGranularity: %ld\n",si.dwAllocationGranularity);
50         fprintf(stderr,"        wProcessorLevel: %d\n",si.wProcessorLevel);
51         fprintf(stderr,"        wProcessorRevision: %d\n",si.wProcessorRevision);
52         return 0;
53 }