📄 shobjidl.h
字号:
SHCONTF_SHAREABLE = 0x0400, // hint that client is looking sharable resources (remote shares)
SHCONTF_STORAGE = 0x0800, // include all items with accessible storage and their ancestors
};
typedef DWORD SHCONTF;
#define SHCIDS_ALLFIELDS 0x80000000L
#define SHCIDS_CANONICALONLY 0x10000000L
#define SHCIDS_BITMASK 0xFFFF0000L
#define SHCIDS_COLUMNMASK 0x0000FFFFL
#define SFGAO_CANCOPY DROPEFFECT_COPY // Objects can be copied (0x1)
#define SFGAO_CANMOVE DROPEFFECT_MOVE // Objects can be moved (0x2)
#define SFGAO_CANLINK DROPEFFECT_LINK // Objects can be linked (0x4)
#define SFGAO_STORAGE 0x00000008L // supports BindToObject(IID_IStorage)
#define SFGAO_CANRENAME 0x00000010L // Objects can be renamed
#define SFGAO_CANDELETE 0x00000020L // Objects can be deleted
#define SFGAO_HASPROPSHEET 0x00000040L // Objects have property sheets
#define SFGAO_DROPTARGET 0x00000100L // Objects are drop target
#define SFGAO_CAPABILITYMASK 0x00000177L
#define SFGAO_ENCRYPTED 0x00002000L // object is encrypted (use alt color)
#define SFGAO_ISSLOW 0x00004000L // 'slow' object
#define SFGAO_GHOSTED 0x00008000L // ghosted icon
#define SFGAO_LINK 0x00010000L // Shortcut (link)
#define SFGAO_SHARE 0x00020000L // shared
#define SFGAO_READONLY 0x00040000L // read-only
#define SFGAO_HIDDEN 0x00080000L // hidden object
#define SFGAO_DISPLAYATTRMASK 0x000FC000L
#define SFGAO_FILESYSANCESTOR 0x10000000L // may contain children with SFGAO_FILESYSTEM
#define SFGAO_FOLDER 0x20000000L // support BindToObject(IID_IShellFolder)
#define SFGAO_FILESYSTEM 0x40000000L // is a win32 file system object (file/folder/root)
#define SFGAO_HASSUBFOLDER 0x80000000L // may contain children with SFGAO_FOLDER
#define SFGAO_CONTENTSMASK 0x80000000L
#define SFGAO_VALIDATE 0x01000000L // invalidate cached information
#define SFGAO_REMOVABLE 0x02000000L // is this removeable media?
#define SFGAO_COMPRESSED 0x04000000L // Object is compressed (use alt color)
#define SFGAO_BROWSABLE 0x08000000L // supports IShellFolder, but only implements CreateViewObject() (non-folder view)
#define SFGAO_NONENUMERATED 0x00100000L // is a non-enumerated object
#define SFGAO_NEWCONTENT 0x00200000L // should show bold in explorer tree
#define SFGAO_CANMONIKER 0x00400000L // defunct
#define SFGAO_HASSTORAGE 0x00400000L // defunct
#define SFGAO_STREAM 0x00400000L // supports BindToObject(IID_IStream)
#define SFGAO_STORAGEANCESTOR 0x00800000L // may contain children with SFGAO_STORAGE or SFGAO_STREAM
#define SFGAO_STORAGECAPMASK 0x70C50008L // for determining storage capabilities, ie for open/save semantics
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"
#define STR_PARSE_TRANSLATE_ALIASES L"Parse Translate Aliases"
#define STR_PARSE_SHELL_PROTOCOL_TO_FILE_OBJECTS L"Parse Shell Protocol To File Objects"
extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0195_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0195_v0_0_s_ifspec;
#ifndef __IShellFolder_INTERFACE_DEFINED__
#define __IShellFolder_INTERFACE_DEFINED__
/* interface IShellFolder */
/* [unique][object][uuid][helpstring] */
EXTERN_C const IID IID_IShellFolder;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("000214E6-0000-0000-C000-000000000046")
IShellFolder : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE ParseDisplayName(
/* [in] */ HWND hwnd,
/* [in] */ LPBC pbc,
/* [string][in] */ LPOLESTR pszDisplayName,
/* [out] */ ULONG *pchEaten,
/* [out] */ LPITEMIDLIST *ppidl,
/* [unique][out][in] */ ULONG *pdwAttributes) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumObjects(
/* [in] */ HWND hwnd,
/* [in] */ SHCONTF grfFlags,
/* [out] */ IEnumIDList **ppenumIDList) = 0;
virtual HRESULT STDMETHODCALLTYPE BindToObject(
/* [in] */ LPCITEMIDLIST pidl,
/* [in] */ LPBC pbc,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE BindToStorage(
/* [in] */ LPCITEMIDLIST pidl,
/* [in] */ LPBC pbc,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE CompareIDs(
/* [in] */ LPARAM lParam,
/* [in] */ LPCITEMIDLIST pidl1,
/* [in] */ LPCITEMIDLIST pidl2) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateViewObject(
/* [in] */ HWND hwndOwner,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAttributesOf(
/* [in] */ UINT cidl,
/* [size_is][in] */ LPCITEMIDLIST *apidl,
/* [out][in] */ SFGAOF *rgfInOut) = 0;
virtual HRESULT STDMETHODCALLTYPE GetUIObjectOf(
/* [in] */ HWND hwndOwner,
/* [in] */ UINT cidl,
/* [size_is][in] */ LPCITEMIDLIST *apidl,
/* [in] */ REFIID riid,
/* [unique][out][in] */ UINT *rgfReserved,
/* [iid_is][out] */ void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisplayNameOf(
/* [in] */ LPCITEMIDLIST pidl,
/* [in] */ SHGDNF uFlags,
/* [out] */ STRRET *pName) = 0;
virtual HRESULT STDMETHODCALLTYPE SetNameOf(
/* [in] */ HWND hwnd,
/* [in] */ LPCITEMIDLIST pidl,
/* [string][in] */ LPCOLESTR pszName,
/* [in] */ SHGDNF uFlags,
/* [out] */ LPITEMIDLIST *ppidlOut) = 0;
};
#else /* C style interface */
typedef struct IShellFolderVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IShellFolder * This,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IShellFolder * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IShellFolder * This);
HRESULT ( STDMETHODCALLTYPE *ParseDisplayName )(
IShellFolder * This,
/* [in] */ HWND hwnd,
/* [in] */ LPBC pbc,
/* [string][in] */ LPOLESTR pszDisplayName,
/* [out] */ ULONG *pchEaten,
/* [out] */ LPITEMIDLIST *ppidl,
/* [unique][out][in] */ ULONG *pdwAttributes);
HRESULT ( STDMETHODCALLTYPE *EnumObjects )(
IShellFolder * This,
/* [in] */ HWND hwnd,
/* [in] */ SHCONTF grfFlags,
/* [out] */ IEnumIDList **ppenumIDList);
HRESULT ( STDMETHODCALLTYPE *BindToObject )(
IShellFolder * This,
/* [in] */ LPCITEMIDLIST pidl,
/* [in] */ LPBC pbc,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppv);
HRESULT ( STDMETHODCALLTYPE *BindToStorage )(
IShellFolder * This,
/* [in] */ LPCITEMIDLIST pidl,
/* [in] */ LPBC pbc,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppv);
HRESULT ( STDMETHODCALLTYPE *CompareIDs )(
IShellFolder * This,
/* [in] */ LPARAM lParam,
/* [in] */ LPCITEMIDLIST pidl1,
/* [in] */ LPCITEMIDLIST pidl2);
HRESULT ( STDMETHODCALLTYPE *CreateViewObject )(
IShellFolder * This,
/* [in] */ HWND hwndOwner,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppv);
HRESULT ( STDMETHODCALLTYPE *GetAttributesOf )(
IShellFolder * This,
/* [in] */ UINT cidl,
/* [size_is][in] */ LPCITEMIDLIST *apidl,
/* [out][in] */ SFGAOF *rgfInOut);
HRESULT ( STDMETHODCALLTYPE *GetUIObjectOf )(
IShellFolder * This,
/* [in] */ HWND hwndOwner,
/* [in] */ UINT cidl,
/* [size_is][in] */ LPCITEMIDLIST *apidl,
/* [in] */ REFIID riid,
/* [unique][out][in] */ UINT *rgfReserved,
/* [iid_is][out] */ void **ppv);
HRESULT ( STDMETHODCALLTYPE *GetDisplayNameOf )(
IShellFolder * This,
/* [in] */ LPCITEMIDLIST pidl,
/* [in] */ SHGDNF uFlags,
/* [out] */ STRRET *pName);
HRESULT ( STDMETHODCALLTYPE *SetNameOf )(
IShellFolder * This,
/* [in] */ HWND hwnd,
/* [in] */ LPCITEMIDLIST pidl,
/* [string][in] */ LPCOLESTR pszName,
/* [in] */ SHGDNF uFlags,
/* [out] */ LPITEMIDLIST *ppidlOut);
END_INTERFACE
} IShellFolderVtbl;
interface IShellFolder
{
CONST_VTBL struct IShellFolderVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IShellFolder_QueryInterface(This,riid,ppvObject) \
(This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
#define IShellFolder_AddRef(This) \
(This)->lpVtbl -> AddRef(This)
#define IShellFolder_Release(This) \
(This)->lpVtbl -> Release(This)
#define IShellFolder_ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes) \
(This)->lpVtbl -> ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes)
#define IShellFolder_EnumObjects(This,hwnd,grfFlags,ppenumIDList) \
(This)->lpVtbl -> EnumObjects(This,hwnd,grfFlags,ppenumIDList)
#define IShellFolder_BindToObject(This,pidl,pbc,riid,ppv) \
(This)->lpVtbl -> BindToObject(This,pidl,pbc,riid,ppv)
#define IShellFolder_BindToStorage(This,pidl,pbc,riid,ppv) \
(This)->lpVtbl -> BindToStorage(This,pidl,pbc,riid,ppv)
#define IShellFolder_CompareIDs(This,lParam,pidl1,pidl2) \
(This)->lpVtbl -> CompareIDs(This,lParam,pidl1,pidl2)
#define IShellFolder_CreateViewObject(This,hwndOwner,riid,ppv) \
(This)->lpVtbl -> CreateViewObject(This,hwndOwner,riid,ppv)
#define IShellFolder_GetAttributesOf(This,cidl,apidl,rgfInOut) \
(This)->lpVtbl -> GetAttributesOf(This,cidl,apidl,rgfInOut)
#define IShellFolder_GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv) \
(This)->lpVtbl -> GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv)
#define IShellFolder_GetDisplayNameOf(This,pidl,uFlags,pName) \
(This)->lpVtbl -> GetDisplayNameOf(This,pidl,uFlags,pName)
#define IShellFolder_SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut) \
(This)->lpVtbl -> SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut)
#endif /* COBJMACROS */
#endif /* C style interface */
HRESULT STDMETHODCALLTYPE IShellFolder_ParseDisplayName_Proxy(
IShellFolder * This,
/* [in] */ HWND hwnd,
/* [in] */ LPBC pbc,
/* [string][in] */ LPOLESTR pszDisplayName,
/* [out] */ ULONG *pchEaten,
/* [out] */ LPITEMIDLIST *ppidl,
/* [unique][out][in] */ ULONG *pdwAttributes);
void __RPC_STUB IShellFolder_ParseDisplayName_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IShellFolder_EnumObjects_Proxy(
IShellFolder * This,
/* [in] */ HWND hwnd,
/* [in] */ SHCONTF grfFlags,
/* [out] */ IEnumIDList **ppenumIDList);
void __RPC_STUB IShellFolder_EnumObjects_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IShellFolder_BindToObject_Proxy(
IShellFolder * This,
/* [in] */ LPCITEMIDLIST pidl,
/* [in] */ LPBC pbc,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppv);
void __RPC_STUB IShellFolder_BindToObject_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IShellFolder_BindToStorage_Proxy(
IShellFolder * This,
/* [in] */ LPCITEMIDLIST pidl,
/* [in] */ LPBC pbc,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppv);
void __RPC_STUB IShellFolder_BindToStorage_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IShellFolder_CompareIDs_Proxy(
IShellFolder * This,
/* [in] */ LPARAM lParam,
/* [in] */ LPCITEMIDLIST pidl1,
/* [in] */ LPCITEMIDLIST pidl2);
void __RPC_STUB IShellFolder_CompareIDs_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IShellFolder_CreateViewObject_Proxy(
IShellFolder * This,
/* [in] */ HWND hwndOwner,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppv);
void __RPC_STUB IShellFolder_CreateViewObject_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IShellFolder_GetAttributesOf_Proxy(
IShellFolder * This,
/* [in] */ UINT cidl,
/* [size_is][in] */ LPCITEMIDLIST *apidl,
/* [out][in] */ SFGAOF *rgfInOut);
void __RPC_STUB IShellFolder_GetAttributesOf_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IShellFolder_GetUIObjectOf_Proxy(
IShellFolder * This,
/* [in] */ HWND hwndOwner,
/* [in] */ UINT cidl,
/* [size_is][in] */ LPCITEMIDLIST *apidl,
/* [in] */ REFIID riid,
/* [unique][out][in] */ UINT *rgfReserved,
/* [iid_is][out] */ void **ppv);
void __RPC_STUB IShellFolder_GetUIObjectOf_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IShellFolder_GetDisplayNameOf_Proxy(
IShellFolder * This,
/* [in] */ LPCITEMIDLIST pidl,
/* [in] */ SHGDNF uFlags,
/* [out] */ STRRET *pName);
void __RPC_STUB IShellFolder_GetDisplayNameOf_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IShellFolder_SetNameOf_Proxy(
IShellFolder * This,
/* [in] */ HWND hwnd,
/* [in] */ LPCITEMIDLIST pidl,
/* [string][in] */ LPCOLESTR pszName,
/* [in] */ SHGDNF uFlags,
/* [out] */ LPITEMIDLIST *ppidlOut);
void __RPC_STUB IShellFolder_SetNameOf_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __IShellFolder_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_shobjidl_0196 */
/* [local] */
typedef IShellFolder *LPSHELLFOLDER;
#if (_WIN32_IE >= 0x0500)
typedef struct tagEXTRASEARCH
{
GUID guidSearch;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -