1 | /*
|
---|
2 | * Shell Library definitions
|
---|
3 | */
|
---|
4 | #ifndef __WINE_SHELL_H
|
---|
5 | #define __WINE_SHELL_H
|
---|
6 |
|
---|
7 | #include "windef.h"
|
---|
8 |
|
---|
9 | #ifdef __cplusplus
|
---|
10 | extern "C" {
|
---|
11 | #endif /* defined(__cplusplus) */
|
---|
12 |
|
---|
13 | /****************************************************************************
|
---|
14 | * shell 16
|
---|
15 | */
|
---|
16 | extern void SHELL_LoadRegistry(void);
|
---|
17 | extern void SHELL_SaveRegistry(void);
|
---|
18 | extern void SHELL_Init(void);
|
---|
19 |
|
---|
20 | /* global functions used from shell32 */
|
---|
21 | extern HINSTANCE SHELL_FindExecutable(LPCSTR,LPCSTR ,LPSTR);
|
---|
22 | extern HGLOBAL WINAPI InternalExtractIcon(HINSTANCE,LPCSTR,UINT,WORD);
|
---|
23 |
|
---|
24 | /****************************************************************************
|
---|
25 | * shell 32
|
---|
26 | */
|
---|
27 | /****************************************************************************
|
---|
28 | * common return codes
|
---|
29 | */
|
---|
30 | #define SHELL_ERROR_SUCCESS 0L
|
---|
31 | #define SHELL_ERROR_BADDB 1L
|
---|
32 | #define SHELL_ERROR_BADKEY 2L
|
---|
33 | #define SHELL_ERROR_CANTOPEN 3L
|
---|
34 | #define SHELL_ERROR_CANTREAD 4L
|
---|
35 | #define SHELL_ERROR_CANTWRITE 5L
|
---|
36 | #define SHELL_ERROR_OUTOFMEMORY 6L
|
---|
37 | #define SHELL_ERROR_INVALID_PARAMETER 7L
|
---|
38 | #define SHELL_ERROR_ACCESS_DENIED 8L
|
---|
39 |
|
---|
40 | /****************************************************************************
|
---|
41 | * common shell file structures
|
---|
42 | */
|
---|
43 | /******************************
|
---|
44 | * DRAG&DROP API
|
---|
45 | */
|
---|
46 | typedef struct { /* structure for dropped files */
|
---|
47 | WORD wSize;
|
---|
48 | POINT16 ptMousePos;
|
---|
49 | BOOL16 fInNonClientArea;
|
---|
50 | /* memory block with filenames follows */
|
---|
51 | } DROPFILESTRUCT16, *LPDROPFILESTRUCT16;
|
---|
52 |
|
---|
53 | typedef struct { /* structure for dropped files */
|
---|
54 | DWORD lSize;
|
---|
55 | POINT ptMousePos;
|
---|
56 | BOOL fInNonClientArea;
|
---|
57 | BOOL fWideChar;
|
---|
58 | /* memory block with filenames follows */
|
---|
59 | } DROPFILESTRUCT, *LPDROPFILESTRUCT;
|
---|
60 |
|
---|
61 |
|
---|
62 | /****************************************************************************
|
---|
63 | * SHITEMID, ITEMIDLIST, PIDL API
|
---|
64 | */
|
---|
65 | #include "pshpack1.h"
|
---|
66 | typedef struct
|
---|
67 | { WORD cb; /* nr of bytes in this item */
|
---|
68 | BYTE abID[1];/* first byte in this item */
|
---|
69 | } SHITEMID,*LPSHITEMID;
|
---|
70 | typedef LPSHITEMID const LPCSHITEMID;
|
---|
71 |
|
---|
72 | typedef struct
|
---|
73 | { SHITEMID mkid; /* first itemid in list */
|
---|
74 | } ITEMIDLIST,*LPITEMIDLIST,*LPCITEMIDLIST;
|
---|
75 | #include "poppack.h"
|
---|
76 |
|
---|
77 | DWORD WINAPI SHGetPathFromIDListA (LPCITEMIDLIST pidl,LPSTR pszPath);
|
---|
78 | DWORD WINAPI SHGetPathFromIDListW (LPCITEMIDLIST pidl,LPWSTR pszPath);
|
---|
79 | #define SHGetPathFromIDList WINELIB_NAME_AW(SHGetPathFromIDList)
|
---|
80 |
|
---|
81 |
|
---|
82 | /****************************************************************************
|
---|
83 | * other functions
|
---|
84 | */
|
---|
85 |
|
---|
86 | #ifdef __WIN32OS2__
|
---|
87 | /****************************************************************************
|
---|
88 | * STRRET
|
---|
89 | */
|
---|
90 | #define STRRET_WSTR 0x0000
|
---|
91 | #define STRRET_OFFSETA 0x0001
|
---|
92 | #define STRRET_CSTRA 0x0002
|
---|
93 | #define STRRET_ASTR 0X0003
|
---|
94 | #define STRRET_OFFSETW 0X0004
|
---|
95 | #define STRRET_CSTRW 0X0005
|
---|
96 |
|
---|
97 |
|
---|
98 | typedef struct _STRRET
|
---|
99 | { UINT uType; /* STRRET_xxx */
|
---|
100 | union
|
---|
101 | { LPWSTR pOleStr; /* OLESTR that will be freed */
|
---|
102 | LPSTR pStr;
|
---|
103 | UINT uOffset; /* OffsetINT32o SHITEMID (ANSI) */
|
---|
104 | char cStr[MAX_PATH]; /* Buffer to fill in */
|
---|
105 | WCHAR cStrW[MAX_PATH];
|
---|
106 | }u;
|
---|
107 | } STRRET,*LPSTRRET;
|
---|
108 | #endif
|
---|
109 |
|
---|
110 | #ifdef __cplusplus
|
---|
111 | } /* extern "C" */
|
---|
112 | #endif /* defined(__cplusplus) */
|
---|
113 |
|
---|
114 | #endif /* __WINE_SHELL_H */
|
---|