Release 971221
[wine/multimedia.git] / include / shell.h
blobee0ba36ff7b72cd1ee1dffd7b4a939d059529a84
1 /*
2 * Shell Library definitions
3 */
4 #ifndef __WINE_SHELL_H
5 #define __WINE_SHELL_H
7 #include "windows.h"
8 #include "winreg.h"
10 #ifndef MAX_PATH
11 #define MAX_PATH 260
12 #endif
14 extern void SHELL_LoadRegistry();
15 extern void SHELL_SaveRegistry();
16 extern void SHELL_Init();
18 #define SHELL_ERROR_SUCCESS 0L
19 #define SHELL_ERROR_BADDB 1L
20 #define SHELL_ERROR_BADKEY 2L
21 #define SHELL_ERROR_CANTOPEN 3L
22 #define SHELL_ERROR_CANTREAD 4L
23 #define SHELL_ERROR_CANTWRITE 5L
24 #define SHELL_ERROR_OUTOFMEMORY 6L
25 #define SHELL_ERROR_INVALID_PARAMETER 7L
26 #define SHELL_ERROR_ACCESS_DENIED 8L
28 typedef struct { /* structure for dropped files */
29 WORD wSize;
30 POINT16 ptMousePos;
31 BOOL16 fInNonClientArea;
32 /* memory block with filenames follows */
33 } DROPFILESTRUCT, *LPDROPFILESTRUCT;
35 typedef struct _NOTIFYICONDATA {
36 DWORD cbSize;
37 HWND32 hWnd;
38 UINT32 uID;
39 UINT32 uFlags;
40 UINT32 uCallbackMessage;
41 HICON32 hIcon;
42 CHAR szTip[64];
43 } NOTIFYICONDATA, *PNOTIFYICONDATA;
45 typedef struct tagSHFILEINFO32A {
46 HICON32 hIcon; /* icon */
47 int iIcon; /* icon index */
48 DWORD dwAttributes; /* SFGAO_ flags */
49 CHAR szDisplayName[MAX_PATH];/* display name (or path) */
50 CHAR szTypeName[80]; /* type name */
51 } SHFILEINFO32A;
53 typedef struct tagSHFILEINFO32W {
54 HICON32 hIcon; /* icon */
55 int iIcon; /* icon index */
56 DWORD dwAttributes; /* SFGAO_ flags */
57 WCHAR szDisplayName[MAX_PATH];/* display name (or path) */
58 WCHAR szTypeName[80]; /* type name */
59 } SHFILEINFO32W;
61 DECL_WINELIB_TYPE_AW(SHFILEINFO);
63 typedef struct _AppBarData {
64 DWORD cbSize;
65 HWND32 hWnd;
66 UINT32 uCallbackMessage;
67 UINT32 uEdge;
68 RECT32 rc;
69 LPARAM lParam;
70 } APPBARDATA, *PAPPBARDATA;
72 #define SHGFI_ICON 0x000000100 /* get icon */
73 #define SHGFI_DISPLAYNAME 0x000000200 /* get display name */
74 #define SHGFI_TYPENAME 0x000000400 /* get type name */
75 #define SHGFI_ATTRIBUTES 0x000000800 /* get attributes */
76 #define SHGFI_ICONLOCATION 0x000001000 /* get icon location */
77 #define SHGFI_EXETYPE 0x000002000 /* return exe type */
78 #define SHGFI_SYSICONINDEX 0x000004000 /* get system icon index */
79 #define SHGFI_LINKOVERLAY 0x000008000 /* put a link overlay on icon */
80 #define SHGFI_SELECTED 0x000010000 /* show icon in selected state */
81 #define SHGFI_LARGEICON 0x000000000 /* get large icon */
82 #define SHGFI_SMALLICON 0x000000001 /* get small icon */
83 #define SHGFI_OPENICON 0x000000002 /* get open icon */
84 #define SHGFI_SHELLICONSIZE 0x000000004 /* get shell size icon */
85 #define SHGFI_PIDL 0x000000008 /* pszPath is a pidl */
86 #define SHGFI_USEFILEATTRIBUTES 0x000000010 /* use passed dwFileAttribute */
87 DWORD WINAPI SHGetFileInfo32A(LPCSTR,DWORD,SHFILEINFO32A*,UINT32,UINT32);
88 DWORD WINAPI SHGetFileInfo32W(LPCWSTR,DWORD,SHFILEINFO32W*,UINT32,UINT32);
89 #define SHGetFileInfo WINELIB_NAME_AW(SHGetFileInfo)
91 #define SE_ERR_SHARE 26
92 #define SE_ERR_ASSOCINCOMPLETE 27
93 #define SE_ERR_DDETIMEOUT 28
94 #define SE_ERR_DDEFAIL 29
95 #define SE_ERR_DDEBUSY 30
96 #define SE_ERR_NOASSOC 31
98 #define CSIDL_DESKTOP 0x0000
99 #define CSIDL_PROGRAMS 0x0002
100 #define CSIDL_CONTROLS 0x0003
101 #define CSIDL_PRINTERS 0x0004
102 #define CSIDL_PERSONAL 0x0005
103 #define CSIDL_FAVORITES 0x0006
104 #define CSIDL_STARTUP 0x0007
105 #define CSIDL_RECENT 0x0008
106 #define CSIDL_SENDTO 0x0009
107 #define CSIDL_BITBUCKET 0x000a
108 #define CSIDL_STARTMENU 0x000b
109 #define CSIDL_DESKTOPDIRECTORY 0x0010
110 #define CSIDL_DRIVES 0x0011
111 #define CSIDL_NETWORK 0x0012
112 #define CSIDL_NETHOOD 0x0013
113 #define CSIDL_FONTS 0x0014
114 #define CSIDL_TEMPLATES 0x0015
116 #endif /* __WINE_SHELL_H */