97 lines
2.8 KiB
C
97 lines
2.8 KiB
C
#ifndef __WINE_UNDOCSHELL_H
|
|
#define __WINE_UNDOCSHELL_H
|
|
|
|
#include "windef.h"
|
|
#include "shell.h"
|
|
#include "wine/obj_shellfolder.h" /* strret */
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif /* defined(__cplusplus) */
|
|
|
|
/****************************************************************************
|
|
* IDList Functions
|
|
*/
|
|
LPITEMIDLIST WINAPI ILClone (LPCITEMIDLIST pidl);
|
|
LPITEMIDLIST WINAPI ILCloneFirst(LPCITEMIDLIST pidl);
|
|
LPITEMIDLIST WINAPI ILCombine(LPCITEMIDLIST iil1,LPCITEMIDLIST iil2);
|
|
|
|
DWORD WINAPI ILGetSize(LPITEMIDLIST pidl);
|
|
|
|
LPITEMIDLIST WINAPI ILGetNext(LPITEMIDLIST pidl);
|
|
LPITEMIDLIST WINAPI ILFindLastID(LPITEMIDLIST pidl);
|
|
BOOL WINAPI ILRemoveLastID(LPCITEMIDLIST pidl);
|
|
LPITEMIDLIST WINAPI ILFindChild(LPCITEMIDLIST pidl1,LPCITEMIDLIST pidl2);
|
|
|
|
BOOL WINAPI ILIsEqual(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2);
|
|
|
|
BOOL WINAPI ILGetDisplayName(LPCITEMIDLIST pidl,LPSTR path);
|
|
|
|
DWORD WINAPI ILFree(LPITEMIDLIST pidl);
|
|
|
|
LPITEMIDLIST WINAPI SHSimpleIDListFromPathA (LPCSTR lpszPath);
|
|
LPITEMIDLIST WINAPI SHSimpleIDListFromPathW (LPCWSTR lpszPath);
|
|
LPITEMIDLIST WINAPI SHSimpleIDListFromPathAW (LPCVOID lpszPath);
|
|
|
|
HRESULT WINAPI SHILCreateFromPathA (LPCSTR path, LPITEMIDLIST * ppidl, DWORD *attributes);
|
|
HRESULT WINAPI SHILCreateFromPathW (LPCWSTR path, LPITEMIDLIST * ppidl, DWORD *attributes);
|
|
HRESULT WINAPI SHILCreateFromPathAW (LPCVOID path, LPITEMIDLIST * ppidl, DWORD *attributes);
|
|
|
|
LPITEMIDLIST WINAPI ILCreateFromPathA(LPCSTR path);
|
|
LPITEMIDLIST WINAPI ILCreateFromPathW(LPCWSTR path);
|
|
LPITEMIDLIST WINAPI ILCreateFromPathAW(LPCVOID path);
|
|
|
|
/*
|
|
string functions
|
|
*/
|
|
HRESULT WINAPI SHBindToParent(LPCITEMIDLIST pidl, REFIID riid, LPVOID *ppv, LPCITEMIDLIST *ppidlLast);
|
|
|
|
HRESULT WINAPI StrRetToStrNA (LPVOID dest, DWORD len, LPSTRRET src, LPITEMIDLIST pidl);
|
|
HRESULT WINAPI StrRetToStrNW (LPVOID dest, DWORD len, LPSTRRET src, LPITEMIDLIST pidl);
|
|
HRESULT WINAPI StrRetToStrNAW (LPVOID dest, DWORD len, LPSTRRET src, LPITEMIDLIST pidl);
|
|
|
|
HRESULT WINAPI StrRetToBufA (LPSTRRET src, LPITEMIDLIST pidl, LPSTR dest, DWORD len);
|
|
HRESULT WINAPI StrRetToBufW (LPSTRRET src, LPITEMIDLIST pidl, LPWSTR dest, DWORD len);
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
* SHChangeNotifyRegister API
|
|
*/
|
|
#define SHCNF_ACCEPT_INTERRUPTS 0x0001
|
|
#define SHCNF_ACCEPT_NON_INTERRUPTS 0x0002
|
|
#define SHCNF_NO_PROXY 0x8001
|
|
|
|
typedef struct
|
|
{
|
|
LPCITEMIDLIST pidlPath;
|
|
BOOL bWatchSubtree;
|
|
} NOTIFYREGISTER, *LPNOTIFYREGISTER;
|
|
|
|
typedef const LPNOTIFYREGISTER LPCNOTIFYREGISTER;
|
|
|
|
typedef struct
|
|
{
|
|
USHORT cb;
|
|
DWORD dwItem1;
|
|
DWORD dwItem2;
|
|
} DWORDITEMID;
|
|
|
|
HANDLE WINAPI SHChangeNotifyRegister(
|
|
HWND hwnd,
|
|
LONG dwFlags,
|
|
LONG wEventMask,
|
|
DWORD uMsg,
|
|
int cItems,
|
|
LPCNOTIFYREGISTER lpItems);
|
|
|
|
BOOL WINAPI SHChangeNotifyDeregister( HANDLE hNotify);
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif /* defined(__cplusplus) */
|
|
|
|
#endif /* __WINE_SHLOBJ_H */
|