Commit 69c90c2a authored by Alexandre Julliard's avatar Alexandre Julliard

Converted the rest of the obj_*.h headers to IDL into shobjidl.idl.

parent cc392b95
...@@ -1417,15 +1417,15 @@ static LRESULT FILEDLG95_OnWMCommand(HWND hwnd, WPARAM wParam, LPARAM lParam) ...@@ -1417,15 +1417,15 @@ static LRESULT FILEDLG95_OnWMCommand(HWND hwnd, WPARAM wParam, LPARAM lParam)
break; break;
/* New folder button */ /* New folder button */
case FCIDM_TB_NEWFOLDER: case FCIDM_TB_NEWFOLDER:
FILEDLG95_SHELL_ExecuteCommand(hwnd,CMDSTR_NEWFOLDER); FILEDLG95_SHELL_ExecuteCommand(hwnd,CMDSTR_NEWFOLDERA);
break; break;
/* List option button */ /* List option button */
case FCIDM_TB_SMALLICON: case FCIDM_TB_SMALLICON:
FILEDLG95_SHELL_ExecuteCommand(hwnd,CMDSTR_VIEWLIST); FILEDLG95_SHELL_ExecuteCommand(hwnd,CMDSTR_VIEWLISTA);
break; break;
/* Details option button */ /* Details option button */
case FCIDM_TB_REPORTVIEW: case FCIDM_TB_REPORTVIEW:
FILEDLG95_SHELL_ExecuteCommand(hwnd,CMDSTR_VIEWDETAILS); FILEDLG95_SHELL_ExecuteCommand(hwnd,CMDSTR_VIEWDETAILSA);
break; break;
/* Details option button */ /* Details option button */
case FCIDM_TB_DESKTOP: case FCIDM_TB_DESKTOP:
......
...@@ -85,8 +85,8 @@ LPDATAOBJECT IDataObject_Constructor(HWND hwndOwner, LPCITEMIDLIST myPidl, LPCIT ...@@ -85,8 +85,8 @@ LPDATAOBJECT IDataObject_Constructor(HWND hwndOwner, LPCITEMIDLIST myPidl, LPCIT
LPENUMFORMATETC IEnumFORMATETC_Constructor(UINT, const FORMATETC []); LPENUMFORMATETC IEnumFORMATETC_Constructor(UINT, const FORMATETC []);
LPCLASSFACTORY IClassFactory_Constructor(REFCLSID); LPCLASSFACTORY IClassFactory_Constructor(REFCLSID);
IContextMenu * ISvItemCm_Constructor(LPSHELLFOLDER pSFParent, LPCITEMIDLIST pidl, LPCITEMIDLIST *aPidls, UINT uItemCount); IContextMenu2 * ISvItemCm_Constructor(LPSHELLFOLDER pSFParent, LPCITEMIDLIST pidl, LPCITEMIDLIST *aPidls, UINT uItemCount);
IContextMenu * ISvBgCm_Constructor(LPSHELLFOLDER pSFParent); IContextMenu2 * ISvBgCm_Constructor(LPSHELLFOLDER pSFParent);
LPSHELLVIEW IShellView_Constructor(LPSHELLFOLDER); LPSHELLVIEW IShellView_Constructor(LPSHELLFOLDER);
HRESULT WINAPI IFSFolder_Constructor(IUnknown * pUnkOuter, REFIID riid, LPVOID * ppv); HRESULT WINAPI IFSFolder_Constructor(IUnknown * pUnkOuter, REFIID riid, LPVOID * ppv);
......
...@@ -808,7 +808,7 @@ static void ShellView_DoContextMenu(IShellViewImpl * This, WORD x, WORD y, BOOL ...@@ -808,7 +808,7 @@ static void ShellView_DoContextMenu(IShellViewImpl * This, WORD x, WORD y, BOOL
BOOL fExplore = FALSE; BOOL fExplore = FALSE;
HWND hwndTree = 0; HWND hwndTree = 0;
LPCONTEXTMENU pContextMenu = NULL; LPCONTEXTMENU pContextMenu = NULL;
IContextMenu * pCM = NULL; IContextMenu2 *pCM = NULL;
CMINVOKECOMMANDINFO cmi; CMINVOKECOMMANDINFO cmi;
TRACE("(%p)->(0x%08x 0x%08x 0x%08x) stub\n",This, x, y, bDefault); TRACE("(%p)->(0x%08x 0x%08x 0x%08x) stub\n",This, x, y, bDefault);
...@@ -880,7 +880,7 @@ static void ShellView_DoContextMenu(IShellViewImpl * This, WORD x, WORD y, BOOL ...@@ -880,7 +880,7 @@ static void ShellView_DoContextMenu(IShellViewImpl * This, WORD x, WORD y, BOOL
hMenu = CreatePopupMenu(); hMenu = CreatePopupMenu();
pCM = ISvBgCm_Constructor(This->pSFParent); pCM = ISvBgCm_Constructor(This->pSFParent);
IContextMenu_QueryContextMenu(pCM, hMenu, 0, FCIDM_SHVIEWFIRST, FCIDM_SHVIEWLAST, 0); IContextMenu2_QueryContextMenu(pCM, hMenu, 0, FCIDM_SHVIEWFIRST, FCIDM_SHVIEWLAST, 0);
uCommand = TrackPopupMenu( hMenu, TPM_LEFTALIGN | TPM_RETURNCMD,x,y,0,This->hWnd,NULL); uCommand = TrackPopupMenu( hMenu, TPM_LEFTALIGN | TPM_RETURNCMD,x,y,0,This->hWnd,NULL);
DestroyMenu(hMenu); DestroyMenu(hMenu);
...@@ -891,9 +891,9 @@ static void ShellView_DoContextMenu(IShellViewImpl * This, WORD x, WORD y, BOOL ...@@ -891,9 +891,9 @@ static void ShellView_DoContextMenu(IShellViewImpl * This, WORD x, WORD y, BOOL
cmi.cbSize = sizeof(cmi); cmi.cbSize = sizeof(cmi);
cmi.lpVerb = (LPCSTR)MAKEINTRESOURCEA(uCommand); cmi.lpVerb = (LPCSTR)MAKEINTRESOURCEA(uCommand);
cmi.hwnd = This->hWndParent; cmi.hwnd = This->hWndParent;
IContextMenu_InvokeCommand(pCM, &cmi); IContextMenu2_InvokeCommand(pCM, &cmi);
IContextMenu_Release(pCM); IContextMenu2_Release(pCM);
} }
} }
......
...@@ -41,18 +41,18 @@ WINE_DEFAULT_DEBUG_CHANNEL(shell); ...@@ -41,18 +41,18 @@ WINE_DEFAULT_DEBUG_CHANNEL(shell);
*/ */
typedef struct typedef struct
{ {
ICOM_VFIELD(IContextMenu); ICOM_VFIELD(IContextMenu2);
IShellFolder* pSFParent; IShellFolder* pSFParent;
DWORD ref; DWORD ref;
} BgCmImpl; } BgCmImpl;
static struct ICOM_VTABLE(IContextMenu) cmvt; static struct ICOM_VTABLE(IContextMenu2) cmvt;
/************************************************************************** /**************************************************************************
* ISVBgCm_Constructor() * ISVBgCm_Constructor()
*/ */
IContextMenu *ISvBgCm_Constructor(IShellFolder* pSFParent) IContextMenu2 *ISvBgCm_Constructor(IShellFolder* pSFParent)
{ {
BgCmImpl* cm; BgCmImpl* cm;
...@@ -63,13 +63,13 @@ IContextMenu *ISvBgCm_Constructor(IShellFolder* pSFParent) ...@@ -63,13 +63,13 @@ IContextMenu *ISvBgCm_Constructor(IShellFolder* pSFParent)
if(pSFParent) IShellFolder_AddRef(pSFParent); if(pSFParent) IShellFolder_AddRef(pSFParent);
TRACE("(%p)->()\n",cm); TRACE("(%p)->()\n",cm);
return (IContextMenu*)cm; return (IContextMenu2*)cm;
} }
/************************************************************************** /**************************************************************************
* ISVBgCm_fnQueryInterface * ISVBgCm_fnQueryInterface
*/ */
static HRESULT WINAPI ISVBgCm_fnQueryInterface(IContextMenu *iface, REFIID riid, LPVOID *ppvObj) static HRESULT WINAPI ISVBgCm_fnQueryInterface(IContextMenu2 *iface, REFIID riid, LPVOID *ppvObj)
{ {
ICOM_THIS(BgCmImpl, iface); ICOM_THIS(BgCmImpl, iface);
...@@ -77,11 +77,9 @@ static HRESULT WINAPI ISVBgCm_fnQueryInterface(IContextMenu *iface, REFIID riid, ...@@ -77,11 +77,9 @@ static HRESULT WINAPI ISVBgCm_fnQueryInterface(IContextMenu *iface, REFIID riid,
*ppvObj = NULL; *ppvObj = NULL;
if(IsEqualIID(riid, &IID_IUnknown)) /*IUnknown*/ if(IsEqualIID(riid, &IID_IUnknown) ||
{ IsEqualIID(riid, &IID_IContextMenu) ||
*ppvObj = This; IsEqualIID(riid, &IID_IContextMenu2))
}
else if(IsEqualIID(riid, &IID_IContextMenu)) /*IContextMenu*/
{ {
*ppvObj = This; *ppvObj = This;
} }
...@@ -103,7 +101,7 @@ static HRESULT WINAPI ISVBgCm_fnQueryInterface(IContextMenu *iface, REFIID riid, ...@@ -103,7 +101,7 @@ static HRESULT WINAPI ISVBgCm_fnQueryInterface(IContextMenu *iface, REFIID riid,
/************************************************************************** /**************************************************************************
* ISVBgCm_fnAddRef * ISVBgCm_fnAddRef
*/ */
static ULONG WINAPI ISVBgCm_fnAddRef(IContextMenu *iface) static ULONG WINAPI ISVBgCm_fnAddRef(IContextMenu2 *iface)
{ {
ICOM_THIS(BgCmImpl, iface); ICOM_THIS(BgCmImpl, iface);
...@@ -115,7 +113,7 @@ static ULONG WINAPI ISVBgCm_fnAddRef(IContextMenu *iface) ...@@ -115,7 +113,7 @@ static ULONG WINAPI ISVBgCm_fnAddRef(IContextMenu *iface)
/************************************************************************** /**************************************************************************
* ISVBgCm_fnRelease * ISVBgCm_fnRelease
*/ */
static ULONG WINAPI ISVBgCm_fnRelease(IContextMenu *iface) static ULONG WINAPI ISVBgCm_fnRelease(IContextMenu2 *iface)
{ {
ICOM_THIS(BgCmImpl, iface); ICOM_THIS(BgCmImpl, iface);
...@@ -140,7 +138,7 @@ static ULONG WINAPI ISVBgCm_fnRelease(IContextMenu *iface) ...@@ -140,7 +138,7 @@ static ULONG WINAPI ISVBgCm_fnRelease(IContextMenu *iface)
*/ */
static HRESULT WINAPI ISVBgCm_fnQueryContextMenu( static HRESULT WINAPI ISVBgCm_fnQueryContextMenu(
IContextMenu *iface, IContextMenu2 *iface,
HMENU hMenu, HMENU hMenu,
UINT indexMenu, UINT indexMenu,
UINT idCmdFirst, UINT idCmdFirst,
...@@ -186,7 +184,7 @@ static HRESULT WINAPI ISVBgCm_fnQueryContextMenu( ...@@ -186,7 +184,7 @@ static HRESULT WINAPI ISVBgCm_fnQueryContextMenu(
* DoNewFolder * DoNewFolder
*/ */
static void DoNewFolder( static void DoNewFolder(
IContextMenu *iface, IContextMenu2 *iface,
IShellView *psv) IShellView *psv)
{ {
ICOM_THIS(BgCmImpl, iface); ICOM_THIS(BgCmImpl, iface);
...@@ -217,7 +215,7 @@ static void DoNewFolder( ...@@ -217,7 +215,7 @@ static void DoNewFolder(
* DoPaste * DoPaste
*/ */
static BOOL DoPaste( static BOOL DoPaste(
IContextMenu *iface) IContextMenu2 *iface)
{ {
ICOM_THIS(BgCmImpl, iface); ICOM_THIS(BgCmImpl, iface);
BOOL bSuccess = FALSE; BOOL bSuccess = FALSE;
...@@ -313,7 +311,7 @@ static BOOL DoPaste( ...@@ -313,7 +311,7 @@ static BOOL DoPaste(
* ISVBgCm_fnInvokeCommand() * ISVBgCm_fnInvokeCommand()
*/ */
static HRESULT WINAPI ISVBgCm_fnInvokeCommand( static HRESULT WINAPI ISVBgCm_fnInvokeCommand(
IContextMenu *iface, IContextMenu2 *iface,
LPCMINVOKECOMMANDINFO lpcmi) LPCMINVOKECOMMANDINFO lpcmi)
{ {
ICOM_THIS(BgCmImpl, iface); ICOM_THIS(BgCmImpl, iface);
...@@ -383,7 +381,7 @@ static HRESULT WINAPI ISVBgCm_fnInvokeCommand( ...@@ -383,7 +381,7 @@ static HRESULT WINAPI ISVBgCm_fnInvokeCommand(
* *
*/ */
static HRESULT WINAPI ISVBgCm_fnGetCommandString( static HRESULT WINAPI ISVBgCm_fnGetCommandString(
IContextMenu *iface, IContextMenu2 *iface,
UINT idCommand, UINT idCommand,
UINT uFlags, UINT uFlags,
UINT* lpReserved, UINT* lpReserved,
...@@ -417,7 +415,7 @@ static HRESULT WINAPI ISVBgCm_fnGetCommandString( ...@@ -417,7 +415,7 @@ static HRESULT WINAPI ISVBgCm_fnGetCommandString(
* ISVBgCm_fnHandleMenuMsg() * ISVBgCm_fnHandleMenuMsg()
*/ */
static HRESULT WINAPI ISVBgCm_fnHandleMenuMsg( static HRESULT WINAPI ISVBgCm_fnHandleMenuMsg(
IContextMenu *iface, IContextMenu2 *iface,
UINT uMsg, UINT uMsg,
WPARAM wParam, WPARAM wParam,
LPARAM lParam) LPARAM lParam)
...@@ -430,10 +428,10 @@ static HRESULT WINAPI ISVBgCm_fnHandleMenuMsg( ...@@ -430,10 +428,10 @@ static HRESULT WINAPI ISVBgCm_fnHandleMenuMsg(
} }
/************************************************************************** /**************************************************************************
* IContextMenu VTable * IContextMenu2 VTable
* *
*/ */
static struct ICOM_VTABLE(IContextMenu) cmvt = static struct ICOM_VTABLE(IContextMenu2) cmvt =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
ISVBgCm_fnQueryInterface, ISVBgCm_fnQueryInterface,
...@@ -442,6 +440,5 @@ static struct ICOM_VTABLE(IContextMenu) cmvt = ...@@ -442,6 +440,5 @@ static struct ICOM_VTABLE(IContextMenu) cmvt =
ISVBgCm_fnQueryContextMenu, ISVBgCm_fnQueryContextMenu,
ISVBgCm_fnInvokeCommand, ISVBgCm_fnInvokeCommand,
ISVBgCm_fnGetCommandString, ISVBgCm_fnGetCommandString,
ISVBgCm_fnHandleMenuMsg, ISVBgCm_fnHandleMenuMsg
(void *) 0xdeadbabe /* just paranoia (IContextMenu3) */
}; };
...@@ -41,7 +41,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(shell); ...@@ -41,7 +41,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(shell);
* IContextMenu Implementation * IContextMenu Implementation
*/ */
typedef struct typedef struct
{ ICOM_VFIELD(IContextMenu); { ICOM_VFIELD(IContextMenu2);
DWORD ref; DWORD ref;
IShellFolder* pSFParent; IShellFolder* pSFParent;
LPITEMIDLIST pidl; /* root pidl */ LPITEMIDLIST pidl; /* root pidl */
...@@ -51,7 +51,7 @@ typedef struct ...@@ -51,7 +51,7 @@ typedef struct
} ItemCmImpl; } ItemCmImpl;
static struct ICOM_VTABLE(IContextMenu) cmvt; static struct ICOM_VTABLE(IContextMenu2) cmvt;
/************************************************************************** /**************************************************************************
* ISvItemCm_CanRenameItems() * ISvItemCm_CanRenameItems()
...@@ -76,7 +76,7 @@ static BOOL ISvItemCm_CanRenameItems(ItemCmImpl *This) ...@@ -76,7 +76,7 @@ static BOOL ISvItemCm_CanRenameItems(ItemCmImpl *This)
/************************************************************************** /**************************************************************************
* ISvItemCm_Constructor() * ISvItemCm_Constructor()
*/ */
IContextMenu *ISvItemCm_Constructor(LPSHELLFOLDER pSFParent, LPCITEMIDLIST pidl, LPCITEMIDLIST *apidl, UINT cidl) IContextMenu2 *ISvItemCm_Constructor(LPSHELLFOLDER pSFParent, LPCITEMIDLIST pidl, LPCITEMIDLIST *apidl, UINT cidl)
{ ItemCmImpl* cm; { ItemCmImpl* cm;
UINT u; UINT u;
...@@ -99,13 +99,13 @@ IContextMenu *ISvItemCm_Constructor(LPSHELLFOLDER pSFParent, LPCITEMIDLIST pidl, ...@@ -99,13 +99,13 @@ IContextMenu *ISvItemCm_Constructor(LPSHELLFOLDER pSFParent, LPCITEMIDLIST pidl,
TRACE("(%p)->()\n",cm); TRACE("(%p)->()\n",cm);
return (IContextMenu*)cm; return (IContextMenu2*)cm;
} }
/************************************************************************** /**************************************************************************
* ISvItemCm_fnQueryInterface * ISvItemCm_fnQueryInterface
*/ */
static HRESULT WINAPI ISvItemCm_fnQueryInterface(IContextMenu *iface, REFIID riid, LPVOID *ppvObj) static HRESULT WINAPI ISvItemCm_fnQueryInterface(IContextMenu2 *iface, REFIID riid, LPVOID *ppvObj)
{ {
ICOM_THIS(ItemCmImpl, iface); ICOM_THIS(ItemCmImpl, iface);
...@@ -113,11 +113,9 @@ static HRESULT WINAPI ISvItemCm_fnQueryInterface(IContextMenu *iface, REFIID rii ...@@ -113,11 +113,9 @@ static HRESULT WINAPI ISvItemCm_fnQueryInterface(IContextMenu *iface, REFIID rii
*ppvObj = NULL; *ppvObj = NULL;
if(IsEqualIID(riid, &IID_IUnknown)) /*IUnknown*/ if(IsEqualIID(riid, &IID_IUnknown) ||
{ IsEqualIID(riid, &IID_IContextMenu) ||
*ppvObj = This; IsEqualIID(riid, &IID_IContextMenu2))
}
else if(IsEqualIID(riid, &IID_IContextMenu)) /*IContextMenu*/
{ {
*ppvObj = This; *ppvObj = This;
} }
...@@ -139,7 +137,7 @@ static HRESULT WINAPI ISvItemCm_fnQueryInterface(IContextMenu *iface, REFIID rii ...@@ -139,7 +137,7 @@ static HRESULT WINAPI ISvItemCm_fnQueryInterface(IContextMenu *iface, REFIID rii
/************************************************************************** /**************************************************************************
* ISvItemCm_fnAddRef * ISvItemCm_fnAddRef
*/ */
static ULONG WINAPI ISvItemCm_fnAddRef(IContextMenu *iface) static ULONG WINAPI ISvItemCm_fnAddRef(IContextMenu2 *iface)
{ {
ICOM_THIS(ItemCmImpl, iface); ICOM_THIS(ItemCmImpl, iface);
...@@ -151,7 +149,7 @@ static ULONG WINAPI ISvItemCm_fnAddRef(IContextMenu *iface) ...@@ -151,7 +149,7 @@ static ULONG WINAPI ISvItemCm_fnAddRef(IContextMenu *iface)
/************************************************************************** /**************************************************************************
* ISvItemCm_fnRelease * ISvItemCm_fnRelease
*/ */
static ULONG WINAPI ISvItemCm_fnRelease(IContextMenu *iface) static ULONG WINAPI ISvItemCm_fnRelease(IContextMenu2 *iface)
{ {
ICOM_THIS(ItemCmImpl, iface); ICOM_THIS(ItemCmImpl, iface);
...@@ -211,7 +209,7 @@ void WINAPI _InsertMenuItem ( ...@@ -211,7 +209,7 @@ void WINAPI _InsertMenuItem (
*/ */
static HRESULT WINAPI ISvItemCm_fnQueryContextMenu( static HRESULT WINAPI ISvItemCm_fnQueryContextMenu(
IContextMenu *iface, IContextMenu2 *iface,
HMENU hmenu, HMENU hmenu,
UINT indexMenu, UINT indexMenu,
UINT idCmdFirst, UINT idCmdFirst,
...@@ -263,7 +261,7 @@ static HRESULT WINAPI ISvItemCm_fnQueryContextMenu( ...@@ -263,7 +261,7 @@ static HRESULT WINAPI ISvItemCm_fnQueryContextMenu(
*/ */
static void DoOpenExplore( static void DoOpenExplore(
IContextMenu *iface, IContextMenu2 *iface,
HWND hwnd, HWND hwnd,
LPCSTR verb) LPCSTR verb)
{ {
...@@ -305,7 +303,7 @@ static void DoOpenExplore( ...@@ -305,7 +303,7 @@ static void DoOpenExplore(
* DoRename * DoRename
*/ */
static void DoRename( static void DoRename(
IContextMenu *iface, IContextMenu2 *iface,
HWND hwnd) HWND hwnd)
{ {
ICOM_THIS(ItemCmImpl, iface); ICOM_THIS(ItemCmImpl, iface);
...@@ -333,7 +331,7 @@ static void DoRename( ...@@ -333,7 +331,7 @@ static void DoRename(
* *
* deletes the currently selected items * deletes the currently selected items
*/ */
static void DoDelete(IContextMenu *iface) static void DoDelete(IContextMenu2 *iface)
{ {
ICOM_THIS(ItemCmImpl, iface); ICOM_THIS(ItemCmImpl, iface);
ISFHelper * psfhlp; ISFHelper * psfhlp;
...@@ -352,7 +350,7 @@ static void DoDelete(IContextMenu *iface) ...@@ -352,7 +350,7 @@ static void DoDelete(IContextMenu *iface)
* copies the currently selected items into the clipboard * copies the currently selected items into the clipboard
*/ */
static BOOL DoCopyOrCut( static BOOL DoCopyOrCut(
IContextMenu *iface, IContextMenu2 *iface,
HWND hwnd, HWND hwnd,
BOOL bCut) BOOL bCut)
{ {
...@@ -425,7 +423,7 @@ static BOOL DoCopyOrCut( ...@@ -425,7 +423,7 @@ static BOOL DoCopyOrCut(
* ISvItemCm_fnInvokeCommand() * ISvItemCm_fnInvokeCommand()
*/ */
static HRESULT WINAPI ISvItemCm_fnInvokeCommand( static HRESULT WINAPI ISvItemCm_fnInvokeCommand(
IContextMenu *iface, IContextMenu2 *iface,
LPCMINVOKECOMMANDINFO lpcmi) LPCMINVOKECOMMANDINFO lpcmi)
{ {
ICOM_THIS(ItemCmImpl, iface); ICOM_THIS(ItemCmImpl, iface);
...@@ -488,7 +486,7 @@ static HRESULT WINAPI ISvItemCm_fnInvokeCommand( ...@@ -488,7 +486,7 @@ static HRESULT WINAPI ISvItemCm_fnInvokeCommand(
* ISvItemCm_fnGetCommandString() * ISvItemCm_fnGetCommandString()
*/ */
static HRESULT WINAPI ISvItemCm_fnGetCommandString( static HRESULT WINAPI ISvItemCm_fnGetCommandString(
IContextMenu *iface, IContextMenu2 *iface,
UINT idCommand, UINT idCommand,
UINT uFlags, UINT uFlags,
UINT* lpReserved, UINT* lpReserved,
...@@ -503,7 +501,8 @@ static HRESULT WINAPI ISvItemCm_fnGetCommandString( ...@@ -503,7 +501,8 @@ static HRESULT WINAPI ISvItemCm_fnGetCommandString(
switch(uFlags) switch(uFlags)
{ {
case GCS_HELPTEXT: case GCS_HELPTEXTA:
case GCS_HELPTEXTW:
hr = E_NOTIMPL; hr = E_NOTIMPL;
break; break;
...@@ -528,7 +527,8 @@ static HRESULT WINAPI ISvItemCm_fnGetCommandString( ...@@ -528,7 +527,8 @@ static HRESULT WINAPI ISvItemCm_fnGetCommandString(
} }
break; break;
case GCS_VALIDATE: case GCS_VALIDATEA:
case GCS_VALIDATEW:
hr = NOERROR; hr = NOERROR;
break; break;
} }
...@@ -543,7 +543,7 @@ static HRESULT WINAPI ISvItemCm_fnGetCommandString( ...@@ -543,7 +543,7 @@ static HRESULT WINAPI ISvItemCm_fnGetCommandString(
* is nevertheless called from word95 * is nevertheless called from word95
*/ */
static HRESULT WINAPI ISvItemCm_fnHandleMenuMsg( static HRESULT WINAPI ISvItemCm_fnHandleMenuMsg(
IContextMenu *iface, IContextMenu2 *iface,
UINT uMsg, UINT uMsg,
WPARAM wParam, WPARAM wParam,
LPARAM lParam) LPARAM lParam)
...@@ -555,7 +555,7 @@ static HRESULT WINAPI ISvItemCm_fnHandleMenuMsg( ...@@ -555,7 +555,7 @@ static HRESULT WINAPI ISvItemCm_fnHandleMenuMsg(
return E_NOTIMPL; return E_NOTIMPL;
} }
static struct ICOM_VTABLE(IContextMenu) cmvt = static struct ICOM_VTABLE(IContextMenu2) cmvt =
{ {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
ISvItemCm_fnQueryInterface, ISvItemCm_fnQueryInterface,
...@@ -564,6 +564,5 @@ static struct ICOM_VTABLE(IContextMenu) cmvt = ...@@ -564,6 +564,5 @@ static struct ICOM_VTABLE(IContextMenu) cmvt =
ISvItemCm_fnQueryContextMenu, ISvItemCm_fnQueryContextMenu,
ISvItemCm_fnInvokeCommand, ISvItemCm_fnInvokeCommand,
ISvItemCm_fnGetCommandString, ISvItemCm_fnGetCommandString,
ISvItemCm_fnHandleMenuMsg, ISvItemCm_fnHandleMenuMsg
(void *) 0xdeadbabe /* just paranoia */
}; };
...@@ -244,12 +244,6 @@ WINE_INCLUDES = \ ...@@ -244,12 +244,6 @@ WINE_INCLUDES = \
debug.h \ debug.h \
exception.h \ exception.h \
library.h \ library.h \
obj_commdlgbrowser.h \
obj_contextmenu.h \
obj_dockingwindowframe.h \
obj_dragdrophelper.h \
obj_extracticon.h \
obj_shellfolder.h \
unicode.h unicode.h
EXTRASUBDIRS = bitmaps msvcrt msvcrt/sys wine EXTRASUBDIRS = bitmaps msvcrt msvcrt/sys wine
......
...@@ -41,28 +41,28 @@ DEFINE_SHLGUID(CGID_ShellServiceObject, 0x000214D2L, 0, 0); ...@@ -41,28 +41,28 @@ DEFINE_SHLGUID(CGID_ShellServiceObject, 0x000214D2L, 0, 0);
DEFINE_SHLGUID(CGID_ExplorerBarDoc, 0x000214D3L, 0, 0); DEFINE_SHLGUID(CGID_ExplorerBarDoc, 0x000214D3L, 0, 0);
DEFINE_SHLGUID(IID_INewShortcutHookA, 0x000214E1L, 0, 0); DEFINE_SHLGUID(IID_INewShortcutHookA, 0x000214E1L, 0, 0);
DEFINE_SHLGUID(IID_IContextMenu, 0x000214E4L, 0, 0);
DEFINE_SHLGUID(IID_IShellIcon, 0x000214E5L, 0, 0); DEFINE_SHLGUID(IID_IShellIcon, 0x000214E5L, 0, 0);
DEFINE_SHLGUID(IID_IShellPropSheetExt, 0x000214E9L, 0, 0); DEFINE_SHLGUID(IID_IShellPropSheetExt, 0x000214E9L, 0, 0);
DEFINE_SHLGUID(IID_IExtractIconA, 0x000214EBL, 0, 0);
DEFINE_SHLGUID(IID_IShellDetails, 0x000214ECL, 0, 0); DEFINE_SHLGUID(IID_IShellDetails, 0x000214ECL, 0, 0);
DEFINE_SHLGUID(IID_IDelayedRelease, 0x000214EDL, 0, 0); DEFINE_SHLGUID(IID_IDelayedRelease, 0x000214EDL, 0, 0);
DEFINE_SHLGUID(IID_IShellCopyHookA, 0x000214EFL, 0, 0); DEFINE_SHLGUID(IID_IShellCopyHookA, 0x000214EFL, 0, 0);
DEFINE_SHLGUID(IID_IFileViewerA, 0x000214F0L, 0, 0); DEFINE_SHLGUID(IID_IFileViewerA, 0x000214F0L, 0, 0);
DEFINE_SHLGUID(IID_ICommDlgBrowser, 0x000214F1L, 0, 0);
DEFINE_SHLGUID(IID_IFileViewerSite, 0x000214F3L, 0, 0); DEFINE_SHLGUID(IID_IFileViewerSite, 0x000214F3L, 0, 0);
DEFINE_SHLGUID(IID_IContextMenu2, 0x000214F4L, 0, 0);
DEFINE_SHLGUID(IID_IShellExecuteHookA, 0x000214F5L, 0, 0); DEFINE_SHLGUID(IID_IShellExecuteHookA, 0x000214F5L, 0, 0);
DEFINE_SHLGUID(IID_IPropSheetPage, 0x000214F6L, 0, 0); DEFINE_SHLGUID(IID_IPropSheetPage, 0x000214F6L, 0, 0);
DEFINE_SHLGUID(IID_INewShortcutHookW, 0x000214F7L, 0, 0); DEFINE_SHLGUID(IID_INewShortcutHookW, 0x000214F7L, 0, 0);
DEFINE_SHLGUID(IID_IFileViewerW, 0x000214F8L, 0, 0); DEFINE_SHLGUID(IID_IFileViewerW, 0x000214F8L, 0, 0);
DEFINE_SHLGUID(IID_IExtractIconW, 0x000214FAL, 0, 0);
DEFINE_SHLGUID(IID_IShellExecuteHookW, 0x000214FBL, 0, 0); DEFINE_SHLGUID(IID_IShellExecuteHookW, 0x000214FBL, 0, 0);
DEFINE_SHLGUID(IID_IShellCopyHookW, 0x000214FCL, 0, 0); DEFINE_SHLGUID(IID_IShellCopyHookW, 0x000214FCL, 0, 0);
DEFINE_SHLGUID(IID_IRemoteComputer, 0x000214FEL, 0, 0); DEFINE_SHLGUID(IID_IRemoteComputer, 0x000214FEL, 0, 0);
DEFINE_SHLGUID(IID_IQueryInfo, 0x00021500L, 0, 0); DEFINE_SHLGUID(IID_IQueryInfo, 0x00021500L, 0, 0);
/* avoid duplicate definitions with shobjidl.h (FIXME) */ /* avoid duplicate definitions with shobjidl.h (FIXME) */
/* DEFINE_SHLGUID(IID_IExtractIconA, 0x000214EBL, 0, 0); */
/* DEFINE_SHLGUID(IID_IExtractIconW, 0x000214FAL, 0, 0); */
/* DEFINE_SHLGUID(IID_IContextMenu, 0x000214E4L, 0, 0); */
/* DEFINE_SHLGUID(IID_IContextMenu2, 0x000214F4L, 0, 0); */
/* DEFINE_SHLGUID(IID_ICommDlgBrowser, 0x000214F1L, 0, 0); */
/* DEFINE_SHLGUID(IID_IShellBrowser, 0x000214E2L, 0, 0); */ /* DEFINE_SHLGUID(IID_IShellBrowser, 0x000214E2L, 0, 0); */
/* DEFINE_SHLGUID(IID_IShellView, 0x000214E3L, 0, 0); */ /* DEFINE_SHLGUID(IID_IShellView, 0x000214E3L, 0, 0); */
/* DEFINE_SHLGUID(IID_IShellFolder, 0x000214E6L, 0, 0); */ /* DEFINE_SHLGUID(IID_IShellFolder, 0x000214E6L, 0, 0); */
...@@ -103,4 +103,13 @@ DEFINE_GUID(CLSID_MyDocuments, 0x450d8fba, 0xad25, 0x11d0, 0x98, 0xa8, 0x08, 0x0 ...@@ -103,4 +103,13 @@ DEFINE_GUID(CLSID_MyDocuments, 0x450d8fba, 0xad25, 0x11d0, 0x98, 0xa8, 0x08, 0x0
DEFINE_GUID(IID_IQueryAssociations, 0xc46ca590, 0x3c3f, 0x11d2, 0xbe, 0xe6, 0x00, 0x00, 0xf8, 0x05, 0xca, 0x57); DEFINE_GUID(IID_IQueryAssociations, 0xc46ca590, 0x3c3f, 0x11d2, 0xbe, 0xe6, 0x00, 0x00, 0xf8, 0x05, 0xca, 0x57);
DEFINE_GUID(CLSID_DragDropHelper, 0x4657278a, 0x411b, 0x11d2, 0x83, 0x9a, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0xd0);
#define PID_FINDDATA 0
#define PID_NETRESOURCE 1
#define PID_DESCRIPTIONID 2
#define PID_WHICHFOLDER 3
#define PID_NETWORKLOCATION 4
#define PID_COMPUTERNAME 5
#endif /* __WINE_SHLGUID_H */ #endif /* __WINE_SHLGUID_H */
...@@ -39,13 +39,6 @@ BOOL WINAPI SHGetPathFromIDListW (LPCITEMIDLIST pidl,LPWSTR pszPath); ...@@ -39,13 +39,6 @@ BOOL WINAPI SHGetPathFromIDListW (LPCITEMIDLIST pidl,LPWSTR pszPath);
#define SHGetPathFromIDList WINELIB_NAME_AW(SHGetPathFromIDList) #define SHGetPathFromIDList WINELIB_NAME_AW(SHGetPathFromIDList)
#include <wine/obj_shellfolder.h>
#include <wine/obj_contextmenu.h>
#include <wine/obj_extracticon.h>
#include <wine/obj_commdlgbrowser.h>
#include <wine/obj_dockingwindowframe.h>
#include <wine/obj_dragdrophelper.h>
/***************************************************************************** /*****************************************************************************
* Predeclare interfaces * Predeclare interfaces
*/ */
......
...@@ -2744,6 +2744,1374 @@ void __RPC_STUB IShellExtInit_Initialize_Stub( ...@@ -2744,6 +2744,1374 @@ void __RPC_STUB IShellExtInit_Initialize_Stub(
#endif /* __IShellExtInit_INTERFACE_DEFINED__ */ #endif /* __IShellExtInit_INTERFACE_DEFINED__ */
#ifndef __IPersistFolder3_FWD_DEFINED__
#define __IPersistFolder3_FWD_DEFINED__
typedef struct IPersistFolder3 IPersistFolder3;
#endif
typedef struct {
LPITEMIDLIST pidlTargetFolder;
WCHAR szTargetParsingName[260];
WCHAR szNetworkProvider[260];
DWORD dwAttributes;
int csidl;
} PERSIST_FOLDER_TARGET_INFO;
/*****************************************************************************
* IPersistFolder3 interface
*/
#ifndef __IPersistFolder3_INTERFACE_DEFINED__
#define __IPersistFolder3_INTERFACE_DEFINED__
DEFINE_GUID(IID_IPersistFolder3, 0xcef04fdf, 0xfe72, 0x11d2, 0x87,0xa5, 0x00,0xc0,0x4f,0x68,0x37,0xcf);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IPersistFolder3 : public IPersistFolder2
{
virtual HRESULT STDMETHODCALLTYPE InitializeEx(
IBindCtx* pbc,
LPCITEMIDLIST pidlRoot,
const PERSIST_FOLDER_TARGET_INFO* ppfti) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFolderTargetInfo(
PERSIST_FOLDER_TARGET_INFO* ppfti) = 0;
};
#else
typedef struct IPersistFolder3Vtbl IPersistFolder3Vtbl;
struct IPersistFolder3 {
const IPersistFolder3Vtbl* lpVtbl;
};
struct IPersistFolder3Vtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IPersistFolder3* This,
REFIID riid,
void** ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IPersistFolder3* This);
ULONG (STDMETHODCALLTYPE *Release)(
IPersistFolder3* This);
/*** IPersist methods ***/
HRESULT (STDMETHODCALLTYPE *GetClassID)(
IPersistFolder3* This,
CLSID* pClassID);
/*** IPersistFolder methods ***/
HRESULT (STDMETHODCALLTYPE *Initialize)(
IPersistFolder3* This,
LPCITEMIDLIST pidl);
/*** IPersistFolder2 methods ***/
HRESULT (STDMETHODCALLTYPE *GetCurFolder)(
IPersistFolder3* This,
LPITEMIDLIST* ppidl);
/*** IPersistFolder3 methods ***/
HRESULT (STDMETHODCALLTYPE *InitializeEx)(
IPersistFolder3* This,
IBindCtx* pbc,
LPCITEMIDLIST pidlRoot,
const PERSIST_FOLDER_TARGET_INFO* ppfti);
HRESULT (STDMETHODCALLTYPE *GetFolderTargetInfo)(
IPersistFolder3* This,
PERSIST_FOLDER_TARGET_INFO* ppfti);
};
/*** IUnknown methods ***/
#define IPersistFolder3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IPersistFolder3_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IPersistFolder3_Release(p) (p)->lpVtbl->Release(p)
/*** IPersist methods ***/
#define IPersistFolder3_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
/*** IPersistFolder methods ***/
#define IPersistFolder3_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
/*** IPersistFolder2 methods ***/
#define IPersistFolder3_GetCurFolder(p,a) (p)->lpVtbl->GetCurFolder(p,a)
/*** IPersistFolder3 methods ***/
#define IPersistFolder3_InitializeEx(p,a,b,c) (p)->lpVtbl->InitializeEx(p,a,b,c)
#define IPersistFolder3_GetFolderTargetInfo(p,a) (p)->lpVtbl->GetFolderTargetInfo(p,a)
#endif
#define IPersistFolder3_METHODS \
ICOM_MSVTABLE_COMPAT_FIELDS \
/*** IUnknown methods ***/ \
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE; \
/*** IPersist methods ***/ \
STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
/*** IPersistFolder methods ***/ \
STDMETHOD_(HRESULT,Initialize)(THIS_ LPCITEMIDLIST pidl) PURE; \
/*** IPersistFolder2 methods ***/ \
STDMETHOD_(HRESULT,GetCurFolder)(THIS_ LPITEMIDLIST* ppidl) PURE; \
/*** IPersistFolder3 methods ***/ \
STDMETHOD_(HRESULT,InitializeEx)(THIS_ IBindCtx* pbc, LPCITEMIDLIST pidlRoot, const PERSIST_FOLDER_TARGET_INFO* ppfti) PURE; \
STDMETHOD_(HRESULT,GetFolderTargetInfo)(THIS_ PERSIST_FOLDER_TARGET_INFO* ppfti) PURE;
HRESULT CALLBACK IPersistFolder3_InitializeEx_Proxy(
IPersistFolder3* This,
IBindCtx* pbc,
LPCITEMIDLIST pidlRoot,
const PERSIST_FOLDER_TARGET_INFO* ppfti);
void __RPC_STUB IPersistFolder3_InitializeEx_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IPersistFolder3_GetFolderTargetInfo_Proxy(
IPersistFolder3* This,
PERSIST_FOLDER_TARGET_INFO* ppfti);
void __RPC_STUB IPersistFolder3_GetFolderTargetInfo_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IPersistFolder3_INTERFACE_DEFINED__ */
#ifndef __IExtractIconA_FWD_DEFINED__
#define __IExtractIconA_FWD_DEFINED__
typedef struct IExtractIconA IExtractIconA;
#endif
#define GIL_OPENICON 0x0001
#define GIL_FORSHELL 0x0002
#define GIL_ASYNC 0x0020
#define GIL_DEFAULTICON 0x0040
#define GIL_FORSHORTCUT 0x0080
#define GIL_SIMULATEDOC 0x0001
#define GIL_PERINSTANCE 0x0002
#define GIL_PERCLASS 0x0004
#define GIL_NOTFILENAME 0x0008
#define GIL_DONTCACHE 0x0010
typedef IExtractIconA *LPEXTRACTICONA;
/*****************************************************************************
* IExtractIconA interface
*/
#ifndef __IExtractIconA_INTERFACE_DEFINED__
#define __IExtractIconA_INTERFACE_DEFINED__
DEFINE_GUID(IID_IExtractIconA, 0x000214eb, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IExtractIconA : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetIconLocation(
UINT uFlags,
LPSTR szIconFile,
UINT cchMax,
INT* piIndex,
UINT* pwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE Extract(
LPCSTR pszFile,
UINT nIconIndex,
HICON* phiconLarge,
HICON* phiconSmall,
UINT nIconSize) = 0;
};
#else
typedef struct IExtractIconAVtbl IExtractIconAVtbl;
struct IExtractIconA {
const IExtractIconAVtbl* lpVtbl;
};
struct IExtractIconAVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IExtractIconA* This,
REFIID riid,
void** ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IExtractIconA* This);
ULONG (STDMETHODCALLTYPE *Release)(
IExtractIconA* This);
/*** IExtractIconA methods ***/
HRESULT (STDMETHODCALLTYPE *GetIconLocation)(
IExtractIconA* This,
UINT uFlags,
LPSTR szIconFile,
UINT cchMax,
INT* piIndex,
UINT* pwFlags);
HRESULT (STDMETHODCALLTYPE *Extract)(
IExtractIconA* This,
LPCSTR pszFile,
UINT nIconIndex,
HICON* phiconLarge,
HICON* phiconSmall,
UINT nIconSize);
};
/*** IUnknown methods ***/
#define IExtractIconA_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IExtractIconA_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IExtractIconA_Release(p) (p)->lpVtbl->Release(p)
/*** IExtractIconA methods ***/
#define IExtractIconA_GetIconLocation(p,a,b,c,d,e) (p)->lpVtbl->GetIconLocation(p,a,b,c,d,e)
#define IExtractIconA_Extract(p,a,b,c,d,e) (p)->lpVtbl->Extract(p,a,b,c,d,e)
#endif
#define IExtractIconA_METHODS \
ICOM_MSVTABLE_COMPAT_FIELDS \
/*** IUnknown methods ***/ \
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE; \
/*** IExtractIconA methods ***/ \
STDMETHOD_(HRESULT,GetIconLocation)(THIS_ UINT uFlags, LPSTR szIconFile, UINT cchMax, INT* piIndex, UINT* pwFlags) PURE; \
STDMETHOD_(HRESULT,Extract)(THIS_ LPCSTR pszFile, UINT nIconIndex, HICON* phiconLarge, HICON* phiconSmall, UINT nIconSize) PURE;
HRESULT CALLBACK IExtractIconA_GetIconLocation_Proxy(
IExtractIconA* This,
UINT uFlags,
LPSTR szIconFile,
UINT cchMax,
INT* piIndex,
UINT* pwFlags);
void __RPC_STUB IExtractIconA_GetIconLocation_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IExtractIconA_Extract_Proxy(
IExtractIconA* This,
LPCSTR pszFile,
UINT nIconIndex,
HICON* phiconLarge,
HICON* phiconSmall,
UINT nIconSize);
void __RPC_STUB IExtractIconA_Extract_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IExtractIconA_INTERFACE_DEFINED__ */
#ifndef __IExtractIconW_FWD_DEFINED__
#define __IExtractIconW_FWD_DEFINED__
typedef struct IExtractIconW IExtractIconW;
#endif
typedef IExtractIconW *LPEXTRACTICONW;
/*****************************************************************************
* IExtractIconW interface
*/
#ifndef __IExtractIconW_INTERFACE_DEFINED__
#define __IExtractIconW_INTERFACE_DEFINED__
DEFINE_GUID(IID_IExtractIconW, 0x000214fa, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IExtractIconW : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetIconLocation(
UINT uFlags,
LPWSTR szIconFile,
UINT cchMax,
INT* piIndex,
UINT* pwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE Extract(
LPCWSTR pszFile,
UINT nIconIndex,
HICON* phiconLarge,
HICON* phiconSmall,
UINT nIconSize) = 0;
};
#else
typedef struct IExtractIconWVtbl IExtractIconWVtbl;
struct IExtractIconW {
const IExtractIconWVtbl* lpVtbl;
};
struct IExtractIconWVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IExtractIconW* This,
REFIID riid,
void** ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IExtractIconW* This);
ULONG (STDMETHODCALLTYPE *Release)(
IExtractIconW* This);
/*** IExtractIconW methods ***/
HRESULT (STDMETHODCALLTYPE *GetIconLocation)(
IExtractIconW* This,
UINT uFlags,
LPWSTR szIconFile,
UINT cchMax,
INT* piIndex,
UINT* pwFlags);
HRESULT (STDMETHODCALLTYPE *Extract)(
IExtractIconW* This,
LPCWSTR pszFile,
UINT nIconIndex,
HICON* phiconLarge,
HICON* phiconSmall,
UINT nIconSize);
};
/*** IUnknown methods ***/
#define IExtractIconW_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IExtractIconW_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IExtractIconW_Release(p) (p)->lpVtbl->Release(p)
/*** IExtractIconW methods ***/
#define IExtractIconW_GetIconLocation(p,a,b,c,d,e) (p)->lpVtbl->GetIconLocation(p,a,b,c,d,e)
#define IExtractIconW_Extract(p,a,b,c,d,e) (p)->lpVtbl->Extract(p,a,b,c,d,e)
#endif
#define IExtractIconW_METHODS \
ICOM_MSVTABLE_COMPAT_FIELDS \
/*** IUnknown methods ***/ \
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE; \
/*** IExtractIconW methods ***/ \
STDMETHOD_(HRESULT,GetIconLocation)(THIS_ UINT uFlags, LPWSTR szIconFile, UINT cchMax, INT* piIndex, UINT* pwFlags) PURE; \
STDMETHOD_(HRESULT,Extract)(THIS_ LPCWSTR pszFile, UINT nIconIndex, HICON* phiconLarge, HICON* phiconSmall, UINT nIconSize) PURE;
HRESULT CALLBACK IExtractIconW_GetIconLocation_Proxy(
IExtractIconW* This,
UINT uFlags,
LPWSTR szIconFile,
UINT cchMax,
INT* piIndex,
UINT* pwFlags);
void __RPC_STUB IExtractIconW_GetIconLocation_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IExtractIconW_Extract_Proxy(
IExtractIconW* This,
LPCWSTR pszFile,
UINT nIconIndex,
HICON* phiconLarge,
HICON* phiconSmall,
UINT nIconSize);
void __RPC_STUB IExtractIconW_Extract_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IExtractIconW_INTERFACE_DEFINED__ */
#define LPEXTRACTICON WINELIB_NAME_AW(LPEXTRACTICON)
#define IExtractIcon WINELIB_NAME_AW(IExtractIcon)
#ifndef __ICommDlgBrowser_FWD_DEFINED__
#define __ICommDlgBrowser_FWD_DEFINED__
typedef struct ICommDlgBrowser ICommDlgBrowser;
#endif
#define CDBOSC_SETFOCUS 0x00000000
#define CDBOSC_KILLFOCUS 0x00000001
#define CDBOSC_SELCHANGE 0x00000002
#define CDBOSC_RENAME 0x00000003
#define CDBOSC_STATECHANGE 0x00000004
typedef ICommDlgBrowser *LPCOMMDLGBROWSER;
/*****************************************************************************
* ICommDlgBrowser interface
*/
#ifndef __ICommDlgBrowser_INTERFACE_DEFINED__
#define __ICommDlgBrowser_INTERFACE_DEFINED__
DEFINE_GUID(IID_ICommDlgBrowser, 0x000214f1, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct ICommDlgBrowser : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE OnDefaultCommand(
IShellView* shv) = 0;
virtual HRESULT STDMETHODCALLTYPE OnStateChange(
IShellView* shv,
ULONG uChange) = 0;
virtual HRESULT STDMETHODCALLTYPE IncludeObject(
IShellView* shv,
LPCITEMIDLIST pidl) = 0;
};
#else
typedef struct ICommDlgBrowserVtbl ICommDlgBrowserVtbl;
struct ICommDlgBrowser {
const ICommDlgBrowserVtbl* lpVtbl;
};
struct ICommDlgBrowserVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ICommDlgBrowser* This,
REFIID riid,
void** ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ICommDlgBrowser* This);
ULONG (STDMETHODCALLTYPE *Release)(
ICommDlgBrowser* This);
/*** ICommDlgBrowser methods ***/
HRESULT (STDMETHODCALLTYPE *OnDefaultCommand)(
ICommDlgBrowser* This,
IShellView* shv);
HRESULT (STDMETHODCALLTYPE *OnStateChange)(
ICommDlgBrowser* This,
IShellView* shv,
ULONG uChange);
HRESULT (STDMETHODCALLTYPE *IncludeObject)(
ICommDlgBrowser* This,
IShellView* shv,
LPCITEMIDLIST pidl);
};
/*** IUnknown methods ***/
#define ICommDlgBrowser_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define ICommDlgBrowser_AddRef(p) (p)->lpVtbl->AddRef(p)
#define ICommDlgBrowser_Release(p) (p)->lpVtbl->Release(p)
/*** ICommDlgBrowser methods ***/
#define ICommDlgBrowser_OnDefaultCommand(p,a) (p)->lpVtbl->OnDefaultCommand(p,a)
#define ICommDlgBrowser_OnStateChange(p,a,b) (p)->lpVtbl->OnStateChange(p,a,b)
#define ICommDlgBrowser_IncludeObject(p,a,b) (p)->lpVtbl->IncludeObject(p,a,b)
#endif
#define ICommDlgBrowser_METHODS \
ICOM_MSVTABLE_COMPAT_FIELDS \
/*** IUnknown methods ***/ \
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE; \
/*** ICommDlgBrowser methods ***/ \
STDMETHOD_(HRESULT,OnDefaultCommand)(THIS_ IShellView* shv) PURE; \
STDMETHOD_(HRESULT,OnStateChange)(THIS_ IShellView* shv, ULONG uChange) PURE; \
STDMETHOD_(HRESULT,IncludeObject)(THIS_ IShellView* shv, LPCITEMIDLIST pidl) PURE;
HRESULT CALLBACK ICommDlgBrowser_OnDefaultCommand_Proxy(
ICommDlgBrowser* This,
IShellView* shv);
void __RPC_STUB ICommDlgBrowser_OnDefaultCommand_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK ICommDlgBrowser_OnStateChange_Proxy(
ICommDlgBrowser* This,
IShellView* shv,
ULONG uChange);
void __RPC_STUB ICommDlgBrowser_OnStateChange_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK ICommDlgBrowser_IncludeObject_Proxy(
ICommDlgBrowser* This,
IShellView* shv,
LPCITEMIDLIST pidl);
void __RPC_STUB ICommDlgBrowser_IncludeObject_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __ICommDlgBrowser_INTERFACE_DEFINED__ */
#ifndef __IDockingWindowFrame_FWD_DEFINED__
#define __IDockingWindowFrame_FWD_DEFINED__
typedef struct IDockingWindowFrame IDockingWindowFrame;
#endif
#define DWFRF_NORMAL 0x0000
#define DWFRF_DELETECONFIGDATA 0x0001
#define DWFAF_HIDDEN 0x0001
/*****************************************************************************
* IDockingWindowFrame interface
*/
#ifndef __IDockingWindowFrame_INTERFACE_DEFINED__
#define __IDockingWindowFrame_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDockingWindowFrame, 0x47d2657a, 0x7b27, 0x11d0, 0x8c,0xa9, 0x00,0xa0,0xc9,0x2d,0xbf,0xe8);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IDockingWindowFrame : public IOleWindow
{
virtual HRESULT STDMETHODCALLTYPE AddToolbar(
IUnknown* punkSrc,
LPCWSTR pwszItem,
DWORD dwAddFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveToolbar(
IUnknown* punkSrc,
DWORD dwRemoveFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE FindToolbar(
LPCWSTR pwszItem,
REFIID riid,
LPVOID* ppvObj) = 0;
};
#else
typedef struct IDockingWindowFrameVtbl IDockingWindowFrameVtbl;
struct IDockingWindowFrame {
const IDockingWindowFrameVtbl* lpVtbl;
};
struct IDockingWindowFrameVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDockingWindowFrame* This,
REFIID riid,
void** ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDockingWindowFrame* This);
ULONG (STDMETHODCALLTYPE *Release)(
IDockingWindowFrame* This);
/*** IOleWindow methods ***/
HRESULT (STDMETHODCALLTYPE *GetWindow)(
IDockingWindowFrame* This,
HWND* phwnd);
HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
IDockingWindowFrame* This,
BOOL fEnterMode);
/*** IDockingWindowFrame methods ***/
HRESULT (STDMETHODCALLTYPE *AddToolbar)(
IDockingWindowFrame* This,
IUnknown* punkSrc,
LPCWSTR pwszItem,
DWORD dwAddFlags);
HRESULT (STDMETHODCALLTYPE *RemoveToolbar)(
IDockingWindowFrame* This,
IUnknown* punkSrc,
DWORD dwRemoveFlags);
HRESULT (STDMETHODCALLTYPE *FindToolbar)(
IDockingWindowFrame* This,
LPCWSTR pwszItem,
REFIID riid,
LPVOID* ppvObj);
};
/*** IUnknown methods ***/
#define IDockingWindowFrame_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IDockingWindowFrame_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IDockingWindowFrame_Release(p) (p)->lpVtbl->Release(p)
/*** IOleWindow methods ***/
#define IDockingWindowFrame_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
#define IDockingWindowFrame_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
/*** IDockingWindowFrame methods ***/
#define IDockingWindowFrame_AddToolbar(p,a,b,c) (p)->lpVtbl->AddToolbar(p,a,b,c)
#define IDockingWindowFrame_RemoveToolbar(p,a,b) (p)->lpVtbl->RemoveToolbar(p,a,b)
#define IDockingWindowFrame_FindToolbar(p,a,b,c) (p)->lpVtbl->FindToolbar(p,a,b,c)
#endif
#define IDockingWindowFrame_METHODS \
ICOM_MSVTABLE_COMPAT_FIELDS \
/*** IUnknown methods ***/ \
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE; \
/*** IOleWindow methods ***/ \
STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
/*** IDockingWindowFrame methods ***/ \
STDMETHOD_(HRESULT,AddToolbar)(THIS_ IUnknown* punkSrc, LPCWSTR pwszItem, DWORD dwAddFlags) PURE; \
STDMETHOD_(HRESULT,RemoveToolbar)(THIS_ IUnknown* punkSrc, DWORD dwRemoveFlags) PURE; \
STDMETHOD_(HRESULT,FindToolbar)(THIS_ LPCWSTR pwszItem, REFIID riid, LPVOID* ppvObj) PURE;
HRESULT CALLBACK IDockingWindowFrame_AddToolbar_Proxy(
IDockingWindowFrame* This,
IUnknown* punkSrc,
LPCWSTR pwszItem,
DWORD dwAddFlags);
void __RPC_STUB IDockingWindowFrame_AddToolbar_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IDockingWindowFrame_RemoveToolbar_Proxy(
IDockingWindowFrame* This,
IUnknown* punkSrc,
DWORD dwRemoveFlags);
void __RPC_STUB IDockingWindowFrame_RemoveToolbar_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IDockingWindowFrame_FindToolbar_Proxy(
IDockingWindowFrame* This,
LPCWSTR pwszItem,
REFIID riid,
LPVOID* ppvObj);
void __RPC_STUB IDockingWindowFrame_FindToolbar_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IDockingWindowFrame_INTERFACE_DEFINED__ */
#ifndef __IDragSourceHelper_FWD_DEFINED__
#define __IDragSourceHelper_FWD_DEFINED__
typedef struct IDragSourceHelper IDragSourceHelper;
#endif
typedef struct {
SIZE sizeDragImage;
POINT ptOffset;
HBITMAP hbmpDragImage;
COLORREF crColorKey;
} SHDRAGIMAGE, *LPSHDRAGIMAGE;
/*****************************************************************************
* IDragSourceHelper interface
*/
#ifndef __IDragSourceHelper_INTERFACE_DEFINED__
#define __IDragSourceHelper_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDragSourceHelper, 0xde5bf786, 0x477a, 0x11d2, 0x83,0x9d, 0x00,0xc0,0x4f,0xd9,0x18,0xd0);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IDragSourceHelper : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE InitializeFromBitmap(
LPSHDRAGIMAGE pshdi,
IDataObject* pDataObject) = 0;
virtual HRESULT STDMETHODCALLTYPE InitializeFromWindow(
HWND hwnd,
POINT* ppt,
IDataObject* pDataObject) = 0;
};
#else
typedef struct IDragSourceHelperVtbl IDragSourceHelperVtbl;
struct IDragSourceHelper {
const IDragSourceHelperVtbl* lpVtbl;
};
struct IDragSourceHelperVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDragSourceHelper* This,
REFIID riid,
void** ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDragSourceHelper* This);
ULONG (STDMETHODCALLTYPE *Release)(
IDragSourceHelper* This);
/*** IDragSourceHelper methods ***/
HRESULT (STDMETHODCALLTYPE *InitializeFromBitmap)(
IDragSourceHelper* This,
LPSHDRAGIMAGE pshdi,
IDataObject* pDataObject);
HRESULT (STDMETHODCALLTYPE *InitializeFromWindow)(
IDragSourceHelper* This,
HWND hwnd,
POINT* ppt,
IDataObject* pDataObject);
};
/*** IUnknown methods ***/
#define IDragSourceHelper_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IDragSourceHelper_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IDragSourceHelper_Release(p) (p)->lpVtbl->Release(p)
/*** IDragSourceHelper methods ***/
#define IDragSourceHelper_InitializeFromBitmap(p,a,b) (p)->lpVtbl->InitializeFromBitmap(p,a,b)
#define IDragSourceHelper_InitializeFromWindow(p,a,b,c) (p)->lpVtbl->InitializeFromWindow(p,a,b,c)
#endif
#define IDragSourceHelper_METHODS \
ICOM_MSVTABLE_COMPAT_FIELDS \
/*** IUnknown methods ***/ \
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE; \
/*** IDragSourceHelper methods ***/ \
STDMETHOD_(HRESULT,InitializeFromBitmap)(THIS_ LPSHDRAGIMAGE pshdi, IDataObject* pDataObject) PURE; \
STDMETHOD_(HRESULT,InitializeFromWindow)(THIS_ HWND hwnd, POINT* ppt, IDataObject* pDataObject) PURE;
HRESULT CALLBACK IDragSourceHelper_InitializeFromBitmap_Proxy(
IDragSourceHelper* This,
LPSHDRAGIMAGE pshdi,
IDataObject* pDataObject);
void __RPC_STUB IDragSourceHelper_InitializeFromBitmap_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IDragSourceHelper_InitializeFromWindow_Proxy(
IDragSourceHelper* This,
HWND hwnd,
POINT* ppt,
IDataObject* pDataObject);
void __RPC_STUB IDragSourceHelper_InitializeFromWindow_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IDragSourceHelper_INTERFACE_DEFINED__ */
#ifndef __IDropTargetHelper_FWD_DEFINED__
#define __IDropTargetHelper_FWD_DEFINED__
typedef struct IDropTargetHelper IDropTargetHelper;
#endif
/*****************************************************************************
* IDropTargetHelper interface
*/
#ifndef __IDropTargetHelper_INTERFACE_DEFINED__
#define __IDropTargetHelper_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDropTargetHelper, 0x4657278b, 0x411b, 0x11d2, 0x83,0x9a, 0x00,0xc0,0x4f,0xd9,0x18,0xd0);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IDropTargetHelper : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE DragEnter(
HWND hwndTarget,
IDataObject* pDataObject,
POINT* ppt,
DWORD dwEffect) = 0;
virtual HRESULT STDMETHODCALLTYPE DragLeave(
) = 0;
virtual HRESULT STDMETHODCALLTYPE DragOver(
POINT* ppt,
DWORD dwEffect) = 0;
virtual HRESULT STDMETHODCALLTYPE Drop(
IDataObject* pDataObject,
POINT* ppt,
DWORD dwEffect) = 0;
virtual HRESULT STDMETHODCALLTYPE Show(
BOOL fShow) = 0;
};
#else
typedef struct IDropTargetHelperVtbl IDropTargetHelperVtbl;
struct IDropTargetHelper {
const IDropTargetHelperVtbl* lpVtbl;
};
struct IDropTargetHelperVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDropTargetHelper* This,
REFIID riid,
void** ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDropTargetHelper* This);
ULONG (STDMETHODCALLTYPE *Release)(
IDropTargetHelper* This);
/*** IDropTargetHelper methods ***/
HRESULT (STDMETHODCALLTYPE *DragEnter)(
IDropTargetHelper* This,
HWND hwndTarget,
IDataObject* pDataObject,
POINT* ppt,
DWORD dwEffect);
HRESULT (STDMETHODCALLTYPE *DragLeave)(
IDropTargetHelper* This);
HRESULT (STDMETHODCALLTYPE *DragOver)(
IDropTargetHelper* This,
POINT* ppt,
DWORD dwEffect);
HRESULT (STDMETHODCALLTYPE *Drop)(
IDropTargetHelper* This,
IDataObject* pDataObject,
POINT* ppt,
DWORD dwEffect);
HRESULT (STDMETHODCALLTYPE *Show)(
IDropTargetHelper* This,
BOOL fShow);
};
/*** IUnknown methods ***/
#define IDropTargetHelper_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IDropTargetHelper_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IDropTargetHelper_Release(p) (p)->lpVtbl->Release(p)
/*** IDropTargetHelper methods ***/
#define IDropTargetHelper_DragEnter(p,a,b,c,d) (p)->lpVtbl->DragEnter(p,a,b,c,d)
#define IDropTargetHelper_DragLeave(p) (p)->lpVtbl->DragLeave(p)
#define IDropTargetHelper_DragOver(p,a,b) (p)->lpVtbl->DragOver(p,a,b)
#define IDropTargetHelper_Drop(p,a,b,c) (p)->lpVtbl->Drop(p,a,b,c)
#define IDropTargetHelper_Show(p,a) (p)->lpVtbl->Show(p,a)
#endif
#define IDropTargetHelper_METHODS \
ICOM_MSVTABLE_COMPAT_FIELDS \
/*** IUnknown methods ***/ \
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE; \
/*** IDropTargetHelper methods ***/ \
STDMETHOD_(HRESULT,DragEnter)(THIS_ HWND hwndTarget, IDataObject* pDataObject, POINT* ppt, DWORD dwEffect) PURE; \
STDMETHOD_(HRESULT,DragLeave)(THIS) PURE; \
STDMETHOD_(HRESULT,DragOver)(THIS_ POINT* ppt, DWORD dwEffect) PURE; \
STDMETHOD_(HRESULT,Drop)(THIS_ IDataObject* pDataObject, POINT* ppt, DWORD dwEffect) PURE; \
STDMETHOD_(HRESULT,Show)(THIS_ BOOL fShow) PURE;
HRESULT CALLBACK IDropTargetHelper_DragEnter_Proxy(
IDropTargetHelper* This,
HWND hwndTarget,
IDataObject* pDataObject,
POINT* ppt,
DWORD dwEffect);
void __RPC_STUB IDropTargetHelper_DragEnter_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IDropTargetHelper_DragLeave_Proxy(
IDropTargetHelper* This);
void __RPC_STUB IDropTargetHelper_DragLeave_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IDropTargetHelper_DragOver_Proxy(
IDropTargetHelper* This,
POINT* ppt,
DWORD dwEffect);
void __RPC_STUB IDropTargetHelper_DragOver_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IDropTargetHelper_Drop_Proxy(
IDropTargetHelper* This,
IDataObject* pDataObject,
POINT* ppt,
DWORD dwEffect);
void __RPC_STUB IDropTargetHelper_Drop_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IDropTargetHelper_Show_Proxy(
IDropTargetHelper* This,
BOOL fShow);
void __RPC_STUB IDropTargetHelper_Show_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IDropTargetHelper_INTERFACE_DEFINED__ */
#ifndef __IContextMenu_FWD_DEFINED__
#define __IContextMenu_FWD_DEFINED__
typedef struct IContextMenu IContextMenu;
#endif
#define CMF_NORMAL 0x00000000
#define CMF_DEFAULTONLY 0x00000001
#define CMF_VERBSONLY 0x00000002
#define CMF_EXPLORE 0x00000004
#define CMF_NOVERBS 0x00000008
#define CMF_CANRENAME 0x00000010
#define CMF_NODEFAULT 0x00000020
#define CMF_INCLUDESTATIC 0x00000040
#define CMF_EXTENDEDVERBS 0x00000100
#define CMF_RESERVED 0xffff0000
#define GCS_VERBA 0x00000000
#define GCS_HELPTEXTA 0x00000001
#define GCS_VALIDATEA 0x00000002
#define GCS_VERBW 0x00000004
#define GCS_HELPTEXTW 0x00000005
#define GCS_VALIDATEW 0x00000006
#define GCS_UNICODE 0x00000004
#define GCS_VERB WINELIB_NAME_AW(GCS_VERB)
#define GCS_HELPTEXT WINELIB_NAME_AW(GCS_HELPTEXT)
#define GCS_VALIDATE WINELIB_NAME_AW(GCS_VALIDATE)
#define CMDSTR_NEWFOLDERA "NewFolder"
#define CMDSTR_VIEWLISTA "ViewList"
#define CMDSTR_VIEWDETAILSA "ViewDetails"
#if defined(__GNUC__)
# define CMDSTR_NEWFOLDERW (const WCHAR []){ 'N','e','w','F','o','l','d','e','r',0 }
# define CMDSTR_VIEWLISTW (const WCHAR []){ 'V','i','e','w','L','i','s','t',0 }
# define CMDSTR_VIEWDETAILSW (const WCHAR []){ 'V','i','e','w','D','e','t','a','i','l','s',0 }
#elif defined(_MSC_VER)
# define CMDSTR_NEWFOLDERW L"NewFolder"
# define CMDSTR_VIEWLISTW L"ViewList"
# define CMDSTR_VIEWDETAILSW L"ViewDetails"
#else
static const WCHAR CMDSTR_NEWFOLDERW[] = {'N','e','w','F','o','l','d','e','r',0};
static const WCHAR CMDSTR_VIEWLISTW [] = {'V','i','e','w','L','i','s','t',0};
static const WCHAR CMDSTR_VIEWDETAILSW[] = {'V','i','e','w','D','e','t','a','i','l','s',0};
#endif
#define CMDSTR_NEWFOLDER WINELIB_NAME_AW(CMDSTR_NEWFOLDER)
#define CMDSTR_VIEWLIST WINELIB_NAME_AW(CMDSTR_VIEWLIST)
#define CMDSTR_VIEWDETAILS WINELIB_NAME_AW(CMDSTR_VIEWDETAILS)
#define CMIC_MASK_HOTKEY SEE_MASK_HOTKEY
#define CMIC_MASK_ICON SEE_MASK_ICON
#define CMIC_MASK_FLAG_NO_UI SEE_MASK_FLAG_NO_UI
#define CMIC_MASK_UNICODE SEE_MASK_UNICODE
#define CMIC_MASK_NO_CONSOLE SEE_MASK_NO_CONSOLE
#define CMIC_MASK_HASLINKNAME SEE_MASK_HASLINKNAME
#define CMIC_MASK_FLAG_SEP_VDM SEE_MASK_FLAG_SEPVDM
#define CMIC_MASK_HASTITLE SEE_MASK_HASTITLE
#define CMIC_MASK_ASYNCOK SEE_MASK_ASYNCOK
#define CMIC_MASK_SHIFT_DOWN 0x10000000
#define CMIC_MASK_PTINVOKE 0x20000000
#define CMIC_MASK_CONTROL_DOWN 0x40000000
#define CMIC_MASK_FLAG_LOG_USAGE SEE_MASK_FLAG_LOG_USAGE
#define CMIC_MASK_NOZONECHECKS SEE_MASK_NOZONECHECKS
typedef IContextMenu *LPCONTEXTMENU;
typedef struct tagCMINVOKECOMMANDINFO {
DWORD cbSize;
DWORD fMask;
HWND hwnd;
LPCSTR lpVerb;
LPCSTR lpParameters;
LPCSTR lpDirectory;
INT nShow;
DWORD dwHotKey;
HANDLE hIcon;
} CMINVOKECOMMANDINFO, *LPCMINVOKECOMMANDINFO;
typedef struct tagCMInvokeCommandInfoEx {
DWORD cbSize;
DWORD fMask;
HWND hwnd;
LPCSTR lpVerb;
LPCSTR lpParameters;
LPCSTR lpDirectory;
INT nShow;
DWORD dwHotKey;
HANDLE hIcon;
LPCSTR lpTitle;
LPCWSTR lpVerbW;
LPCWSTR lpParametersW;
LPCWSTR lpDirectoryW;
LPCWSTR lpTitleW;
POINT ptInvoke;
} CMINVOKECOMMANDINFOEX, *LPCMINVOKECOMMANDINFOEX;
/*****************************************************************************
* IContextMenu interface
*/
#ifndef __IContextMenu_INTERFACE_DEFINED__
#define __IContextMenu_INTERFACE_DEFINED__
DEFINE_GUID(IID_IContextMenu, 0x000214e4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IContextMenu : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE QueryContextMenu(
HMENU hmenu,
UINT indexMenu,
UINT idCmdFirst,
UINT idCmdLast,
UINT uFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE InvokeCommand(
LPCMINVOKECOMMANDINFO lpici) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCommandString(
UINT idCmd,
UINT uType,
UINT* pwReserved,
LPSTR pszName,
UINT cchMax) = 0;
};
#else
typedef struct IContextMenuVtbl IContextMenuVtbl;
struct IContextMenu {
const IContextMenuVtbl* lpVtbl;
};
struct IContextMenuVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IContextMenu* This,
REFIID riid,
void** ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IContextMenu* This);
ULONG (STDMETHODCALLTYPE *Release)(
IContextMenu* This);
/*** IContextMenu methods ***/
HRESULT (STDMETHODCALLTYPE *QueryContextMenu)(
IContextMenu* This,
HMENU hmenu,
UINT indexMenu,
UINT idCmdFirst,
UINT idCmdLast,
UINT uFlags);
HRESULT (STDMETHODCALLTYPE *InvokeCommand)(
IContextMenu* This,
LPCMINVOKECOMMANDINFO lpici);
HRESULT (STDMETHODCALLTYPE *GetCommandString)(
IContextMenu* This,
UINT idCmd,
UINT uType,
UINT* pwReserved,
LPSTR pszName,
UINT cchMax);
};
/*** IUnknown methods ***/
#define IContextMenu_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IContextMenu_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IContextMenu_Release(p) (p)->lpVtbl->Release(p)
/*** IContextMenu methods ***/
#define IContextMenu_QueryContextMenu(p,a,b,c,d,e) (p)->lpVtbl->QueryContextMenu(p,a,b,c,d,e)
#define IContextMenu_InvokeCommand(p,a) (p)->lpVtbl->InvokeCommand(p,a)
#define IContextMenu_GetCommandString(p,a,b,c,d,e) (p)->lpVtbl->GetCommandString(p,a,b,c,d,e)
#endif
#define IContextMenu_METHODS \
ICOM_MSVTABLE_COMPAT_FIELDS \
/*** IUnknown methods ***/ \
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE; \
/*** IContextMenu methods ***/ \
STDMETHOD_(HRESULT,QueryContextMenu)(THIS_ HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) PURE; \
STDMETHOD_(HRESULT,InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO lpici) PURE; \
STDMETHOD_(HRESULT,GetCommandString)(THIS_ UINT idCmd, UINT uType, UINT* pwReserved, LPSTR pszName, UINT cchMax) PURE;
HRESULT CALLBACK IContextMenu_QueryContextMenu_Proxy(
IContextMenu* This,
HMENU hmenu,
UINT indexMenu,
UINT idCmdFirst,
UINT idCmdLast,
UINT uFlags);
void __RPC_STUB IContextMenu_QueryContextMenu_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IContextMenu_InvokeCommand_Proxy(
IContextMenu* This,
LPCMINVOKECOMMANDINFO lpici);
void __RPC_STUB IContextMenu_InvokeCommand_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IContextMenu_GetCommandString_Proxy(
IContextMenu* This,
UINT idCmd,
UINT uType,
UINT* pwReserved,
LPSTR pszName,
UINT cchMax);
void __RPC_STUB IContextMenu_GetCommandString_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IContextMenu_INTERFACE_DEFINED__ */
#ifndef __IContextMenu2_FWD_DEFINED__
#define __IContextMenu2_FWD_DEFINED__
typedef struct IContextMenu2 IContextMenu2;
#endif
typedef IContextMenu2 *LPCONTEXTMENU2;
/*****************************************************************************
* IContextMenu2 interface
*/
#ifndef __IContextMenu2_INTERFACE_DEFINED__
#define __IContextMenu2_INTERFACE_DEFINED__
DEFINE_GUID(IID_IContextMenu2, 0x000214f4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IContextMenu2 : public IContextMenu
{
virtual HRESULT STDMETHODCALLTYPE HandleMenuMsg(
UINT uMsg,
WPARAM wParam,
LPARAM lParam) = 0;
};
#else
typedef struct IContextMenu2Vtbl IContextMenu2Vtbl;
struct IContextMenu2 {
const IContextMenu2Vtbl* lpVtbl;
};
struct IContextMenu2Vtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IContextMenu2* This,
REFIID riid,
void** ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IContextMenu2* This);
ULONG (STDMETHODCALLTYPE *Release)(
IContextMenu2* This);
/*** IContextMenu methods ***/
HRESULT (STDMETHODCALLTYPE *QueryContextMenu)(
IContextMenu2* This,
HMENU hmenu,
UINT indexMenu,
UINT idCmdFirst,
UINT idCmdLast,
UINT uFlags);
HRESULT (STDMETHODCALLTYPE *InvokeCommand)(
IContextMenu2* This,
LPCMINVOKECOMMANDINFO lpici);
HRESULT (STDMETHODCALLTYPE *GetCommandString)(
IContextMenu2* This,
UINT idCmd,
UINT uType,
UINT* pwReserved,
LPSTR pszName,
UINT cchMax);
/*** IContextMenu2 methods ***/
HRESULT (STDMETHODCALLTYPE *HandleMenuMsg)(
IContextMenu2* This,
UINT uMsg,
WPARAM wParam,
LPARAM lParam);
};
/*** IUnknown methods ***/
#define IContextMenu2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IContextMenu2_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IContextMenu2_Release(p) (p)->lpVtbl->Release(p)
/*** IContextMenu methods ***/
#define IContextMenu2_QueryContextMenu(p,a,b,c,d,e) (p)->lpVtbl->QueryContextMenu(p,a,b,c,d,e)
#define IContextMenu2_InvokeCommand(p,a) (p)->lpVtbl->InvokeCommand(p,a)
#define IContextMenu2_GetCommandString(p,a,b,c,d,e) (p)->lpVtbl->GetCommandString(p,a,b,c,d,e)
/*** IContextMenu2 methods ***/
#define IContextMenu2_HandleMenuMsg(p,a,b,c) (p)->lpVtbl->HandleMenuMsg(p,a,b,c)
#endif
#define IContextMenu2_METHODS \
ICOM_MSVTABLE_COMPAT_FIELDS \
/*** IUnknown methods ***/ \
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE; \
/*** IContextMenu methods ***/ \
STDMETHOD_(HRESULT,QueryContextMenu)(THIS_ HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) PURE; \
STDMETHOD_(HRESULT,InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO lpici) PURE; \
STDMETHOD_(HRESULT,GetCommandString)(THIS_ UINT idCmd, UINT uType, UINT* pwReserved, LPSTR pszName, UINT cchMax) PURE; \
/*** IContextMenu2 methods ***/ \
STDMETHOD_(HRESULT,HandleMenuMsg)(THIS_ UINT uMsg, WPARAM wParam, LPARAM lParam) PURE;
HRESULT CALLBACK IContextMenu2_HandleMenuMsg_Proxy(
IContextMenu2* This,
UINT uMsg,
WPARAM wParam,
LPARAM lParam);
void __RPC_STUB IContextMenu2_HandleMenuMsg_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IContextMenu2_INTERFACE_DEFINED__ */
#ifndef __IContextMenu3_FWD_DEFINED__
#define __IContextMenu3_FWD_DEFINED__
typedef struct IContextMenu3 IContextMenu3;
#endif
typedef IContextMenu3 *LPCONTEXTMENU3;
/*****************************************************************************
* IContextMenu3 interface
*/
#ifndef __IContextMenu3_INTERFACE_DEFINED__
#define __IContextMenu3_INTERFACE_DEFINED__
DEFINE_GUID(IID_IContextMenu3, 0xbcfce0a0, 0xec17, 0x11d0, 0x8d,0x10, 0x00,0xa0,0xc9,0x0f,0x27,0x19);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IContextMenu3 : public IContextMenu2
{
virtual HRESULT STDMETHODCALLTYPE HandleMenuMsg2(
UINT uMsg,
WPARAM wParam,
LPARAM lParam,
LRESULT* plResult) = 0;
};
#else
typedef struct IContextMenu3Vtbl IContextMenu3Vtbl;
struct IContextMenu3 {
const IContextMenu3Vtbl* lpVtbl;
};
struct IContextMenu3Vtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IContextMenu3* This,
REFIID riid,
void** ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IContextMenu3* This);
ULONG (STDMETHODCALLTYPE *Release)(
IContextMenu3* This);
/*** IContextMenu methods ***/
HRESULT (STDMETHODCALLTYPE *QueryContextMenu)(
IContextMenu3* This,
HMENU hmenu,
UINT indexMenu,
UINT idCmdFirst,
UINT idCmdLast,
UINT uFlags);
HRESULT (STDMETHODCALLTYPE *InvokeCommand)(
IContextMenu3* This,
LPCMINVOKECOMMANDINFO lpici);
HRESULT (STDMETHODCALLTYPE *GetCommandString)(
IContextMenu3* This,
UINT idCmd,
UINT uType,
UINT* pwReserved,
LPSTR pszName,
UINT cchMax);
/*** IContextMenu2 methods ***/
HRESULT (STDMETHODCALLTYPE *HandleMenuMsg)(
IContextMenu3* This,
UINT uMsg,
WPARAM wParam,
LPARAM lParam);
/*** IContextMenu3 methods ***/
HRESULT (STDMETHODCALLTYPE *HandleMenuMsg2)(
IContextMenu3* This,
UINT uMsg,
WPARAM wParam,
LPARAM lParam,
LRESULT* plResult);
};
/*** IUnknown methods ***/
#define IContextMenu3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IContextMenu3_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IContextMenu3_Release(p) (p)->lpVtbl->Release(p)
/*** IContextMenu methods ***/
#define IContextMenu3_QueryContextMenu(p,a,b,c,d,e) (p)->lpVtbl->QueryContextMenu(p,a,b,c,d,e)
#define IContextMenu3_InvokeCommand(p,a) (p)->lpVtbl->InvokeCommand(p,a)
#define IContextMenu3_GetCommandString(p,a,b,c,d,e) (p)->lpVtbl->GetCommandString(p,a,b,c,d,e)
/*** IContextMenu2 methods ***/
#define IContextMenu3_HandleMenuMsg(p,a,b,c) (p)->lpVtbl->HandleMenuMsg(p,a,b,c)
/*** IContextMenu3 methods ***/
#define IContextMenu3_HandleMenuMsg2(p,a,b,c,d) (p)->lpVtbl->HandleMenuMsg2(p,a,b,c,d)
#endif
#define IContextMenu3_METHODS \
ICOM_MSVTABLE_COMPAT_FIELDS \
/*** IUnknown methods ***/ \
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE; \
/*** IContextMenu methods ***/ \
STDMETHOD_(HRESULT,QueryContextMenu)(THIS_ HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) PURE; \
STDMETHOD_(HRESULT,InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO lpici) PURE; \
STDMETHOD_(HRESULT,GetCommandString)(THIS_ UINT idCmd, UINT uType, UINT* pwReserved, LPSTR pszName, UINT cchMax) PURE; \
/*** IContextMenu2 methods ***/ \
STDMETHOD_(HRESULT,HandleMenuMsg)(THIS_ UINT uMsg, WPARAM wParam, LPARAM lParam) PURE; \
/*** IContextMenu3 methods ***/ \
STDMETHOD_(HRESULT,HandleMenuMsg2)(THIS_ UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* plResult) PURE;
HRESULT CALLBACK IContextMenu3_HandleMenuMsg2_Proxy(
IContextMenu3* This,
UINT uMsg,
WPARAM wParam,
LPARAM lParam,
LRESULT* plResult);
void __RPC_STUB IContextMenu3_HandleMenuMsg2_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IContextMenu3_INTERFACE_DEFINED__ */
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
......
...@@ -691,3 +691,385 @@ interface IShellExtInit : IUnknown ...@@ -691,3 +691,385 @@ interface IShellExtInit : IUnknown
[in] IDataObject *pdtobj, [in] IDataObject *pdtobj,
[in] HKEY hkeyProgID); [in] HKEY hkeyProgID);
} }
/*******************************************************************************/
/* Note: the following interfaces are not in shobjidl.idl under Windows, they */
/* are declared directly in shlobj.h. It hopefully won't break anything to put */
/* them here anyway. */
/*******************************************************************************/
#ifndef MAX_PATH
#define MAX_PATH 260
#endif
/*****************************************************************************
* IPersistFolder3 interface
*/
[
object,
uuid(cef04fdf-fe72-11d2-87a5-00c04f6837cf),
pointer_default(unique)
]
interface IPersistFolder3 : IPersistFolder2
{
typedef struct
{
LPITEMIDLIST pidlTargetFolder;
WCHAR szTargetParsingName[MAX_PATH];
WCHAR szNetworkProvider[MAX_PATH];
DWORD dwAttributes;
int csidl;
} PERSIST_FOLDER_TARGET_INFO;
HRESULT InitializeEx(
[in] IBindCtx *pbc,
[in] LPCITEMIDLIST pidlRoot,
[in] const PERSIST_FOLDER_TARGET_INFO *ppfti);
HRESULT GetFolderTargetInfo( [out] PERSIST_FOLDER_TARGET_INFO *ppfti );
}
/*****************************************************************************
* IExtractIconA interface
*/
[
object,
uuid(000214eb-0000-0000-c000-000000000046),
pointer_default(unique)
]
interface IExtractIconA : IUnknown
{
cpp_quote("#define GIL_OPENICON 0x0001")
cpp_quote("#define GIL_FORSHELL 0x0002")
cpp_quote("#define GIL_ASYNC 0x0020")
cpp_quote("#define GIL_DEFAULTICON 0x0040")
cpp_quote("#define GIL_FORSHORTCUT 0x0080")
cpp_quote("#define GIL_SIMULATEDOC 0x0001")
cpp_quote("#define GIL_PERINSTANCE 0x0002")
cpp_quote("#define GIL_PERCLASS 0x0004")
cpp_quote("#define GIL_NOTFILENAME 0x0008")
cpp_quote("#define GIL_DONTCACHE 0x0010")
typedef IExtractIconA *LPEXTRACTICONA;
HRESULT GetIconLocation(
[in] UINT uFlags,
[out, size_is(cchMax)] LPSTR szIconFile,
[in] UINT cchMax,
[out] INT *piIndex,
[out] UINT *pwFlags);
HRESULT Extract(
[in] LPCSTR pszFile,
[in] UINT nIconIndex,
[out] HICON *phiconLarge,
[out] HICON *phiconSmall,
[in] UINT nIconSize );
}
/*****************************************************************************
* IExtractIconW interface
*/
[
object,
uuid(000214fa-0000-0000-c000-000000000046),
pointer_default(unique)
]
interface IExtractIconW : IUnknown
{
typedef IExtractIconW *LPEXTRACTICONW;
HRESULT GetIconLocation(
[in] UINT uFlags,
[out, size_is(cchMax)] LPWSTR szIconFile,
[in] UINT cchMax,
[out] INT *piIndex,
[out] UINT *pwFlags);
HRESULT Extract(
[in] LPCWSTR pszFile,
[in] UINT nIconIndex,
[out] HICON *phiconLarge,
[out] HICON *phiconSmall,
[in] UINT nIconSize );
}
cpp_quote("#define LPEXTRACTICON WINELIB_NAME_AW(LPEXTRACTICON)")
cpp_quote("#define IExtractIcon WINELIB_NAME_AW(IExtractIcon)")
/*****************************************************************************
* ICommDlgBrowser interface
*/
[
object,
uuid(000214f1-0000-0000-c000-000000000046),
pointer_default(unique)
]
interface ICommDlgBrowser : IUnknown
{
cpp_quote("#define CDBOSC_SETFOCUS 0x00000000")
cpp_quote("#define CDBOSC_KILLFOCUS 0x00000001")
cpp_quote("#define CDBOSC_SELCHANGE 0x00000002")
cpp_quote("#define CDBOSC_RENAME 0x00000003")
cpp_quote("#define CDBOSC_STATECHANGE 0x00000004")
typedef ICommDlgBrowser *LPCOMMDLGBROWSER;
HRESULT OnDefaultCommand( [in] IShellView *shv );
HRESULT OnStateChange( [in] IShellView *shv, [in] ULONG uChange );
HRESULT IncludeObject( [in] IShellView *shv, [in] LPCITEMIDLIST pidl );
}
/*****************************************************************************
* IDockingWindowFrame interface
*/
[
object,
uuid(47d2657a-7b27-11d0-8ca9-00a0c92dbfe8),
pointer_default(unique)
]
interface IDockingWindowFrame : IOleWindow
{
cpp_quote("#define DWFRF_NORMAL 0x0000")
cpp_quote("#define DWFRF_DELETECONFIGDATA 0x0001")
cpp_quote("#define DWFAF_HIDDEN 0x0001")
HRESULT AddToolbar(
[in] IUnknown *punkSrc,
[in] LPCWSTR pwszItem,
[in] DWORD dwAddFlags);
HRESULT RemoveToolbar(
[in] IUnknown *punkSrc,
[in] DWORD dwRemoveFlags);
HRESULT FindToolbar(
[in] LPCWSTR pwszItem,
[in] REFIID riid,
[out] LPVOID *ppvObj);
}
/*****************************************************************************
* IDragSourceHelper interface
*/
[
object,
uuid(de5bf786-477a-11d2-839d-00c04fd918d0),
pointer_default(unique)
]
interface IDragSourceHelper : IUnknown
{
typedef struct
{
SIZE sizeDragImage;
POINT ptOffset;
HBITMAP hbmpDragImage;
COLORREF crColorKey;
} SHDRAGIMAGE, *LPSHDRAGIMAGE;
HRESULT InitializeFromBitmap(
[in] LPSHDRAGIMAGE pshdi,
[in] IDataObject *pDataObject);
HRESULT InitializeFromWindow(
[in] HWND hwnd,
[in] POINT *ppt,
[in] IDataObject *pDataObject);
}
/*****************************************************************************
* IDropTargetHelper interface
*/
[
object,
uuid(4657278b-411b-11d2-839a-00c04fd918d0),
pointer_default(unique)
]
interface IDropTargetHelper : IUnknown
{
HRESULT DragEnter(
[in] HWND hwndTarget,
[in] IDataObject *pDataObject,
[in] POINT *ppt,
[in] DWORD dwEffect);
HRESULT DragLeave();
HRESULT DragOver(
[in] POINT *ppt,
[in] DWORD dwEffect);
HRESULT Drop(
[in] IDataObject *pDataObject,
[in] POINT *ppt,
[in] DWORD dwEffect);
HRESULT Show( [in] BOOL fShow );
}
/*****************************************************************************
* IContextMenu interface
*/
[
object,
uuid(000214e4-0000-0000-c000-000000000046),
pointer_default(unique)
]
interface IContextMenu : IUnknown
{
cpp_quote("#define CMF_NORMAL 0x00000000")
cpp_quote("#define CMF_DEFAULTONLY 0x00000001")
cpp_quote("#define CMF_VERBSONLY 0x00000002")
cpp_quote("#define CMF_EXPLORE 0x00000004")
cpp_quote("#define CMF_NOVERBS 0x00000008")
cpp_quote("#define CMF_CANRENAME 0x00000010")
cpp_quote("#define CMF_NODEFAULT 0x00000020")
cpp_quote("#define CMF_INCLUDESTATIC 0x00000040")
cpp_quote("#define CMF_EXTENDEDVERBS 0x00000100")
cpp_quote("#define CMF_RESERVED 0xffff0000")
cpp_quote("#define GCS_VERBA 0x00000000")
cpp_quote("#define GCS_HELPTEXTA 0x00000001")
cpp_quote("#define GCS_VALIDATEA 0x00000002")
cpp_quote("#define GCS_VERBW 0x00000004")
cpp_quote("#define GCS_HELPTEXTW 0x00000005")
cpp_quote("#define GCS_VALIDATEW 0x00000006")
cpp_quote("#define GCS_UNICODE 0x00000004")
cpp_quote("#define GCS_VERB WINELIB_NAME_AW(GCS_VERB)")
cpp_quote("#define GCS_HELPTEXT WINELIB_NAME_AW(GCS_HELPTEXT)")
cpp_quote("#define GCS_VALIDATE WINELIB_NAME_AW(GCS_VALIDATE)")
cpp_quote("#define CMDSTR_NEWFOLDERA \"NewFolder\"")
cpp_quote("#define CMDSTR_VIEWLISTA \"ViewList\"")
cpp_quote("#define CMDSTR_VIEWDETAILSA \"ViewDetails\"")
cpp_quote("#if defined(__GNUC__)")
cpp_quote("# define CMDSTR_NEWFOLDERW (const WCHAR []){ 'N','e','w','F','o','l','d','e','r',0 }")
cpp_quote("# define CMDSTR_VIEWLISTW (const WCHAR []){ 'V','i','e','w','L','i','s','t',0 }")
cpp_quote("# define CMDSTR_VIEWDETAILSW (const WCHAR []){ 'V','i','e','w','D','e','t','a','i','l','s',0 }")
cpp_quote("#elif defined(_MSC_VER)")
cpp_quote("# define CMDSTR_NEWFOLDERW L\"NewFolder\"")
cpp_quote("# define CMDSTR_VIEWLISTW L\"ViewList\"")
cpp_quote("# define CMDSTR_VIEWDETAILSW L\"ViewDetails\"")
cpp_quote("#else")
cpp_quote("static const WCHAR CMDSTR_NEWFOLDERW[] = {'N','e','w','F','o','l','d','e','r',0};")
cpp_quote("static const WCHAR CMDSTR_VIEWLISTW [] = {'V','i','e','w','L','i','s','t',0};")
cpp_quote("static const WCHAR CMDSTR_VIEWDETAILSW[] = {'V','i','e','w','D','e','t','a','i','l','s',0};")
cpp_quote("#endif")
cpp_quote("#define CMDSTR_NEWFOLDER WINELIB_NAME_AW(CMDSTR_NEWFOLDER)")
cpp_quote("#define CMDSTR_VIEWLIST WINELIB_NAME_AW(CMDSTR_VIEWLIST)")
cpp_quote("#define CMDSTR_VIEWDETAILS WINELIB_NAME_AW(CMDSTR_VIEWDETAILS)")
cpp_quote("#define CMIC_MASK_HOTKEY SEE_MASK_HOTKEY")
cpp_quote("#define CMIC_MASK_ICON SEE_MASK_ICON")
cpp_quote("#define CMIC_MASK_FLAG_NO_UI SEE_MASK_FLAG_NO_UI")
cpp_quote("#define CMIC_MASK_UNICODE SEE_MASK_UNICODE")
cpp_quote("#define CMIC_MASK_NO_CONSOLE SEE_MASK_NO_CONSOLE")
cpp_quote("#define CMIC_MASK_HASLINKNAME SEE_MASK_HASLINKNAME")
cpp_quote("#define CMIC_MASK_FLAG_SEP_VDM SEE_MASK_FLAG_SEPVDM")
cpp_quote("#define CMIC_MASK_HASTITLE SEE_MASK_HASTITLE")
cpp_quote("#define CMIC_MASK_ASYNCOK SEE_MASK_ASYNCOK")
cpp_quote("#define CMIC_MASK_SHIFT_DOWN 0x10000000")
cpp_quote("#define CMIC_MASK_PTINVOKE 0x20000000")
cpp_quote("#define CMIC_MASK_CONTROL_DOWN 0x40000000")
cpp_quote("#define CMIC_MASK_FLAG_LOG_USAGE SEE_MASK_FLAG_LOG_USAGE")
cpp_quote("#define CMIC_MASK_NOZONECHECKS SEE_MASK_NOZONECHECKS")
typedef IContextMenu *LPCONTEXTMENU;
typedef struct tagCMINVOKECOMMANDINFO
{
DWORD cbSize;
DWORD fMask;
HWND hwnd;
LPCSTR lpVerb;
LPCSTR lpParameters;
LPCSTR lpDirectory;
INT nShow;
DWORD dwHotKey;
HANDLE hIcon;
} CMINVOKECOMMANDINFO, *LPCMINVOKECOMMANDINFO;
typedef struct tagCMInvokeCommandInfoEx
{
DWORD cbSize;
DWORD fMask;
HWND hwnd;
LPCSTR lpVerb;
LPCSTR lpParameters;
LPCSTR lpDirectory;
INT nShow;
DWORD dwHotKey;
HANDLE hIcon;
LPCSTR lpTitle;
LPCWSTR lpVerbW;
LPCWSTR lpParametersW;
LPCWSTR lpDirectoryW;
LPCWSTR lpTitleW;
POINT ptInvoke;
} CMINVOKECOMMANDINFOEX, *LPCMINVOKECOMMANDINFOEX;
HRESULT QueryContextMenu(
[in] HMENU hmenu,
[in] UINT indexMenu,
[in] UINT idCmdFirst,
[in] UINT idCmdLast,
[in] UINT uFlags);
HRESULT InvokeCommand( [in] LPCMINVOKECOMMANDINFO lpici );
HRESULT GetCommandString(
[in] UINT idCmd,
[in] UINT uType,
[out] UINT *pwReserved,
[out, size_is(cchMax)] LPSTR pszName,
[in] UINT cchMax);
}
/*****************************************************************************
* IContextMenu2 interface
*/
[
object,
uuid(000214f4-0000-0000-c000-000000000046),
pointer_default(unique)
]
interface IContextMenu2 : IContextMenu
{
typedef IContextMenu2 *LPCONTEXTMENU2;
HRESULT HandleMenuMsg(
[in] UINT uMsg,
[in] WPARAM wParam,
[in] LPARAM lParam);
}
/*****************************************************************************
* IContextMenu3 interface
*/
[
object,
uuid(bcfce0a0-ec17-11d0-8d10-00a0c90f2719),
pointer_default(unique)
]
interface IContextMenu3 : IContextMenu2
{
typedef IContextMenu3 *LPCONTEXTMENU3;
HRESULT HandleMenuMsg2(
[in] UINT uMsg,
[in] WPARAM wParam,
[in] LPARAM lParam,
[out] LRESULT *plResult);
}
/*
* ICommDlgBrowser
*
* Copyright (C) 1999 Juergen Schmied
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __WINE_WINE_OBJ_COMMDLGBROWSER_H
#define __WINE_WINE_OBJ_COMMDLGBROWSER_H
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
typedef struct ICommDlgBrowser ICommDlgBrowser, *LPCOMMDLGBROWSER;
/* for OnStateChange*/
#define CDBOSC_SETFOCUS 0x00000000
#define CDBOSC_KILLFOCUS 0x00000001
#define CDBOSC_SELCHANGE 0x00000002
#define CDBOSC_RENAME 0x00000003
#define INTERFACE ICommDlgBrowser
#define ICommDlgBrowser_METHODS \
IUnknown_METHODS \
STDMETHOD(OnDefaultCommand)(THIS_ IShellView * IShellView) PURE; \
STDMETHOD(OnStateChange)(THIS_ IShellView * IShellView, ULONG uChange) PURE; \
STDMETHOD(IncludeObject)(THIS_ IShellView * IShellView, LPCITEMIDLIST pidl) PURE;
ICOM_DEFINE(ICommDlgBrowser,IUnknown)
#undef INTERFACE
#ifdef COBJMACROS
#define ICommDlgBrowser_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define ICommDlgBrowser_AddRef(p) (p)->lpVtbl->AddRef(p)
#define ICommDlgBrowser_Release(p) (p)->lpVtbl->Release(p)
#define ICommDlgBrowser_OnDefaultCommand(p,a) (p)->lpVtbl->OnDefaultCommand(p,a)
#define ICommDlgBrowser_OnStateChange(p,a,b) (p)->lpVtbl->OnStateChange(p,a,b)
#define ICommDlgBrowser_IncludeObject(p,a,b) (p)->lpVtbl->IncludeObject(p,a,b)
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif /* defined(__cplusplus) */
#endif /* __WINE_WINE_OBJ_COMMDLGBROWSER_H */
/*
* IContextMenu
*
* Undocumented:
* word95 gets a IContextMenu Interface and calls HandleMenuMsg()
* which should only a member of IContextMenu2.
*
* Copyright (C) 1999 Juergen Schmied
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __WINE_WINE_OBJ_CONTEXTMENU_H
#define __WINE_WINE_OBJ_CONTEXTMENU_H
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
typedef struct IContextMenu IContextMenu, *LPCONTEXTMENU;
/* QueryContextMenu uFlags */
#define CMF_NORMAL 0x00000000
#define CMF_DEFAULTONLY 0x00000001
#define CMF_VERBSONLY 0x00000002
#define CMF_EXPLORE 0x00000004
#define CMF_NOVERBS 0x00000008
#define CMF_CANRENAME 0x00000010
#define CMF_NODEFAULT 0x00000020
#define CMF_INCLUDESTATIC 0x00000040
#define CMF_RESERVED 0xffff0000 /* View specific */
/* GetCommandString uFlags */
#define GCS_VERBA 0x00000000 /* canonical verb */
#define GCS_HELPTEXTA 0x00000001 /* help text (for status bar) */
#define GCS_VALIDATEA 0x00000002 /* validate command exists */
#define GCS_VERBW 0x00000004 /* canonical verb (unicode) */
#define GCS_HELPTEXTW 0x00000005 /* help text (unicode version) */
#define GCS_VALIDATEW 0x00000006 /* validate command exists (unicode) */
#define GCS_UNICODE 0x00000004 /* for bit testing - Unicode string */
#define GCS_VERB GCS_VERBA
#define GCS_HELPTEXT GCS_HELPTEXTA
#define GCS_VALIDATE GCS_VALIDATEA
#define CMDSTR_NEWFOLDERA "NewFolder"
#define CMDSTR_VIEWLISTA "ViewList"
#define CMDSTR_VIEWDETAILSA "ViewDetails"
#if defined(__GNUC__)
# define CMDSTR_NEWFOLDERW (const WCHAR []){ 'N','e','w','F','o','l','d','e','r',0 }
# define CMDSTR_VIEWLISTW (const WCHAR []){ 'V','i','e','w','L','i','s','t',0 }
# define CMDSTR_VIEWDETAILSW (const WCHAR []){ 'V','i','e','w','D','e','t','a','i','l','s',0 }
#elif defined(_MSC_VER)
# define CMDSTR_NEWFOLDERW L"NewFolder"
# define CMDSTR_VIEWLISTW L"ViewList"
# define CMDSTR_VIEWDETAILSW L"ViewDetails"
#else
static const WCHAR CMDSTR_NEWFOLDERW[] = {'N','e','w','F','o','l','d','e','r',0};
static const WCHAR CMDSTR_VIEWLISTW [] = {'V','i','e','w','L','i','s','t',0};
static const WCHAR CMDSTR_VIEWDETAILSW[] = {'V','i','e','w','D','e','t','a','i','l','s',0};
#endif
#define CMDSTR_NEWFOLDER CMDSTR_NEWFOLDERA
#define CMDSTR_VIEWLIST CMDSTR_VIEWLISTA
#define CMDSTR_VIEWDETAILS CMDSTR_VIEWDETAILSA
#define CMIC_MASK_HOTKEY SEE_MASK_HOTKEY
#define CMIC_MASK_ICON SEE_MASK_ICON
#define CMIC_MASK_FLAG_NO_UI SEE_MASK_FLAG_NO_UI
#define CMIC_MASK_UNICODE SEE_MASK_UNICODE
#define CMIC_MASK_NO_CONSOLE SEE_MASK_NO_CONSOLE
#define CMIC_MASK_HASLINKNAME SEE_MASK_HASLINKNAME
#define CMIC_MASK_FLAG_SEP_VDM SEE_MASK_FLAG_SEPVDM
#define CMIC_MASK_HASTITLE SEE_MASK_HASTITLE
#define CMIC_MASK_ASYNCOK SEE_MASK_ASYNCOK
#define CMIC_MASK_PTINVOKE 0x20000000
/*NOTE: When SEE_MASK_HMONITOR is set, hIcon is treated as hMonitor */
typedef struct tagCMINVOKECOMMANDINFO
{ DWORD cbSize; /* sizeof(CMINVOKECOMMANDINFO) */
DWORD fMask; /* any combination of CMIC_MASK_* */
HWND hwnd; /* might be NULL (indicating no owner window) */
LPCSTR lpVerb; /* either a string or MAKEINTRESOURCE(idOffset) */
LPCSTR lpParameters; /* might be NULL (indicating no parameter) */
LPCSTR lpDirectory; /* might be NULL (indicating no specific directory) */
INT nShow; /* one of SW_ values for ShowWindow() API */
DWORD dwHotKey;
HANDLE hIcon;
} CMINVOKECOMMANDINFO, *LPCMINVOKECOMMANDINFO;
typedef struct tagCMInvokeCommandInfoEx
{ DWORD cbSize; /* must be sizeof(CMINVOKECOMMANDINFOEX) */
DWORD fMask; /* any combination of CMIC_MASK_* */
HWND hwnd; /* might be NULL (indicating no owner window) */
LPCSTR lpVerb; /* either a string or MAKEINTRESOURCE(idOffset) */
LPCSTR lpParameters; /* might be NULL (indicating no parameter) */
LPCSTR lpDirectory; /* might be NULL (indicating no specific directory) */
INT nShow; /* one of SW_ values for ShowWindow() API */
DWORD dwHotKey;
HANDLE hIcon;
LPCSTR lpTitle; /* For CreateProcess-StartupInfo.lpTitle */
LPCWSTR lpVerbW; /* Unicode verb (for those who can use it) */
LPCWSTR lpParametersW; /* Unicode parameters (for those who can use it) */
LPCWSTR lpDirectoryW; /* Unicode directory (for those who can use it) */
LPCWSTR lpTitleW; /* Unicode title (for those who can use it) */
POINT ptInvoke; /* Point where it's invoked */
} CMINVOKECOMMANDINFOEX, *LPCMINVOKECOMMANDINFOEX;
#define INTERFACE IContextMenu
#define IContextMenu_METHODS \
IUnknown_METHODS \
STDMETHOD(QueryContextMenu)(THIS_ HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) PURE; \
STDMETHOD(InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO lpici) PURE; \
STDMETHOD(GetCommandString)(THIS_ UINT idCmd, UINT uType, UINT * pwReserved, LPSTR pszName, UINT cchMax) PURE; \
STDMETHOD(HandleMenuMsg)(THIS_ UINT uMsg, WPARAM wParam, LPARAM lParam) PURE; \
void * guard; /*possibly another nasty entry from ContextMenu3 ?*/
ICOM_DEFINE(IContextMenu,IUnknown)
#undef INTERFACE
#ifdef COBJMACROS
#define IContextMenu_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IContextMenu_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IContextMenu_Release(p) (p)->lpVtbl->Release(p)
#define IContextMenu_QueryContextMenu(p,a,b,c,d,e) (p)->lpVtbl->QueryContextMenu(p,a,b,c,d,e)
#define IContextMenu_InvokeCommand(p,a) (p)->lpVtbl->InvokeCommand(p,a)
#define IContextMenu_GetCommandString(p,a,b,c,d,e) (p)->lpVtbl->GetCommandString(p,a,b,c,d,e)
#define IContextMenu_HandleMenuMsg(p,a,b,c) (p)->lpVtbl->HandleMenuMsg(p,a,b,c)
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif /* defined(__cplusplus) */
#endif /* __WINE_WINE_OBJ_CONTEXTMENU_H */
/*
* IDockingWindowFrame
*
* Copyright (C) 1999 Juergen Schmied
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __WINE_WINE_OBJ_DOCKINGWINDOWFRAME_H
#define __WINE_WINE_OBJ_DOCKINGWINDOWFRAME_H
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
typedef struct IDockingWindowFrame IDockingWindowFrame, *LPDOCKINGWINDOWFRAME;
DEFINE_GUID (IID_IDockingWindowFrame, 0x47D2657AL, 0x7B27, 0x11D0, 0x8C, 0xA9, 0x00, 0xA0, 0xC9, 0x2D, 0xBF, 0xE8);
#define DWFRF_NORMAL 0x0000 /* femove toolbar flags*/
#define DWFRF_DELETECONFIGDATA 0x0001
#define DWFAF_HIDDEN 0x0001 /* add tolbar*/
#define INTERFACE IDockingWindowFrame
#define IDockingWindowFrame_METHODS \
IOleWindow_METHODS \
STDMETHOD(AddToolbar)(THIS_ IUnknown * punkSrc, LPCWSTR pwszItem, DWORD dwAddFlags) PURE; \
STDMETHOD(RemoveToolbar)(THIS_ IUnknown * punkSrc, DWORD dwRemoveFlags) PURE; \
STDMETHOD(FindToolbar)(THIS_ LPCWSTR pwszItem, REFIID riid, LPVOID * ppvObj) PURE;
ICOM_DEFINE(IDockingWindowFrame,IOleWindow)
#undef INTERFACE
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IDockingWindowFrame_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IDockingWindowFrame_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IDockingWindowFrame_Release(p) (p)->lpVtbl->Release(p)
/*** IDockingWindowFrame methods ***/
#define IDockingWindowFrame_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
#define IDockingWindowFrame_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
#define IDockingWindowFrame_AddToolbar(p,a,b,c) (p)->lpVtbl->AddToolbar(p,a,b,c)
#define IDockingWindowFrame_RemoveToolbar(p,a,b) (p)->lpVtbl->RemoveToolbar(p,a,b)
#define IDockingWindowFrame_FindToolbar(p,a,b,c) (p)->lpVtbl->FindToolbar(p,a,b,c)
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif /* defined(__cplusplus) */
#endif /* __WINE_WINE_OBJ_DOCKINGWINDOWFRAME_H */
/*
* Defines the COM interfaces related to SHELL DragDropHelper
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __WINE_WINE_OBJ_DRAGDROPHELPER_H
#define __WINE_WINE_OBJ_DRAGDROPHELPER_H
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
/*****************************************************************************
* Predeclare the interfaces
*/
DEFINE_GUID(CLSID_DragDropHelper, 0x4657278a, 0x411b, 0x11d2, 0x83, 0x9a, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0xd0);
DEFINE_GUID(IID_IDropTargetHelper, 0x4657278b, 0x411b, 0x11d2, 0x83, 0x9a, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0xd0);
typedef struct IDropTargetHelper IDropTargetHelper,*LPDROPTARGETHELPER;
DEFINE_GUID(IID_IDragSourceHelper, 0xde5bf786, 0x477a, 0x11d2, 0x83, 0x9d, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0xd0);
typedef struct IDragSourceHelper IDragSourceHelper,*LPDRAGSOURCEHELPER;
/*****************************************************************************
* IDragSourceHelper interface
*/
typedef struct {
SIZE sizeDragImage;
POINT ptOffset;
HBITMAP hbmpDragImage;
COLORREF crColorKey;
} SHDRAGIMAGE, *LPSHDRAGIMAGE;
#define INTERFACE IDragSourceHelper
#define IDragSourceHelper_METHODS \
IUnknown_METHODS \
STDMETHOD(InitializeFromBitmap)(THIS_ LPSHDRAGIMAGE pshdi, IDataObject * pDataObject) PURE; \
STDMETHOD(InitializeFromWindow)(THIS_ HWND hwnd, POINT * ppt, IDataObject * pDataObject) PURE;
ICOM_DEFINE(IDragSourceHelper,IUnknown)
#undef INTERFACE
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IDragSourceHelper_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IDragSourceHelper_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IDragSourceHelper_Release(p) (p)->lpVtbl->Release(p)
/*** IDropSource methods ***/
#define IDragSourceHelper_InitializeFromBitmap(p,a,b) (p)->lpVtbl->InitializeFromBitmap(p,a,b)
#define IDragSourceHelper_InitializeFromWindow(p,a,b,c) (p)->lpVtbl->InitializeFromWindow(p,a,b,c)
#endif
/*****************************************************************************
* IDropTargetHelper interface
*/
#define INTERFACE IDropTargetHelper
#define IDropTargetHelper_METHODS \
IUnknown_METHODS \
STDMETHOD(DragEnter)(THIS_ HWND hwndTarget, IDataObject * pDataObject, POINT * ppt, DWORD dwEffect) PURE; \
STDMETHOD(DragLeave)(THIS) PURE; \
STDMETHOD(DragOver)(THIS_ POINT * ppt, DWORD dwEffect) PURE; \
STDMETHOD(Drop)(THIS_ IDataObject * pDataObject, POINT * ppt,DWORD dwEffect) PURE; \
STDMETHOD(Show)(THIS_ BOOL fShow) PURE;
ICOM_DEFINE(IDropTargetHelper,IUnknown)
#undef INTERFACE
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IDropTargetHelper_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IDropTargetHelper_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IDropTargetHelper_Release(p) (p)->lpVtbl->Release(p)
/*** IDropTargetHelper methods ***/
#define IDropTargetHelper_DragEnter(p,a,b,c,d) (p)->lpVtbl->DragEnter(p,a,b,c,d)
#define IDropTargetHelper_DragLeave(p) (p)->lpVtbl->DragLeave(p)
#define IDropTargetHelper_DragOver(p,a,b) (p)->lpVtbl->DragOver(p,a,b)
#define IDropTargetHelper_Drop(p,a,b,c) (p)->lpVtbl->Drop(p,a,b,c)
#define IDropTargetHelper_Show(p,a) (p)->lpVtbl->Show(p,a,b,c,d)
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif /* defined(__cplusplus) */
#endif /* __WINE_WINE_OBJ_DRAGDROPHELPER_H */
/*
* IExtractIconA, IExtractIconW
*
* Copyright (C) 1999 Juergen Schmied
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __WINE_WINE_OBJ_EXTRACTICON_H
#define __WINE_WINE_OBJ_EXTRACTICON_H
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
#define IID_IExtractIcon WINELIB_NAME_AW(IID_IExtractIcon)
typedef struct IExtractIconA IExtractIconA,*LPEXTRACTICONA;
typedef struct IExtractIconW IExtractIconW,*LPEXTRACTICONW;
#define LPEXTRACTICON WINELIB_NAME_AW(LPEXTRACTICON)
#define IExtractIcon WINELIB_NAME_AW(IExtractIcon)
/* GetIconLocation() input flags*/
#define GIL_OPENICON 0x0001 /* allows containers to specify an "open" look */
#define GIL_FORSHELL 0x0002 /* icon is to be displayed in a ShellFolder */
#define GIL_ASYNC 0x0020 /* this is an async extract, return E_ASYNC */
/* GetIconLocation() return flags */
#define GIL_SIMULATEDOC 0x0001 /* simulate this document icon for this */
#define GIL_PERINSTANCE 0x0002 /* icons from this class are per instance (each file has its own) */
#define GIL_PERCLASS 0x0004 /* icons from this class per class (shared for all files of this type) */
#define GIL_NOTFILENAME 0x0008 /* location is not a filename, must call ::ExtractIcon */
#define GIL_DONTCACHE 0x0010 /* this icon should not be cached */
#define INTERFACE IExtractIconA
#define IExtractIconA_METHODS \
IUnknown_METHODS \
STDMETHOD(GetIconLocation)(THIS_ UINT uFlags, LPSTR szIconFile, UINT cchMax, INT * piIndex, UINT * pwFlags) PURE; \
STDMETHOD(Extract)(THIS_ LPCSTR pszFile, UINT nIconIndex, HICON * phiconLarge, HICON * phiconSmall, UINT nIconSize) PURE;
ICOM_DEFINE(IExtractIconA,IUnknown)
#undef INTERFACE
#ifdef COBJMACROS
#define IExtractIconA_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IExtractIconA_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IExtractIconA_Release(p) (p)->lpVtbl->Release(p)
#define IExtractIconA_GetIconLocation(p,a,b,c,d,e) (p)->lpVtbl->GetIconLocation(p,a,b,c,d,e)
#define IExtractIconA_Extract(p,a,b,c,d,e) (p)->lpVtbl->Extract(p,a,b,c,d,e)
#endif
#define INTERFACE IExtractIconW
#define IExtractIconW_METHODS \
IUnknown_METHODS \
STDMETHOD(GetIconLocation)(THIS_ UINT uFlags, LPWSTR szIconFile, UINT cchMax, INT * piIndex, UINT * pwFlags) PURE; \
STDMETHOD(Extract)(THIS_ LPCWSTR pszFile, UINT nIconIndex, HICON * phiconLarge, HICON * phiconSmall, UINT nIconSize) PURE;
ICOM_DEFINE(IExtractIconW,IUnknown)
#undef INTERFACE
#ifdef COBJMACROS
#define IExtractIconW_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IExtractIconW_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IExtractIconW_Release(p) (p)->lpVtbl->Release(p)
#define IExtractIconW_GetIconLocation(p,a,b,c,d,e) (p)->lpVtbl->GetIconLocation(p,a,b,c,d,e)
#define IExtractIconW_Extract(p,a,b,c,d,e) (p)->lpVtbl->Extract(p,a,b,c,d,e)
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif /* defined(__cplusplus) */
#endif /* __WINE_WINE_OBJ_EXTRACTICON_H */
/*
* Defines the COM interfaces and APIs related to IShellFolder
*
* Depends on 'obj_base.h'.
*
* Copyright (C) 1999 Juergen Schmied
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __WINE_WINE_OBJ_SHELLFOLDER_H
#define __WINE_WINE_OBJ_SHELLFOLDER_H
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
/*****************************************************************************
* Predeclare the interfaces
*/
DEFINE_GUID(IID_IPersistFolder3, 0xcef04fdf, 0xfe72, 0x11d2, 0x87, 0xa5, 0x0, 0xc0, 0x4f, 0x68, 0x37, 0xcf);
typedef struct IPersistFolder3 IPersistFolder3, *LPPERSISTFOLDER3;
/* GetDetailsEx */
#define PID_FINDDATA 0
#define PID_NETRESOURCE 1
#define PID_DESCRIPTIONID 2
/*****************************************************************************
* IPersistFolder3 interface
*/
typedef struct {
LPITEMIDLIST pidlTargetFolder;
WCHAR szTargetParsingName[MAX_PATH];
WCHAR szNetworkProvider[MAX_PATH];
DWORD dwAttributes;
int csidl;
} PERSIST_FOLDER_TARGET_INFO;
#define INTERFACE IPersistFolder3
#define IPersistFolder3_METHODS \
IPersistFolder2_METHODS \
STDMETHOD(InitializeEx)(THIS_ IBindCtx * pbc, LPCITEMIDLIST pidlRoot, const PERSIST_FOLDER_TARGET_INFO * ppfti) PURE;\
STDMETHOD(GetFolderTargetInfo)(THIS_ PERSIST_FOLDER_TARGET_INFO * ppfti) PURE;
ICOM_DEFINE(IPersistFolder3, IPersistFolder2)
#undef INTERFACE
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IPersistFolder3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IPersistFolder3_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IPersistFolder3_Release(p) (p)->lpVtbl->Release(p)
/*** IPersist methods ***/
#define IPersistFolder3_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
/*** IPersistFolder methods ***/
#define IPersistFolder3_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
/*** IPersistFolder2 methods ***/
#define IPersistFolder3_GetCurFolder(p,a) (p)->lpVtbl->GetCurFolder(p,a)
/*** IPersistFolder3 methods ***/
#define IPersistFolder3_InitializeEx(p,a,b,c) (p)->lpVtbl->InitializeEx(p,a,b,c)
#define IPersistFolder3_GetFolderTargetInfo(p,a) (p)->lpVtbl->InitializeEx(p,a)
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif /* defined(__cplusplus) */
#endif /* __WINE_WINE_OBJ_SHELLFOLDER_H */
...@@ -76,6 +76,8 @@ typedef void *HTASK; ...@@ -76,6 +76,8 @@ typedef void *HTASK;
typedef void *HKEY; typedef void *HKEY;
typedef void *HICON;
typedef LONG_PTR LRESULT; typedef LONG_PTR LRESULT;
typedef double DATE; typedef double DATE;
......
...@@ -75,6 +75,7 @@ DECLARE_HANDLE(HINSTANCE); ...@@ -75,6 +75,7 @@ DECLARE_HANDLE(HINSTANCE);
DECLARE_HANDLE(HRGN); DECLARE_HANDLE(HRGN);
DECLARE_HANDLE(HTASK); DECLARE_HANDLE(HTASK);
DECLARE_HANDLE(HKEY); DECLARE_HANDLE(HKEY);
DECLARE_HANDLE(HICON);
typedef LONG_PTR LRESULT; typedef LONG_PTR LRESULT;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment