Separate GetTextMetrics and implement it for SBCS/Unicode/cp932.
[wine.git] / include / shell.h
blobdf5f509230c574fa8adf7c03155185b38cf69e67
1 /*
2 * Shell Library definitions
3 */
4 #ifndef __WINE_SHELL_H
5 #define __WINE_SHELL_H
7 #include "windef.h"
9 #ifdef __cplusplus
10 extern "C" {
11 #endif /* defined(__cplusplus) */
13 /****************************************************************************
14 * shell 16
16 extern void SHELL_LoadRegistry(void);
18 /* global functions used from shell32 */
19 extern HINSTANCE SHELL_FindExecutable(LPCSTR,LPCSTR ,LPSTR);
20 extern HGLOBAL16 WINAPI InternalExtractIcon16(HINSTANCE16,LPCSTR,UINT16,WORD);
22 /****************************************************************************
23 * shell 32
25 /****************************************************************************
26 * common return codes
28 #define SHELL_ERROR_SUCCESS 0L
29 #define SHELL_ERROR_BADDB 1L
30 #define SHELL_ERROR_BADKEY 2L
31 #define SHELL_ERROR_CANTOPEN 3L
32 #define SHELL_ERROR_CANTREAD 4L
33 #define SHELL_ERROR_CANTWRITE 5L
34 #define SHELL_ERROR_OUTOFMEMORY 6L
35 #define SHELL_ERROR_INVALID_PARAMETER 7L
36 #define SHELL_ERROR_ACCESS_DENIED 8L
38 /****************************************************************************
39 * common shell file structures
41 /******************************
42 * DRAG&DROP API
44 typedef struct { /* structure for dropped files */
45 WORD wSize;
46 POINT16 ptMousePos;
47 BOOL16 fInNonClientArea;
48 /* memory block with filenames follows */
49 } DROPFILESTRUCT16, *LPDROPFILESTRUCT16;
51 typedef struct { /* structure for dropped files */
52 DWORD lSize;
53 POINT ptMousePos;
54 BOOL fInNonClientArea;
55 BOOL fWideChar;
56 /* memory block with filenames follows */
57 } DROPFILESTRUCT, *LPDROPFILESTRUCT;
60 /****************************************************************************
61 * SHITEMID, ITEMIDLIST, PIDL API
63 #include "pshpack1.h"
64 typedef struct
65 { WORD cb; /* nr of bytes in this item */
66 BYTE abID[1];/* first byte in this item */
67 } SHITEMID,*LPSHITEMID;
68 typedef LPSHITEMID const LPCSHITEMID;
70 typedef struct
71 { SHITEMID mkid; /* first itemid in list */
72 } ITEMIDLIST,*LPITEMIDLIST,*LPCITEMIDLIST;
73 #include "poppack.h"
75 BOOL WINAPI SHGetPathFromIDListA (LPCITEMIDLIST pidl,LPSTR pszPath);
76 BOOL WINAPI SHGetPathFromIDListW (LPCITEMIDLIST pidl,LPWSTR pszPath);
77 #define SHGetPathFromIDList WINELIB_NAME_AW(SHGetPathFromIDList)
79 /****************************************************************************
80 * SHAddToRecentDocs API
82 #define SHARD_PIDL 0x00000001L
83 #define SHARD_PATH 0x00000002L
85 DWORD WINAPI SHAddToRecentDocs(UINT uFlags, LPCVOID pv);
87 /****************************************************************************
88 * other functions
91 #ifdef __cplusplus
92 } /* extern "C" */
93 #endif /* defined(__cplusplus) */
95 #endif /* __WINE_SHELL_H */