branch update for HEAD-2003091401
[reactos.git] / lib / shell32 / shell32.h
1 /*
2  *  ReactOS shell32 - 
3  *
4  *  shell32.h
5  *
6  *  Copyright (C) 2002  Robert Dickenson <robd@reactos.org>
7  *
8  *  This program is free software; you can redistribute it and/or modify
9  *  it under the terms of the GNU General Public License as published by
10  *  the Free Software Foundation; either version 2 of the License, or
11  *  (at your option) any later version.
12  *
13  *  This program is distributed in the hope that it will be useful,
14  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  *  GNU General Public License for more details.
17  *
18  *  You should have received a copy of the GNU General Public License
19  *  along with this program; if not, write to the Free Software
20  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21  */
22
23 #ifndef __SHELL32_H__
24 #define __SHELL32_H__
25
26
27 #define WIN32_LEAN_AND_MEAN     // Exclude rarely-used stuff from Windows headers
28 #include <windows.h>
29
30 #ifdef _MSC_VER
31 #define inline
32 #pragma warning (disable:4273) // : inconsistent dll linkage.  dllexport assumed.
33 #pragma warning (disable:4018) // : signed/unsigned mismatch
34 #pragma warning (disable:4141) // : 'dllexport' : used more than once
35
36 #undef WINAPI
37 #define WINAPI  __declspec(dllexport) 
38 #define STDCALL __stdcall
39 #define WINBOOL BOOL
40
41 #else
42
43 //#define WINAPI STDCALL 
44
45 typedef struct _SHQUERYRBINFO {
46     DWORD cbSize;     
47     __int64 i64Size;
48     __int64 i64NumItems;
49 } SHQUERYRBINFO, *LPSHQUERYRBINFO;
50
51 #define DWORD_PTR DWORD*
52
53 /*
54 #define STDAPI long __stdcall
55
56 typedef struct _SHELLEXECUTEINFO{
57     DWORD cbSize; 
58     ULONG fMask; 
59     HWND hwnd; 
60     LPCTSTR lpVerb; 
61     LPCTSTR lpFile; 
62     LPCTSTR lpParameters; 
63     LPCTSTR lpDirectory; 
64     int nShow; 
65     HINSTANCE hInstApp; 
66  
67     // Optional members 
68     LPVOID lpIDList; 
69     LPCSTR lpClass; 
70     HKEY hkeyClass; 
71     DWORD dwHotKey; 
72         union {
73                 HANDLE hIcon;
74                 HANDLE hMonitor;
75         };
76     HANDLE hProcess; 
77 } SHELLEXECUTEINFO, *LPSHELLEXECUTEINFO; 
78  
79 typedef struct _NOTIFYICONDATA { 
80     DWORD cbSize; 
81     HWND hWnd; 
82     UINT uID; 
83     UINT uFlags; 
84     UINT uCallbackMessage; 
85     HICON hIcon; 
86     TCHAR szTip[64];
87     DWORD dwState; //Version 5.0
88     DWORD dwStateMask; //Version 5.0
89     TCHAR szInfo[256]; //Version 5.0
90     union {
91         UINT  uTimeout; //Version 5.0
92         UINT  uVersion; //Version 5.0
93     } DUMMYUNIONNAME;
94     TCHAR szInfoTitle[64]; //Version 5.0
95     DWORD dwInfoFlags; //Version 5.0
96 } NOTIFYICONDATA, *PNOTIFYICONDATA; 
97  
98  */
99 /*
100  */
101 #endif
102
103
104 #endif  /* __SHELL32_H__ */