131 lines
3.8 KiB
C
131 lines
3.8 KiB
C
/*
|
|
* Shell Library definitions
|
|
*/
|
|
#ifndef __WINE_SHELL_H
|
|
#define __WINE_SHELL_H
|
|
|
|
#include "windef.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif /* defined(__cplusplus) */
|
|
|
|
/****************************************************************************
|
|
* shell 16
|
|
*/
|
|
extern void SHELL_LoadRegistry(void);
|
|
|
|
/* global functions used from shell32 */
|
|
extern HINSTANCE SHELL_FindExecutable(LPCSTR,LPCSTR ,LPSTR);
|
|
extern HGLOBAL16 WINAPI InternalExtractIcon16(HINSTANCE16,LPCSTR,UINT16,WORD);
|
|
|
|
/****************************************************************************
|
|
* shell 32
|
|
*/
|
|
/****************************************************************************
|
|
* common return codes
|
|
*/
|
|
#define SHELL_ERROR_SUCCESS 0L
|
|
#define SHELL_ERROR_BADDB 1L
|
|
#define SHELL_ERROR_BADKEY 2L
|
|
#define SHELL_ERROR_CANTOPEN 3L
|
|
#define SHELL_ERROR_CANTREAD 4L
|
|
#define SHELL_ERROR_CANTWRITE 5L
|
|
#define SHELL_ERROR_OUTOFMEMORY 6L
|
|
#define SHELL_ERROR_INVALID_PARAMETER 7L
|
|
#define SHELL_ERROR_ACCESS_DENIED 8L
|
|
|
|
/****************************************************************************
|
|
* common shell file structures
|
|
*/
|
|
/******************************
|
|
* DRAG&DROP API
|
|
*/
|
|
typedef struct { /* structure for dropped files */
|
|
WORD wSize;
|
|
POINT16 ptMousePos;
|
|
BOOL16 fInNonClientArea;
|
|
/* memory block with filenames follows */
|
|
} DROPFILESTRUCT16, *LPDROPFILESTRUCT16;
|
|
|
|
typedef struct { /* structure for dropped files */
|
|
DWORD lSize;
|
|
POINT ptMousePos;
|
|
BOOL fInNonClientArea;
|
|
BOOL fWideChar;
|
|
/* memory block with filenames follows */
|
|
} DROPFILESTRUCT, *LPDROPFILESTRUCT;
|
|
|
|
|
|
/****************************************************************************
|
|
* SHITEMID, ITEMIDLIST, PIDL API
|
|
*/
|
|
#include "pshpack1.h"
|
|
typedef struct
|
|
{ WORD cb; /* nr of bytes in this item */
|
|
BYTE abID[1];/* first byte in this item */
|
|
} SHITEMID,*LPSHITEMID;
|
|
typedef LPSHITEMID const LPCSHITEMID;
|
|
|
|
typedef struct
|
|
{ SHITEMID mkid; /* first itemid in list */
|
|
} ITEMIDLIST,*LPITEMIDLIST,*LPCITEMIDLIST;
|
|
#include "poppack.h"
|
|
|
|
BOOL WINAPI SHGetPathFromIDListA (LPCITEMIDLIST pidl,LPSTR pszPath);
|
|
BOOL WINAPI SHGetPathFromIDListW (LPCITEMIDLIST pidl,LPWSTR pszPath);
|
|
#define SHGetPathFromIDList WINELIB_NAME_AW(SHGetPathFromIDList)
|
|
|
|
/****************************************************************************
|
|
* SHAddToRecentDocs API
|
|
*/
|
|
#define SHARD_PIDL 0x00000001L
|
|
#define SHARD_PATH 0x00000002L
|
|
|
|
DWORD WINAPI SHAddToRecentDocs(UINT uFlags, LPCVOID pv);
|
|
|
|
/****************************************************************************
|
|
* SHGetSpecialFolderLocation API
|
|
*/
|
|
HRESULT WINAPI SHGetSpecialFolderLocation(HWND, INT, LPITEMIDLIST *);
|
|
|
|
/****************************************************************************
|
|
* other functions
|
|
*/
|
|
|
|
#define CSIDL_DESKTOP 0x0000
|
|
#define CSIDL_PROGRAMS 0x0002
|
|
#define CSIDL_CONTROLS 0x0003
|
|
#define CSIDL_PRINTERS 0x0004
|
|
#define CSIDL_PERSONAL 0x0005
|
|
#define CSIDL_FAVORITES 0x0006
|
|
#define CSIDL_STARTUP 0x0007
|
|
#define CSIDL_RECENT 0x0008
|
|
#define CSIDL_SENDTO 0x0009
|
|
#define CSIDL_BITBUCKET 0x000a
|
|
#define CSIDL_STARTMENU 0x000b
|
|
#define CSIDL_DESKTOPDIRECTORY 0x0010
|
|
#define CSIDL_DRIVES 0x0011
|
|
#define CSIDL_NETWORK 0x0012
|
|
#define CSIDL_NETHOOD 0x0013
|
|
#define CSIDL_FONTS 0x0014
|
|
#define CSIDL_TEMPLATES 0x0015
|
|
#define CSIDL_COMMON_STARTMENU 0x0016
|
|
#define CSIDL_COMMON_PROGRAMS 0X0017
|
|
#define CSIDL_COMMON_STARTUP 0x0018
|
|
#define CSIDL_COMMON_DESKTOPDIRECTORY 0x0019
|
|
#define CSIDL_APPDATA 0x001a
|
|
#define CSIDL_PRINTHOOD 0x001b
|
|
#define CSIDL_ALTSTARTUP 0x001d
|
|
#define CSIDL_COMMON_ALTSTARTUP 0x001e
|
|
#define CSIDL_COMMON_FAVORITES 0x001f
|
|
#define CSIDL_INTERNET_CACHE 0x0020
|
|
#define CSIDL_COOKIES 0x0021
|
|
#define CSIDL_HISTORY 0x0022
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif /* defined(__cplusplus) */
|
|
|
|
#endif /* __WINE_SHELL_H */
|