Release 961215
[wine/multimedia.git] / include / shell.h
blob4a7e0cd9c7715581ddbc8d2673eb6d93abccc93b
1 /*
2 * Shell Library definitions
3 */
4 #include "wintypes.h"
6 #ifndef __WINE_SHELL_H
7 #define __WINE_SHELL_H
9 #include "windows.h"
10 #include "winreg.h"
12 #ifndef MAX_PATH
13 #define MAX_PATH 260
14 #endif
16 extern INT ShellAbout(HWND hWnd, LPCSTR szApp, LPCSTR szOtherStuff,
17 HICON16 hIcon);
18 extern void SHELL_LoadRegistry();
19 extern void SHELL_SaveRegistry();
20 extern void SHELL_Init();
22 #define SHELL_ERROR_SUCCESS 0L
23 #define SHELL_ERROR_BADDB 1L
24 #define SHELL_ERROR_BADKEY 2L
25 #define SHELL_ERROR_CANTOPEN 3L
26 #define SHELL_ERROR_CANTREAD 4L
27 #define SHELL_ERROR_CANTWRITE 5L
28 #define SHELL_ERROR_OUTOFMEMORY 6L
29 #define SHELL_ERROR_INVALID_PARAMETER 7L
30 #define SHELL_ERROR_ACCESS_DENIED 8L
32 typedef struct { /* structure for dropped files */
33 WORD wSize;
34 POINT16 ptMousePos;
35 BOOL16 fInNonClientArea;
36 /* memory block with filenames follows */
37 } DROPFILESTRUCT, *LPDROPFILESTRUCT;
39 typedef struct tagSHFILEINFO32A {
40 HICON32 hIcon; /* icon */
41 int iIcon; /* icon index */
42 DWORD dwAttributes; /* SFGAO_ flags */
43 CHAR szDisplayName[MAX_PATH];/* display name (or path) */
44 CHAR szTypeName[80]; /* type name */
45 } SHFILEINFO32A;
47 typedef struct tagSHFILEINFO32W {
48 HICON32 hIcon; /* icon */
49 int iIcon; /* icon index */
50 DWORD dwAttributes; /* SFGAO_ flags */
51 WCHAR szDisplayName[MAX_PATH];/* display name (or path) */
52 WCHAR szTypeName[80]; /* type name */
53 } SHFILEINFO32W;
55 DECL_WINELIB_TYPE_AW(SHFILEINFO);
57 #define SHGFI_ICON 0x000000100 /* get icon */
58 #define SHGFI_DISPLAYNAME 0x000000200 /* get display name */
59 #define SHGFI_TYPENAME 0x000000400 /* get type name */
60 #define SHGFI_ATTRIBUTES 0x000000800 /* get attributes */
61 #define SHGFI_ICONLOCATION 0x000001000 /* get icon location */
62 #define SHGFI_EXETYPE 0x000002000 /* return exe type */
63 #define SHGFI_SYSICONINDEX 0x000004000 /* get system icon index */
64 #define SHGFI_LINKOVERLAY 0x000008000 /* put a link overlay on icon */
65 #define SHGFI_SELECTED 0x000010000 /* show icon in selected state */
66 #define SHGFI_LARGEICON 0x000000000 /* get large icon */
67 #define SHGFI_SMALLICON 0x000000001 /* get small icon */
68 #define SHGFI_OPENICON 0x000000002 /* get open icon */
69 #define SHGFI_SHELLICONSIZE 0x000000004 /* get shell size icon */
70 #define SHGFI_PIDL 0x000000008 /* pszPath is a pidl */
71 #define SHGFI_USEFILEATTRIBUTES 0x000000010 /* use passed dwFileAttribute */
73 DWORD SHGetFileInfo32A(LPCSTR,DWORD,SHFILEINFO32A*,UINT32,UINT32);
74 DWORD SHGetFileInfo32W(LPCWSTR,DWORD,SHFILEINFO32W*,UINT32,UINT32);
75 #define SHGetFileInfo WINELIB_NAME_AW(SHGetFileInfo)
77 #define SE_ERR_SHARE 26
78 #define SE_ERR_ASSOCINCOMPLETE 27
79 #define SE_ERR_DDETIMEOUT 28
80 #define SE_ERR_DDEFAIL 29
81 #define SE_ERR_DDEBUSY 30
82 #define SE_ERR_NOASSOC 31
84 LRESULT AboutDlgProc(HWND hWnd,UINT msg,WPARAM16 wParam,LPARAM lParam);
86 #endif /* __WINE_SHELL_H */