shobjidl.idl: Added IShellLibrary declaration and IDL declarations for some types

git-svn-id: svn+ssh://svn.code.sf.net/p/mingw-w64/code/trunk@4825 4407c894-4637-0410-b4f5-ada5f102cad1
This commit is contained in:
Jacek Caban 2012-02-20 09:39:18 +00:00
parent efbbe3e7d1
commit a603757cd3
2 changed files with 743 additions and 140 deletions

View File

@ -17,8 +17,26 @@
/* Forward declarations */
#ifndef __IShellItem_FWD_DEFINED__
#define __IShellItem_FWD_DEFINED__
typedef interface IShellItem IShellItem;
#endif
#ifndef __IShellLibrary_FWD_DEFINED__
#define __IShellLibrary_FWD_DEFINED__
typedef interface IShellLibrary IShellLibrary;
#endif
#ifndef __ShellLibrary_FWD_DEFINED__
#define __ShellLibrary_FWD_DEFINED__
typedef struct ShellLibrary ShellLibrary;
#endif /* defined __ShellLibrary_FWD_DEFINED__ */
/* Headers for imported files */
#include <objidl.h>
#include <oaidl.h>
#include <shtypes.h>
#ifdef __cplusplus
extern "C" {
@ -330,11 +348,6 @@ typedef struct IRegTreeItem IRegTreeItem;
typedef struct IMenuPopup IMenuPopup;
#endif
#ifndef __IShellItem_FWD_DEFINED__
#define __IShellItem_FWD_DEFINED__
typedef struct IShellItem IShellItem;
#endif
#ifndef __IShellItem2_FWD_DEFINED__
#define __IShellItem2_FWD_DEFINED__
typedef interface IShellItem2 IShellItem2;
@ -669,10 +682,7 @@ typedef interface IFileSaveDialog IFileSaveDialog;
typedef interface IFileOpenDialog IFileOpenDialog;
#endif
#include "objidl.h"
#include "oleidl.h"
#include "oaidl.h"
#include "shtypes.h"
#include "servprov.h"
#include "comcat.h"
#include "propidl.h"
@ -905,8 +915,7 @@ typedef interface IFileOpenDialog IFileOpenDialog;
#define SFGAO_STREAM 0x00400000L
#define SFGAO_STORAGEANCESTOR 0x00800000L
#define SFGAO_STORAGECAPMASK 0x70C50008L
typedef ULONG SFGAOF;
typedef ULONG SFGAOF;
#define STR_SKIP_BINDING_CLSID L"Skip Binding CLSID"
#define STR_PARSE_PREFER_FOLDER_BROWSING L"Parse Prefer Folder Browsing"
#define STR_DONT_PARSE_RELATIVE L"Don't Parse Relative"
@ -5223,68 +5232,176 @@ interface IFileOpenDialog {
HRESULT WINAPI IMenuPopup_SetSubMenu_Proxy(IMenuPopup *This,IMenuPopup *pmp,WINBOOL fSet);
void __RPC_STUB IMenuPopup_SetSubMenu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif
/*****************************************************************************
* IShellItem interface
*/
#ifndef __IShellItem_INTERFACE_DEFINED__
#define __IShellItem_INTERFACE_DEFINED__
typedef enum __MIDL_IShellItem_0001 {
SIGDN_NORMALDISPLAY = 0,SIGDN_PARENTRELATIVEPARSING = 0x80018001,SIGDN_PARENTRELATIVEFORADDRESSBAR = 0x8001c001,
SIGDN_DESKTOPABSOLUTEPARSING = 0x80028000,SIGDN_PARENTRELATIVEEDITING = 0x80031001,SIGDN_DESKTOPABSOLUTEEDITING = 0x8004c000,
SIGDN_FILESYSPATH = 0x80058000,SIGDN_URL = 0x80068000
} SIGDN;
enum __MIDL_IShellItem_0002 {
SICHINT_DISPLAY = 0,SICHINT_ALLFIELDS = 0x80000000,SICHINT_CANONICAL = 0x10000000
};
typedef DWORD SICHINTF;
typedef enum _SIGDN {
SIGDN_NORMALDISPLAY = 0x0,
SIGDN_PARENTRELATIVEPARSING = (int)0x80018001,
SIGDN_DESKTOPABSOLUTEPARSING = (int)0x80028000,
SIGDN_PARENTRELATIVEEDITING = (int)0x80031001,
SIGDN_DESKTOPABSOLUTEEDITING = (int)0x8004c000,
SIGDN_FILESYSPATH = (int)0x80058000,
SIGDN_URL = (int)0x80068000,
SIGDN_PARENTRELATIVEFORADDRESSBAR = (int)0x8007c001,
SIGDN_PARENTRELATIVE = (int)0x80080001
} SIGDN;
enum _SICHINTF {
SICHINT_DISPLAY = 0x0,
SICHINT_ALLFIELDS = (int)0x80000000,
SICHINT_CANONICAL = 0x10000000,
SICHINT_TEST_FILESYSPATH_IF_NOT_EQUAL = 0x20000000
};
DEFINE_GUID(IID_IShellItem, 0x43826d1e,0xe718,0x42ee,0xbc,0x55,0xa1,0xe2,0x61,0xc3,0x7b,0xfe);
typedef DWORD SICHINTF;
DEFINE_GUID(IID_IShellItem, 0x43826d1e, 0xe718, 0x42ee, 0xbc,0x55, 0xa1,0xe2,0x61,0xc3,0x7b,0xfe);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IShellItem : public IUnknown {
public:
virtual HRESULT WINAPI BindToHandler(IBindCtx *pbc,REFGUID rbhid,REFIID riid,void **ppvOut) = 0;
virtual HRESULT WINAPI GetParent(IShellItem **ppsi) = 0;
virtual HRESULT WINAPI GetDisplayName(SIGDN sigdnName,LPOLESTR *ppszName) = 0;
virtual HRESULT WINAPI GetAttributes(SFGAOF sfgaoMask,SFGAOF *psfgaoAttribs) = 0;
virtual HRESULT WINAPI Compare(IShellItem *psi,SICHINTF hint,int *piOrder) = 0;
};
MIDL_INTERFACE("43826d1e-e718-42ee-bc55-a1e261c37bfe")
IShellItem : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE BindToHandler(
IBindCtx *pbc,
REFGUID bhid,
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE GetParent(
IShellItem **ppsi) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisplayName(
SIGDN sigdnName,
LPWSTR *ppszName) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAttributes(
SFGAOF sfgaoMask,
SFGAOF *psfgaoAttribs) = 0;
virtual HRESULT STDMETHODCALLTYPE Compare(
IShellItem *psi,
SICHINTF hint,
int *piOrder) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IShellItem, 0x43826d1e, 0xe718, 0x42ee, 0xbc,0x55, 0xa1,0xe2,0x61,0xc3,0x7b,0xfe)
#endif
#else
typedef struct IShellItemVtbl {
typedef struct IShellItemVtbl {
BEGIN_INTERFACE
HRESULT (WINAPI *QueryInterface)(IShellItem *This,REFIID riid,void **ppvObject);
ULONG (WINAPI *AddRef)(IShellItem *This);
ULONG (WINAPI *Release)(IShellItem *This);
HRESULT (WINAPI *BindToHandler)(IShellItem *This,IBindCtx *pbc,REFGUID rbhid,REFIID riid,void **ppvOut);
HRESULT (WINAPI *GetParent)(IShellItem *This,IShellItem **ppsi);
HRESULT (WINAPI *GetDisplayName)(IShellItem *This,SIGDN sigdnName,LPOLESTR *ppszName);
HRESULT (WINAPI *GetAttributes)(IShellItem *This,SFGAOF sfgaoMask,SFGAOF *psfgaoAttribs);
HRESULT (WINAPI *Compare)(IShellItem *This,IShellItem *psi,SICHINTF hint,int *piOrder);
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IShellItem* This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IShellItem* This);
ULONG (STDMETHODCALLTYPE *Release)(
IShellItem* This);
/*** IShellItem methods ***/
HRESULT (STDMETHODCALLTYPE *BindToHandler)(
IShellItem* This,
IBindCtx *pbc,
REFGUID bhid,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *GetParent)(
IShellItem* This,
IShellItem **ppsi);
HRESULT (STDMETHODCALLTYPE *GetDisplayName)(
IShellItem* This,
SIGDN sigdnName,
LPWSTR *ppszName);
HRESULT (STDMETHODCALLTYPE *GetAttributes)(
IShellItem* This,
SFGAOF sfgaoMask,
SFGAOF *psfgaoAttribs);
HRESULT (STDMETHODCALLTYPE *Compare)(
IShellItem* This,
IShellItem *psi,
SICHINTF hint,
int *piOrder);
END_INTERFACE
} IShellItemVtbl;
struct IShellItem {
CONST_VTBL struct IShellItemVtbl *lpVtbl;
};
} IShellItemVtbl;
interface IShellItem {
CONST_VTBL IShellItemVtbl* lpVtbl;
};
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IShellItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IShellItem_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IShellItem_Release(This) (This)->lpVtbl->Release(This)
#define IShellItem_BindToHandler(This,pbc,rbhid,riid,ppvOut) (This)->lpVtbl->BindToHandler(This,pbc,rbhid,riid,ppvOut)
/*** IShellItem methods ***/
#define IShellItem_BindToHandler(This,pbc,bhid,riid,ppv) (This)->lpVtbl->BindToHandler(This,pbc,bhid,riid,ppv)
#define IShellItem_GetParent(This,ppsi) (This)->lpVtbl->GetParent(This,ppsi)
#define IShellItem_GetDisplayName(This,sigdnName,ppszName) (This)->lpVtbl->GetDisplayName(This,sigdnName,ppszName)
#define IShellItem_GetAttributes(This,sfgaoMask,psfgaoAttribs) (This)->lpVtbl->GetAttributes(This,sfgaoMask,psfgaoAttribs)
#define IShellItem_Compare(This,psi,hint,piOrder) (This)->lpVtbl->Compare(This,psi,hint,piOrder)
#endif
#endif
HRESULT WINAPI IShellItem_BindToHandler_Proxy(IShellItem *This,IBindCtx *pbc,REFGUID rbhid,REFIID riid,void **ppvOut);
void __RPC_STUB IShellItem_BindToHandler_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT WINAPI IShellItem_GetParent_Proxy(IShellItem *This,IShellItem **ppsi);
void __RPC_STUB IShellItem_GetParent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT WINAPI IShellItem_GetDisplayName_Proxy(IShellItem *This,SIGDN sigdnName,LPOLESTR *ppszName);
void __RPC_STUB IShellItem_GetDisplayName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT WINAPI IShellItem_GetAttributes_Proxy(IShellItem *This,SFGAOF sfgaoMask,SFGAOF *psfgaoAttribs);
void __RPC_STUB IShellItem_GetAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT WINAPI IShellItem_Compare_Proxy(IShellItem *This,IShellItem *psi,SICHINTF hint,int *piOrder);
void __RPC_STUB IShellItem_Compare_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif
HRESULT STDMETHODCALLTYPE IShellItem_BindToHandler_Proxy(
IShellItem* This,
IBindCtx *pbc,
REFGUID bhid,
REFIID riid,
void **ppv);
void __RPC_STUB IShellItem_BindToHandler_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IShellItem_GetParent_Proxy(
IShellItem* This,
IShellItem **ppsi);
void __RPC_STUB IShellItem_GetParent_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IShellItem_GetDisplayName_Proxy(
IShellItem* This,
SIGDN sigdnName,
LPWSTR *ppszName);
void __RPC_STUB IShellItem_GetDisplayName_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IShellItem_GetAttributes_Proxy(
IShellItem* This,
SFGAOF sfgaoMask,
SFGAOF *psfgaoAttribs);
void __RPC_STUB IShellItem_GetAttributes_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IShellItem_Compare_Proxy(
IShellItem* This,
IShellItem *psi,
SICHINTF hint,
int *piOrder);
void __RPC_STUB IShellItem_Compare_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IShellItem_INTERFACE_DEFINED__ */
/*****************************************************************************
* IShellItem2 interface
@ -6459,11 +6576,417 @@ interface ICustomDestinationList {
#endif
#endif /* __ICustomDestinationList_INTERFACE_DEFINED__ */
/*****************************************************************************
* IShellLibrary interface
*/
#ifndef __IShellLibrary_INTERFACE_DEFINED__
#define __IShellLibrary_INTERFACE_DEFINED__
typedef enum LIBRARYFOLDERFILTER {
LFF_FORCEFILESYSTEM = 1,
LFF_STORAGEITEMS = 2,
LFF_ALLITEMS = 3
} LIBRARYFOLDERFILTER;
typedef enum LIBRARYOPTIONFLAGS {
LOF_DEFAULT = 0x0,
LOF_PINNEDTONAVPANE = 0x1,
LOF_MASK_ALL = 0x1
} LIBRARYOPTIONFLAGS;
DEFINE_ENUM_FLAG_OPERATORS(LIBRARYOPTIONFLAGS)
typedef enum DEFAULTSAVEFOLDERTYPE {
DSFT_DETECT = 1,
DSFT_PRIVATE = 2,
DSFT_PUBLIC = 3
} DEFAULTSAVEFOLDERTYPE;
typedef enum LIBRARYSAVEFLAGS {
LSF_FAILIFTHERE = 0x0,
LSF_OVERRIDEEXISTING = 0x1,
LSF_MAKEUNIQUENAME = 0x2
} LIBRARYSAVEFLAGS;
DEFINE_ENUM_FLAG_OPERATORS(LIBRARYSAVEFLAGS)
DEFINE_GUID(IID_IShellLibrary, 0x11a66efa, 0x382e, 0x451a, 0x92,0x34, 0x1e,0x0e,0x12,0xef,0x30,0x85);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("11a66efa-382e-451a-9234-1e0e12ef3085")
IShellLibrary : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE LoadLibraryFromItem(
IShellItem *psiLibrary,
DWORD grfMode) = 0;
virtual HRESULT STDMETHODCALLTYPE LoadLibraryFromKnownFolder(
REFKNOWNFOLDERID kfidLibrary,
DWORD grfMode) = 0;
virtual HRESULT STDMETHODCALLTYPE AddFolder(
IShellItem *psiLocation) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveFolder(
IShellItem *psiLocation) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFolders(
LIBRARYFOLDERFILTER lff,
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE ResolveFolder(
IShellItem *psiFolderToResolve,
DWORD dwTimeout,
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDefaultSaveFolder(
DEFAULTSAVEFOLDERTYPE dsft,
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDefaultSaveFolder(
DEFAULTSAVEFOLDERTYPE dsft,
IShellItem *psi) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOptions(
LIBRARYOPTIONFLAGS *plofOptions) = 0;
virtual HRESULT STDMETHODCALLTYPE SetOptions(
LIBRARYOPTIONFLAGS lofMask,
LIBRARYOPTIONFLAGS lofOptions) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFolderType(
FOLDERTYPEID *pftid) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFolderType(
REFFOLDERTYPEID ftid) = 0;
virtual HRESULT STDMETHODCALLTYPE GetIcon(
LPWSTR *ppszIcon) = 0;
virtual HRESULT STDMETHODCALLTYPE SetIcon(
LPCWSTR pszIcon) = 0;
virtual HRESULT STDMETHODCALLTYPE Commit(
) = 0;
virtual HRESULT STDMETHODCALLTYPE Save(
IShellItem *psiFolderToSaveIn,
LPCWSTR pszLibraryName,
LIBRARYSAVEFLAGS lsf,
IShellItem **ppsiSavedTo) = 0;
virtual HRESULT STDMETHODCALLTYPE SaveInKnownFolder(
REFKNOWNFOLDERID kfidToSaveIn,
LPCWSTR pszLibraryName,
LIBRARYSAVEFLAGS lsf,
IShellItem **ppsiSavedTo) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IShellLibrary, 0x11a66efa, 0x382e, 0x451a, 0x92,0x34, 0x1e,0x0e,0x12,0xef,0x30,0x85)
#endif
#else
typedef struct IShellLibraryVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IShellLibrary* This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IShellLibrary* This);
ULONG (STDMETHODCALLTYPE *Release)(
IShellLibrary* This);
/*** IShellLibrary methods ***/
HRESULT (STDMETHODCALLTYPE *LoadLibraryFromItem)(
IShellLibrary* This,
IShellItem *psiLibrary,
DWORD grfMode);
HRESULT (STDMETHODCALLTYPE *LoadLibraryFromKnownFolder)(
IShellLibrary* This,
REFKNOWNFOLDERID kfidLibrary,
DWORD grfMode);
HRESULT (STDMETHODCALLTYPE *AddFolder)(
IShellLibrary* This,
IShellItem *psiLocation);
HRESULT (STDMETHODCALLTYPE *RemoveFolder)(
IShellLibrary* This,
IShellItem *psiLocation);
HRESULT (STDMETHODCALLTYPE *GetFolders)(
IShellLibrary* This,
LIBRARYFOLDERFILTER lff,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *ResolveFolder)(
IShellLibrary* This,
IShellItem *psiFolderToResolve,
DWORD dwTimeout,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *GetDefaultSaveFolder)(
IShellLibrary* This,
DEFAULTSAVEFOLDERTYPE dsft,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *SetDefaultSaveFolder)(
IShellLibrary* This,
DEFAULTSAVEFOLDERTYPE dsft,
IShellItem *psi);
HRESULT (STDMETHODCALLTYPE *GetOptions)(
IShellLibrary* This,
LIBRARYOPTIONFLAGS *plofOptions);
HRESULT (STDMETHODCALLTYPE *SetOptions)(
IShellLibrary* This,
LIBRARYOPTIONFLAGS lofMask,
LIBRARYOPTIONFLAGS lofOptions);
HRESULT (STDMETHODCALLTYPE *GetFolderType)(
IShellLibrary* This,
FOLDERTYPEID *pftid);
HRESULT (STDMETHODCALLTYPE *SetFolderType)(
IShellLibrary* This,
REFFOLDERTYPEID ftid);
HRESULT (STDMETHODCALLTYPE *GetIcon)(
IShellLibrary* This,
LPWSTR *ppszIcon);
HRESULT (STDMETHODCALLTYPE *SetIcon)(
IShellLibrary* This,
LPCWSTR pszIcon);
HRESULT (STDMETHODCALLTYPE *Commit)(
IShellLibrary* This);
HRESULT (STDMETHODCALLTYPE *Save)(
IShellLibrary* This,
IShellItem *psiFolderToSaveIn,
LPCWSTR pszLibraryName,
LIBRARYSAVEFLAGS lsf,
IShellItem **ppsiSavedTo);
HRESULT (STDMETHODCALLTYPE *SaveInKnownFolder)(
IShellLibrary* This,
REFKNOWNFOLDERID kfidToSaveIn,
LPCWSTR pszLibraryName,
LIBRARYSAVEFLAGS lsf,
IShellItem **ppsiSavedTo);
END_INTERFACE
} IShellLibraryVtbl;
interface IShellLibrary {
CONST_VTBL IShellLibraryVtbl* lpVtbl;
};
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IShellLibrary_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IShellLibrary_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IShellLibrary_Release(This) (This)->lpVtbl->Release(This)
/*** IShellLibrary methods ***/
#define IShellLibrary_LoadLibraryFromItem(This,psiLibrary,grfMode) (This)->lpVtbl->LoadLibraryFromItem(This,psiLibrary,grfMode)
#define IShellLibrary_LoadLibraryFromKnownFolder(This,kfidLibrary,grfMode) (This)->lpVtbl->LoadLibraryFromKnownFolder(This,kfidLibrary,grfMode)
#define IShellLibrary_AddFolder(This,psiLocation) (This)->lpVtbl->AddFolder(This,psiLocation)
#define IShellLibrary_RemoveFolder(This,psiLocation) (This)->lpVtbl->RemoveFolder(This,psiLocation)
#define IShellLibrary_GetFolders(This,lff,riid,ppv) (This)->lpVtbl->GetFolders(This,lff,riid,ppv)
#define IShellLibrary_ResolveFolder(This,psiFolderToResolve,dwTimeout,riid,ppv) (This)->lpVtbl->ResolveFolder(This,psiFolderToResolve,dwTimeout,riid,ppv)
#define IShellLibrary_GetDefaultSaveFolder(This,dsft,riid,ppv) (This)->lpVtbl->GetDefaultSaveFolder(This,dsft,riid,ppv)
#define IShellLibrary_SetDefaultSaveFolder(This,dsft,psi) (This)->lpVtbl->SetDefaultSaveFolder(This,dsft,psi)
#define IShellLibrary_GetOptions(This,plofOptions) (This)->lpVtbl->GetOptions(This,plofOptions)
#define IShellLibrary_SetOptions(This,lofMask,lofOptions) (This)->lpVtbl->SetOptions(This,lofMask,lofOptions)
#define IShellLibrary_GetFolderType(This,pftid) (This)->lpVtbl->GetFolderType(This,pftid)
#define IShellLibrary_SetFolderType(This,ftid) (This)->lpVtbl->SetFolderType(This,ftid)
#define IShellLibrary_GetIcon(This,ppszIcon) (This)->lpVtbl->GetIcon(This,ppszIcon)
#define IShellLibrary_SetIcon(This,pszIcon) (This)->lpVtbl->SetIcon(This,pszIcon)
#define IShellLibrary_Commit(This) (This)->lpVtbl->Commit(This)
#define IShellLibrary_Save(This,psiFolderToSaveIn,pszLibraryName,lsf,ppsiSavedTo) (This)->lpVtbl->Save(This,psiFolderToSaveIn,pszLibraryName,lsf,ppsiSavedTo)
#define IShellLibrary_SaveInKnownFolder(This,kfidToSaveIn,pszLibraryName,lsf,ppsiSavedTo) (This)->lpVtbl->SaveInKnownFolder(This,kfidToSaveIn,pszLibraryName,lsf,ppsiSavedTo)
#endif
#endif
HRESULT STDMETHODCALLTYPE IShellLibrary_LoadLibraryFromItem_Proxy(
IShellLibrary* This,
IShellItem *psiLibrary,
DWORD grfMode);
void __RPC_STUB IShellLibrary_LoadLibraryFromItem_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IShellLibrary_LoadLibraryFromKnownFolder_Proxy(
IShellLibrary* This,
REFKNOWNFOLDERID kfidLibrary,
DWORD grfMode);
void __RPC_STUB IShellLibrary_LoadLibraryFromKnownFolder_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IShellLibrary_AddFolder_Proxy(
IShellLibrary* This,
IShellItem *psiLocation);
void __RPC_STUB IShellLibrary_AddFolder_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IShellLibrary_RemoveFolder_Proxy(
IShellLibrary* This,
IShellItem *psiLocation);
void __RPC_STUB IShellLibrary_RemoveFolder_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IShellLibrary_GetFolders_Proxy(
IShellLibrary* This,
LIBRARYFOLDERFILTER lff,
REFIID riid,
void **ppv);
void __RPC_STUB IShellLibrary_GetFolders_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IShellLibrary_ResolveFolder_Proxy(
IShellLibrary* This,
IShellItem *psiFolderToResolve,
DWORD dwTimeout,
REFIID riid,
void **ppv);
void __RPC_STUB IShellLibrary_ResolveFolder_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IShellLibrary_GetDefaultSaveFolder_Proxy(
IShellLibrary* This,
DEFAULTSAVEFOLDERTYPE dsft,
REFIID riid,
void **ppv);
void __RPC_STUB IShellLibrary_GetDefaultSaveFolder_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IShellLibrary_SetDefaultSaveFolder_Proxy(
IShellLibrary* This,
DEFAULTSAVEFOLDERTYPE dsft,
IShellItem *psi);
void __RPC_STUB IShellLibrary_SetDefaultSaveFolder_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IShellLibrary_GetOptions_Proxy(
IShellLibrary* This,
LIBRARYOPTIONFLAGS *plofOptions);
void __RPC_STUB IShellLibrary_GetOptions_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IShellLibrary_SetOptions_Proxy(
IShellLibrary* This,
LIBRARYOPTIONFLAGS lofMask,
LIBRARYOPTIONFLAGS lofOptions);
void __RPC_STUB IShellLibrary_SetOptions_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IShellLibrary_GetFolderType_Proxy(
IShellLibrary* This,
FOLDERTYPEID *pftid);
void __RPC_STUB IShellLibrary_GetFolderType_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IShellLibrary_SetFolderType_Proxy(
IShellLibrary* This,
REFFOLDERTYPEID ftid);
void __RPC_STUB IShellLibrary_SetFolderType_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IShellLibrary_GetIcon_Proxy(
IShellLibrary* This,
LPWSTR *ppszIcon);
void __RPC_STUB IShellLibrary_GetIcon_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IShellLibrary_SetIcon_Proxy(
IShellLibrary* This,
LPCWSTR pszIcon);
void __RPC_STUB IShellLibrary_SetIcon_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IShellLibrary_Commit_Proxy(
IShellLibrary* This);
void __RPC_STUB IShellLibrary_Commit_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IShellLibrary_Save_Proxy(
IShellLibrary* This,
IShellItem *psiFolderToSaveIn,
LPCWSTR pszLibraryName,
LIBRARYSAVEFLAGS lsf,
IShellItem **ppsiSavedTo);
void __RPC_STUB IShellLibrary_Save_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IShellLibrary_SaveInKnownFolder_Proxy(
IShellLibrary* This,
REFKNOWNFOLDERID kfidToSaveIn,
LPCWSTR pszLibraryName,
LIBRARYSAVEFLAGS lsf,
IShellItem **ppsiSavedTo);
void __RPC_STUB IShellLibrary_SaveInKnownFolder_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IShellLibrary_INTERFACE_DEFINED__ */
DEFINE_GUID(LIBID_ShellObjects, 0x50a7e9b1, 0x70ef, 0x11d1, 0xb7,0x5a, 0x00,0xa0,0xc9,0x05,0x64,0xfe);
/*****************************************************************************
* ShellLibrary coclass
*/
DEFINE_GUID(CLSID_ShellLibrary, 0xd9b3211d, 0xe57f, 0x4426, 0xaa,0xef, 0x30,0xa8,0x06,0xad,0xd3,0x97);
#ifdef __cplusplus
class DECLSPEC_UUID("d9b3211d-e57f-4426-aaef-30a806add397") ShellLibrary;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ShellLibrary, 0xd9b3211d, 0xe57f, 0x4426, 0xaa,0xef, 0x30,0xa8,0x06,0xad,0xd3,0x97)
#endif
#endif
#ifndef __ShellObjects_LIBRARY_DEFINED__
#define __ShellObjects_LIBRARY_DEFINED__
#define SID_PublishingWizard CLSID_PublishingWizard
EXTERN_C const IID LIBID_ShellObjects;
EXTERN_C const CLSID CLSID_QueryCancelAutoPlay;
#ifdef __cplusplus
class QueryCancelAutoPlay;
@ -6620,9 +7143,6 @@ DEFINE_GUID(CLSID_FileOpenDialog, 0xdc1c5a9c, 0xe88a, 0x4dde, 0xa5,0xa1, 0x60,0x
*/
DEFINE_GUID(CLSID_FileSaveDialog, 0xc0b4e2f3, 0xba21, 0x4773, 0x8d,0xba, 0x33,0x5e,0xc9,0x46,0xeb,0x8b);
#endif
extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0263_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0263_v0_0_s_ifspec;

View File

@ -4,6 +4,10 @@
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
import "objidl.idl";
import "oaidl.idl";
import "shtypes.idl";
cpp_quote("#include <_mingw_unicode.h>")
cpp_quote("#ifndef __IPersistFolder_FWD_DEFINED__")
@ -311,11 +315,6 @@ cpp_quote("#define __IMenuPopup_FWD_DEFINED__")
cpp_quote("typedef struct IMenuPopup IMenuPopup;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IShellItem_FWD_DEFINED__")
cpp_quote("#define __IShellItem_FWD_DEFINED__")
cpp_quote("typedef struct IShellItem IShellItem;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IShellItem2_FWD_DEFINED__")
cpp_quote("#define __IShellItem2_FWD_DEFINED__")
cpp_quote("typedef interface IShellItem2 IShellItem2;")
@ -650,10 +649,7 @@ cpp_quote("#define __IFileOpenDialog_FWD_DEFINED__")
cpp_quote("typedef interface IFileOpenDialog IFileOpenDialog;")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#include \"objidl.h\"")
cpp_quote("#include \"oleidl.h\"")
cpp_quote("#include \"oaidl.h\"")
cpp_quote("#include \"shtypes.h\"")
cpp_quote("#include \"servprov.h\"")
cpp_quote("#include \"comcat.h\"")
cpp_quote("#include \"propidl.h\"")
@ -886,8 +882,9 @@ cpp_quote("#define SFGAO_HASSTORAGE 0x00400000L")
cpp_quote("#define SFGAO_STREAM 0x00400000L")
cpp_quote("#define SFGAO_STORAGEANCESTOR 0x00800000L")
cpp_quote("#define SFGAO_STORAGECAPMASK 0x70C50008L")
cpp_quote(" typedef ULONG SFGAOF;")
cpp_quote("")
typedef ULONG SFGAOF;
cpp_quote("#define STR_SKIP_BINDING_CLSID L\"Skip Binding CLSID\"")
cpp_quote("#define STR_PARSE_PREFER_FOLDER_BROWSING L\"Parse Prefer Folder Browsing\"")
cpp_quote("#define STR_DONT_PARSE_RELATIVE L\"Don't Parse Relative\"")
@ -5204,69 +5201,57 @@ cpp_quote(" void __RPC_STUB IMenuPopup_OnSelect_Stub(IRpcStubBuffer *This,IRpcC
cpp_quote(" HRESULT WINAPI IMenuPopup_SetSubMenu_Proxy(IMenuPopup *This,IMenuPopup *pmp,WINBOOL fSet);")
cpp_quote(" void __RPC_STUB IMenuPopup_SetSubMenu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#ifndef __IShellItem_INTERFACE_DEFINED__")
cpp_quote("#define __IShellItem_INTERFACE_DEFINED__")
cpp_quote(" typedef enum __MIDL_IShellItem_0001 {")
cpp_quote(" SIGDN_NORMALDISPLAY = 0,SIGDN_PARENTRELATIVEPARSING = 0x80018001,SIGDN_PARENTRELATIVEFORADDRESSBAR = 0x8001c001,")
cpp_quote(" SIGDN_DESKTOPABSOLUTEPARSING = 0x80028000,SIGDN_PARENTRELATIVEEDITING = 0x80031001,SIGDN_DESKTOPABSOLUTEEDITING = 0x8004c000,")
cpp_quote(" SIGDN_FILESYSPATH = 0x80058000,SIGDN_URL = 0x80068000")
cpp_quote(" } SIGDN;")
cpp_quote("")
cpp_quote(" enum __MIDL_IShellItem_0002 {")
cpp_quote(" SICHINT_DISPLAY = 0,SICHINT_ALLFIELDS = 0x80000000,SICHINT_CANONICAL = 0x10000000")
cpp_quote(" };")
cpp_quote(" typedef DWORD SICHINTF;")
cpp_quote("")
cpp_quote("DEFINE_GUID(IID_IShellItem, 0x43826d1e,0xe718,0x42ee,0xbc,0x55,0xa1,0xe2,0x61,0xc3,0x7b,0xfe);")
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote(" struct IShellItem : public IUnknown {")
cpp_quote(" public:")
cpp_quote(" virtual HRESULT WINAPI BindToHandler(IBindCtx *pbc,REFGUID rbhid,REFIID riid,void **ppvOut) = 0;")
cpp_quote(" virtual HRESULT WINAPI GetParent(IShellItem **ppsi) = 0;")
cpp_quote(" virtual HRESULT WINAPI GetDisplayName(SIGDN sigdnName,LPOLESTR *ppszName) = 0;")
cpp_quote(" virtual HRESULT WINAPI GetAttributes(SFGAOF sfgaoMask,SFGAOF *psfgaoAttribs) = 0;")
cpp_quote(" virtual HRESULT WINAPI Compare(IShellItem *psi,SICHINTF hint,int *piOrder) = 0;")
cpp_quote(" };")
cpp_quote("#else")
cpp_quote(" typedef struct IShellItemVtbl {")
cpp_quote(" BEGIN_INTERFACE")
cpp_quote(" HRESULT (WINAPI *QueryInterface)(IShellItem *This,REFIID riid,void **ppvObject);")
cpp_quote(" ULONG (WINAPI *AddRef)(IShellItem *This);")
cpp_quote(" ULONG (WINAPI *Release)(IShellItem *This);")
cpp_quote(" HRESULT (WINAPI *BindToHandler)(IShellItem *This,IBindCtx *pbc,REFGUID rbhid,REFIID riid,void **ppvOut);")
cpp_quote(" HRESULT (WINAPI *GetParent)(IShellItem *This,IShellItem **ppsi);")
cpp_quote(" HRESULT (WINAPI *GetDisplayName)(IShellItem *This,SIGDN sigdnName,LPOLESTR *ppszName);")
cpp_quote(" HRESULT (WINAPI *GetAttributes)(IShellItem *This,SFGAOF sfgaoMask,SFGAOF *psfgaoAttribs);")
cpp_quote(" HRESULT (WINAPI *Compare)(IShellItem *This,IShellItem *psi,SICHINTF hint,int *piOrder);")
cpp_quote(" END_INTERFACE")
cpp_quote(" } IShellItemVtbl;")
cpp_quote(" struct IShellItem {")
cpp_quote(" CONST_VTBL struct IShellItemVtbl *lpVtbl;")
cpp_quote(" };")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IShellItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IShellItem_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IShellItem_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IShellItem_BindToHandler(This,pbc,rbhid,riid,ppvOut) (This)->lpVtbl->BindToHandler(This,pbc,rbhid,riid,ppvOut)")
cpp_quote("#define IShellItem_GetParent(This,ppsi) (This)->lpVtbl->GetParent(This,ppsi)")
cpp_quote("#define IShellItem_GetDisplayName(This,sigdnName,ppszName) (This)->lpVtbl->GetDisplayName(This,sigdnName,ppszName)")
cpp_quote("#define IShellItem_GetAttributes(This,sfgaoMask,psfgaoAttribs) (This)->lpVtbl->GetAttributes(This,sfgaoMask,psfgaoAttribs)")
cpp_quote("#define IShellItem_Compare(This,psi,hint,piOrder) (This)->lpVtbl->Compare(This,psi,hint,piOrder)")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote(" HRESULT WINAPI IShellItem_BindToHandler_Proxy(IShellItem *This,IBindCtx *pbc,REFGUID rbhid,REFIID riid,void **ppvOut);")
cpp_quote(" void __RPC_STUB IShellItem_BindToHandler_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote(" HRESULT WINAPI IShellItem_GetParent_Proxy(IShellItem *This,IShellItem **ppsi);")
cpp_quote(" void __RPC_STUB IShellItem_GetParent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote(" HRESULT WINAPI IShellItem_GetDisplayName_Proxy(IShellItem *This,SIGDN sigdnName,LPOLESTR *ppszName);")
cpp_quote(" void __RPC_STUB IShellItem_GetDisplayName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote(" HRESULT WINAPI IShellItem_GetAttributes_Proxy(IShellItem *This,SFGAOF sfgaoMask,SFGAOF *psfgaoAttribs);")
cpp_quote(" void __RPC_STUB IShellItem_GetAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote(" HRESULT WINAPI IShellItem_Compare_Proxy(IShellItem *This,IShellItem *psi,SICHINTF hint,int *piOrder);")
cpp_quote(" void __RPC_STUB IShellItem_Compare_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);")
cpp_quote("#endif")
cpp_quote("")
[
uuid(43826d1e-e718-42ee-bc55-a1e261c37bfe),
object,
pointer_default(unique)
]
interface IShellItem : IUnknown
{
typedef [v1_enum] enum _SIGDN {
SIGDN_NORMALDISPLAY = 0x00000000,
SIGDN_PARENTRELATIVEPARSING = (int)0x80018001,
SIGDN_DESKTOPABSOLUTEPARSING = (int)0x80028000,
SIGDN_PARENTRELATIVEEDITING = (int)0x80031001,
SIGDN_DESKTOPABSOLUTEEDITING = (int)0x8004c000,
SIGDN_FILESYSPATH = (int)0x80058000,
SIGDN_URL = (int)0x80068000,
SIGDN_PARENTRELATIVEFORADDRESSBAR = (int)0x8007c001,
SIGDN_PARENTRELATIVE = (int)0x80080001
} SIGDN;
[v1_enum] enum _SICHINTF {
SICHINT_DISPLAY = 0x00000000,
SICHINT_ALLFIELDS = (int)0x80000000,
SICHINT_CANONICAL = 0x10000000,
SICHINT_TEST_FILESYSPATH_IF_NOT_EQUAL = 0x20000000
};
typedef DWORD SICHINTF;
HRESULT BindToHandler(
[in, unique] IBindCtx *pbc,
[in] REFGUID bhid,
[in] REFIID riid,
[out, iid_is(riid)] void **ppv);
HRESULT GetParent([out] IShellItem **ppsi);
HRESULT GetDisplayName(
[in] SIGDN sigdnName,
[out, string] LPWSTR *ppszName);
HRESULT GetAttributes(
[in] SFGAOF sfgaoMask,
[out] SFGAOF *psfgaoAttribs);
HRESULT Compare(
[in] IShellItem *psi,
[in] SICHINTF hint,
[out] int *piOrder);
}
cpp_quote("/*****************************************************************************")
cpp_quote(" * IShellItem2 interface")
cpp_quote(" */")
@ -6440,11 +6425,109 @@ cpp_quote("#endif")
cpp_quote("")
cpp_quote("#endif")
cpp_quote("#endif /* __ICustomDestinationList_INTERFACE_DEFINED__ */")
cpp_quote("")
cpp_quote("#ifndef __ShellObjects_LIBRARY_DEFINED__")
cpp_quote("#define __ShellObjects_LIBRARY_DEFINED__")
[
uuid(11a66efa-382e-451a-9234-1e0e12ef3085),
object,
pointer_default(unique)
]
interface IShellLibrary : IUnknown
{
typedef [v1_enum] enum LIBRARYFOLDERFILTER {
LFF_FORCEFILESYSTEM = 1,
LFF_STORAGEITEMS = 2,
LFF_ALLITEMS = 3
} LIBRARYFOLDERFILTER;
typedef [v1_enum] enum LIBRARYOPTIONFLAGS {
LOF_DEFAULT = 0x00000000,
LOF_PINNEDTONAVPANE = 0x00000001,
LOF_MASK_ALL = 0x00000001
} LIBRARYOPTIONFLAGS;
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(LIBRARYOPTIONFLAGS)")
typedef [v1_enum] enum DEFAULTSAVEFOLDERTYPE {
DSFT_DETECT = 1,
DSFT_PRIVATE,
DSFT_PUBLIC
} DEFAULTSAVEFOLDERTYPE;
typedef [v1_enum] enum LIBRARYSAVEFLAGS {
LSF_FAILIFTHERE = 0x0000,
LSF_OVERRIDEEXISTING = 0x0001,
LSF_MAKEUNIQUENAME = 0x0002
} LIBRARYSAVEFLAGS;
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(LIBRARYSAVEFLAGS)")
HRESULT LoadLibraryFromItem(
[in] IShellItem *psiLibrary,
[in] DWORD grfMode);
HRESULT LoadLibraryFromKnownFolder(
[in] REFKNOWNFOLDERID kfidLibrary,
[in] DWORD grfMode);
HRESULT AddFolder([in] IShellItem *psiLocation);
HRESULT RemoveFolder([in] IShellItem *psiLocation);
HRESULT GetFolders(
[in] LIBRARYFOLDERFILTER lff,
[in] REFIID riid,
[out, iid_is(riid)] void **ppv);
HRESULT ResolveFolder(
[in] IShellItem *psiFolderToResolve,
[in] DWORD dwTimeout,
[in] REFIID riid,
[out, iid_is(riid)] void **ppv);
HRESULT GetDefaultSaveFolder(
[in] DEFAULTSAVEFOLDERTYPE dsft,
[in] REFIID riid,
[out, iid_is(riid)] void **ppv);
HRESULT SetDefaultSaveFolder(
[in] DEFAULTSAVEFOLDERTYPE dsft,
[in] IShellItem *psi);
HRESULT GetOptions([out] LIBRARYOPTIONFLAGS *plofOptions);
HRESULT SetOptions(
[in] LIBRARYOPTIONFLAGS lofMask,
[in] LIBRARYOPTIONFLAGS lofOptions);
HRESULT GetFolderType([out] FOLDERTYPEID *pftid);
HRESULT SetFolderType([in] REFFOLDERTYPEID ftid);
HRESULT GetIcon([out, string] LPWSTR *ppszIcon);
HRESULT SetIcon([in, string] LPCWSTR pszIcon);
HRESULT Commit();
HRESULT Save(
[in] IShellItem *psiFolderToSaveIn,
[in, string] LPCWSTR pszLibraryName,
[in] LIBRARYSAVEFLAGS lsf,
[out] IShellItem **ppsiSavedTo);
HRESULT SaveInKnownFolder(
[in] REFKNOWNFOLDERID kfidToSaveIn,
[in, string] LPCWSTR pszLibraryName,
[in] LIBRARYSAVEFLAGS lsf,
[out] IShellItem **ppsiSavedTo);
}
[
uuid(50a7e9b1-70ef-11d1-b75a-00a0c90564fe),
lcid(0x0000),
version(1.0)
]
library ShellObjects
{
[
uuid(d9b3211d-e57f-4426-aaef-30a806add397)
]
coclass ShellLibrary { interface IShellLibrary; }
cpp_quote("#define SID_PublishingWizard CLSID_PublishingWizard")
cpp_quote(" EXTERN_C const IID LIBID_ShellObjects;")
cpp_quote(" EXTERN_C const CLSID CLSID_QueryCancelAutoPlay;")
cpp_quote("#ifdef __cplusplus")
cpp_quote(" class QueryCancelAutoPlay;")
@ -6601,9 +6684,9 @@ cpp_quote(" * FileSaveDialog coclass")
cpp_quote(" */")
cpp_quote("")
cpp_quote("DEFINE_GUID(CLSID_FileSaveDialog, 0xc0b4e2f3, 0xba21, 0x4773, 0x8d,0xba, 0x33,0x5e,0xc9,0x46,0xeb,0x8b);")
cpp_quote("")
cpp_quote("#endif")
cpp_quote("")
}
cpp_quote(" extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0263_v0_0_c_ifspec;")
cpp_quote(" extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0263_v0_0_s_ifspec;")
cpp_quote("")