Release 961023
[wine] / include / shell.h
1 /*
2  *                              Shell Library definitions
3  */
4 #include "wintypes.h"
5
6 #ifndef __WINE_SHELL_H
7 #define __WINE_SHELL_H
8
9 #include "windows.h"
10 #include "winreg.h"
11
12 #ifndef MAX_PATH
13 #define MAX_PATH 260
14 #endif
15
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();
21
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
31
32 typedef struct {           /* structure for dropped files */ 
33         WORD            wSize;
34         POINT16         ptMousePos;   
35         BOOL            fInNonClientArea;
36         /* memory block with filenames follows */     
37 } DROPFILESTRUCT, *LPDROPFILESTRUCT; 
38
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;
46
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;
54
55 DECL_WINELIB_TYPE_AW(SHFILEINFO);
56
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 */
72
73 DWORD SHGetFileInfo32A(LPCSTR,DWORD,SHFILEINFO32A*,UINT32,UINT32);
74 DWORD SHGetFileInfo32W(LPCWSTR,DWORD,SHFILEINFO32W*,UINT32,UINT32);
75 #define SHGetFileInfo WINELIB_NAME_AW(SHGetFileInfo)
76
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
83
84 LRESULT AboutDlgProc(HWND hWnd,UINT msg,WPARAM16 wParam,LPARAM lParam);
85
86 #endif  /* __WINE_SHELL_H */