Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenshobjidl.idl
Go to the documentation of this file.
00001 /* 00002 * COM interfaces for shell objects 00003 * 00004 * Copyright (C) 1999 Juergen Schmied 00005 * Copyright (C) 2003 Alexandre Julliard 00006 * 00007 * This library is free software; you can redistribute it and/or 00008 * modify it under the terms of the GNU Lesser General Public 00009 * License as published by the Free Software Foundation; either 00010 * version 2.1 of the License, or (at your option) any later version. 00011 * 00012 * This library is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 * Lesser General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU Lesser General Public 00018 * License along with this library; if not, write to the Free Software 00019 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 00020 */ 00021 00022 import "objidl.idl"; 00023 import "oleidl.idl"; 00024 import "oaidl.idl"; 00025 import "docobj.idl"; 00026 import "shtypes.idl"; 00027 import "servprov.idl"; 00028 import "comcat.idl"; 00029 import "propidl.idl"; 00030 /* FIXME: import "prsht.idl";*/ 00031 import "msxml.idl"; 00032 import "wtypes.idl"; 00033 import "propsys.idl"; 00034 import "objectarray.idl"; 00035 /* FIXME: import "structuredquery.idl"; */ 00036 00037 cpp_quote("/* FIXME: #include <sherrors.h> */") 00038 00039 00040 /***************************************************************************** 00041 * IPersistFolder interface 00042 */ 00043 [ 00044 object, 00045 uuid(000214ea-0000-0000-c000-000000000046), 00046 pointer_default(unique) 00047 ] 00048 interface IPersistFolder : IPersist 00049 { 00050 typedef IPersistFolder *LPPERSISTFOLDER; 00051 00052 HRESULT Initialize( [in] LPCITEMIDLIST pidl ); 00053 } 00054 00055 00056 /***************************************************************************** 00057 * IPersistFolder2 interface 00058 */ 00059 [ 00060 object, 00061 uuid(1ac3d9f0-175c-11d1-95be-00609797ea4f), 00062 pointer_default(unique) 00063 ] 00064 interface IPersistFolder2 : IPersistFolder 00065 { 00066 typedef IPersistFolder2 *LPPERSISTFOLDER2; 00067 00068 HRESULT GetCurFolder( [out] LPITEMIDLIST *ppidl ); 00069 } 00070 00071 00072 /***************************************************************************** 00073 * IPersistIDList interface 00074 */ 00075 [ 00076 object, 00077 uuid(1079acfc-29bd-11d3-8e0d-00c04f6837d5), 00078 pointer_default(unique) 00079 ] 00080 interface IPersistIDList : IPersist 00081 { 00082 HRESULT SetIDList( [in] LPCITEMIDLIST pidl ); 00083 HRESULT GetIDList( [out] LPITEMIDLIST *ppidl ); 00084 } 00085 00086 00087 /***************************************************************************** 00088 * IEnumIDList interface 00089 */ 00090 [ 00091 object, 00092 uuid(000214f2-0000-0000-c000-000000000046), 00093 pointer_default(unique) 00094 ] 00095 interface IEnumIDList : IUnknown 00096 { 00097 typedef IEnumIDList *LPENUMIDLIST; 00098 00099 HRESULT Next( 00100 [in] ULONG celt, 00101 [out, size_is(celt), length_is(*pceltFetched)] LPITEMIDLIST *rgelt, 00102 [out] ULONG *pceltFetched); 00103 00104 HRESULT Skip( [in] ULONG celt ); 00105 HRESULT Reset(); 00106 HRESULT Clone( [out] IEnumIDList **ppenum ); 00107 } 00108 00109 /***************************************************************************** 00110 * IShellPropSheetExt interface 00111 */ 00112 cpp_quote("#if 0") 00113 typedef LPARAM LPFNSVADDPROPSHEETPAGE; 00114 cpp_quote("#else") 00115 cpp_quote("#include <prsht.h>") 00116 cpp_quote("typedef LPFNADDPROPSHEETPAGE LPFNSVADDPROPSHEETPAGE;") 00117 cpp_quote("#endif") 00118 00119 [ 00120 object, 00121 uuid(000214E9-0000-0000-C000-000000000046), 00122 pointer_default(unique), 00123 local 00124 ] 00125 interface IShellPropSheetExt : IUnknown 00126 { 00127 enum tagSHELLPROPSHEETEXTPAGEID { 00128 EXPPS_FILETYPES = 0x1 00129 }; 00130 00131 typedef UINT EXPPS; 00132 00133 HRESULT AddPages( 00134 [in] LPFNSVADDPROPSHEETPAGE pfnAddPage, 00135 [in] LPARAM lParam); 00136 HRESULT ReplacePage( 00137 [in] EXPPS uPageID, 00138 [in] LPFNSVADDPROPSHEETPAGE pfnReplaceWith, 00139 [in] LPARAM lParam); 00140 } 00141 typedef IShellPropSheetExt *LPSHELLPROPSHEETEXT; 00142 00143 /***************************************************************************** 00144 * IShellFolder interface 00145 */ 00146 [ 00147 object, 00148 uuid(000214e6-0000-0000-c000-000000000046), 00149 pointer_default(unique) 00150 ] 00151 interface IShellFolder : IUnknown 00152 { 00153 typedef IShellFolder * LPSHELLFOLDER; 00154 00155 typedef enum tagSHGDN 00156 { 00157 SHGDN_NORMAL = 0, 00158 SHGDN_INFOLDER = 1, 00159 SHGDN_FOREDITING = 0x1000, 00160 SHGDN_INCLUDE_NONFILESYS = 0x2000, 00161 SHGDN_FORADDRESSBAR = 0x4000, 00162 SHGDN_FORPARSING = 0x8000 00163 } SHGNO; 00164 00165 typedef DWORD SHGDNF; 00166 00167 enum tagSHCONTF 00168 { 00169 SHCONTF_FOLDERS = 32, 00170 SHCONTF_NONFOLDERS = 64, 00171 SHCONTF_INCLUDEHIDDEN = 128, 00172 SHCONTF_INIT_ON_FIRST_NEXT = 256, 00173 SHCONTF_NETPRINTERSRCH = 512, 00174 SHCONTF_SHAREABLE = 1024, 00175 SHCONTF_STORAGE = 2048 00176 }; 00177 00178 typedef DWORD SHCONTF; 00179 00180 cpp_quote("#define SFGAO_CANCOPY DROPEFFECT_COPY") 00181 cpp_quote("#define SFGAO_CANMOVE DROPEFFECT_MOVE") 00182 cpp_quote("#define SFGAO_CANLINK DROPEFFECT_LINK") 00183 cpp_quote("#define SFGAO_STORAGE 0x00000008L") 00184 cpp_quote("#define SFGAO_CANRENAME 0x00000010L") 00185 cpp_quote("#define SFGAO_CANDELETE 0x00000020L") 00186 cpp_quote("#define SFGAO_HASPROPSHEET 0x00000040L") 00187 cpp_quote("#define SFGAO_DROPTARGET 0x00000100L") 00188 cpp_quote("#define SFGAO_CAPABILITYMASK 0x00000177L") 00189 cpp_quote("#define SFGAO_ENCRYPTED 0x00002000L") 00190 cpp_quote("#define SFGAO_ISSLOW 0x00004000L") 00191 cpp_quote("#define SFGAO_GHOSTED 0x00008000L") 00192 cpp_quote("#define SFGAO_LINK 0x00010000L") 00193 cpp_quote("#define SFGAO_SHARE 0x00020000L") 00194 cpp_quote("#define SFGAO_READONLY 0x00040000L") 00195 cpp_quote("#define SFGAO_HIDDEN 0x00080000L") 00196 cpp_quote("#define SFGAO_DISPLAYATTRMASK 0x000FC000L") 00197 cpp_quote("#define SFGAO_FILESYSANCESTOR 0x10000000L") 00198 cpp_quote("#define SFGAO_FOLDER 0x20000000L") 00199 cpp_quote("#define SFGAO_FILESYSTEM 0x40000000L") 00200 cpp_quote("#define SFGAO_HASSUBFOLDER 0x80000000L") 00201 cpp_quote("#define SFGAO_CONTENTSMASK 0x80000000L") 00202 cpp_quote("#define SFGAO_VALIDATE 0x01000000L") 00203 cpp_quote("#define SFGAO_REMOVABLE 0x02000000L") 00204 cpp_quote("#define SFGAO_COMPRESSED 0x04000000L") 00205 cpp_quote("#define SFGAO_BROWSABLE 0x08000000L") 00206 cpp_quote("#define SFGAO_NONENUMERATED 0x00100000L") 00207 cpp_quote("#define SFGAO_NEWCONTENT 0x00200000L") 00208 cpp_quote("#define SFGAO_STREAM 0x00400000L") 00209 cpp_quote("#define SFGAO_STORAGEANCESTOR 0x00800000L") 00210 00211 typedef ULONG SFGAOF; 00212 00213 HRESULT ParseDisplayName( 00214 [in] HWND hwndOwner, 00215 [in] LPBC pbcReserved, 00216 [in, string] LPOLESTR lpszDisplayName, 00217 [out] ULONG *pchEaten, 00218 [out] LPITEMIDLIST *ppidl, 00219 [in, out, unique] ULONG *pdwAttributes); 00220 00221 HRESULT EnumObjects( 00222 [in] HWND hwndOwner, 00223 [in] SHCONTF grfFlags, 00224 [out] IEnumIDList **ppenumIDList); 00225 00226 HRESULT BindToObject( 00227 [in] LPCITEMIDLIST pidl, 00228 [in] LPBC pbcReserved, 00229 [in] REFIID riid, 00230 [out, iid_is(riid)] void **ppvOut); 00231 00232 HRESULT BindToStorage( 00233 [in] LPCITEMIDLIST pidl, 00234 [in] LPBC pbcReserved, 00235 [in] REFIID riid, 00236 [out, iid_is(riid)] void **ppvObj); 00237 00238 HRESULT CompareIDs( 00239 [in] LPARAM lParam, 00240 [in] LPCITEMIDLIST pidl1, 00241 [in] LPCITEMIDLIST pidl2); 00242 00243 HRESULT CreateViewObject( 00244 [in] HWND hwndOwner, 00245 [in] REFIID riid, 00246 [out, iid_is(riid)] void **ppvOut); 00247 00248 HRESULT GetAttributesOf( 00249 [in] UINT cidl, 00250 [in, size_is(cidl)] LPCITEMIDLIST *apidl, 00251 [in, out] SFGAOF *rgfInOut); 00252 00253 HRESULT GetUIObjectOf( 00254 [in] HWND hwndOwner, 00255 [in] UINT cidl, 00256 [in, size_is(cidl)] LPCITEMIDLIST *apidl, 00257 [in] REFIID riid, 00258 [in, out, unique] UINT *prgfInOut, 00259 [out, iid_is(riid)] void **ppvOut); 00260 00261 HRESULT GetDisplayNameOf( 00262 [in] LPCITEMIDLIST pidl, 00263 [in] SHGDNF uFlags, 00264 [out] STRRET *lpName); 00265 00266 HRESULT SetNameOf( 00267 [in] HWND hwnd, 00268 [in] LPCITEMIDLIST pidl, 00269 [in, string] LPCOLESTR lpszName, 00270 [in] SHGDNF uFlags, 00271 [out] LPITEMIDLIST *ppidlOut); 00272 } 00273 00274 00275 /***************************************************************************** 00276 * IEnumExtraSearch interface 00277 */ 00278 [ 00279 object, 00280 uuid(0e700be1-9db6-11d1-a1ce-00c04fd75d13), 00281 pointer_default(unique) 00282 ] 00283 interface IEnumExtraSearch : IUnknown 00284 { 00285 typedef IEnumExtraSearch *LPENUMEXTRASEARCH; 00286 00287 typedef struct 00288 { 00289 GUID guidSearch; 00290 WCHAR wszFriendlyName[80]; 00291 /* 00292 *WCHAR wszMenuText[80]; 00293 *WCHAR wszHelpText[MAX_PATH]; 00294 */ 00295 WCHAR wszUrl[2084]; 00296 /* 00297 *WCHAR wszIcon[MAX_PATH+10]; 00298 *WCHAR wszGreyIcon[MAX_PATH+10]; 00299 *WCHAR wszClrIcon[MAX_PATH+10]; 00300 */ 00301 } EXTRASEARCH, *LPEXTRASEARCH; 00302 00303 HRESULT Next( 00304 [in] ULONG celt, 00305 [out, size_is(celt), length_is(*pceltFetched)] EXTRASEARCH *rgelt, 00306 [out] ULONG *pceltFetched); 00307 00308 HRESULT Skip( [in] ULONG celt ); 00309 HRESULT Reset(); 00310 HRESULT Clone( [out] IEnumExtraSearch **ppenum ); 00311 } 00312 00313 00314 /***************************************************************************** 00315 * IShellFolder2 interface 00316 */ 00317 [ 00318 object, 00319 uuid(93f2f68c-1d1b-11d3-a30e-00c04f79abd1), 00320 pointer_default(unique) 00321 ] 00322 interface IShellFolder2 : IShellFolder 00323 { 00324 typedef struct 00325 { 00326 GUID fmtid; 00327 DWORD pid; 00328 } SHCOLUMNID, *LPSHCOLUMNID; 00329 typedef const SHCOLUMNID *LPCSHCOLUMNID; 00330 00331 HRESULT GetDefaultSearchGUID( [out] GUID *lpguid ); 00332 HRESULT EnumSearches( [out] IEnumExtraSearch **ppenum ); 00333 HRESULT GetDefaultColumn( [in] DWORD dwReserved, [out] ULONG *pSort, [out] ULONG *pDisplay ); 00334 HRESULT GetDefaultColumnState( [in] UINT iColumn, [out] SHCOLSTATEF *pcsFlags ); 00335 HRESULT GetDetailsEx( [in] LPCITEMIDLIST pidl, [in] const SHCOLUMNID *pscid, [out] VARIANT *pv); 00336 HRESULT GetDetailsOf( [in] LPCITEMIDLIST pidl, [in] UINT iColumn, [out] SHELLDETAILS *psd); 00337 HRESULT MapColumnToSCID( [in] UINT iColumn, [in] SHCOLUMNID *pscid ); 00338 } 00339 00340 /***************************************************************************** 00341 * IShellItem interface 00342 */ 00343 [ 00344 object, 00345 uuid(43826d1e-e718-42ee-bc55-a1e261c37bfe), 00346 pointer_default(unique) 00347 ] 00348 interface IShellItem : IUnknown 00349 { 00350 typedef [v1_enum] enum { 00351 SIGDN_NORMALDISPLAY = 0, 00352 SIGDN_PARENTRELATIVEPARSING = 0x80018001, 00353 SIGDN_DESKTOPABSOLUTEPARSING = 0x80028000, 00354 SIGDN_PARENTRELATIVEEDITING = 0x80031001, 00355 SIGDN_DESKTOPABSOLUTEEDITING = 0x8004c000, 00356 SIGDN_FILESYSPATH = 0x80058000, 00357 SIGDN_URL = 0x80068000, 00358 SIGDN_PARENTRELATIVEFORADDRESSBAR = 0x8007c001, 00359 SIGDN_PARENTRELATIVE = 0x80080001 00360 } SIGDN; /* & 0xFFFF => SHGDN */ 00361 00362 [v1_enum] enum _SICHINTF 00363 { 00364 SICHINT_DISPLAY = 0x00000000, 00365 SICHINT_CANONICAL = 0x10000000, 00366 SICHINT_TEST_FILESYSPATH_IF_NOT_EQUAL = 0x20000000, 00367 SICHINT_ALLFIELDS = 0x80000000 00368 }; 00369 typedef DWORD SICHINTF; 00370 00371 HRESULT BindToHandler( 00372 [in] IBindCtx *pbc, 00373 [in] REFGUID rbhid, 00374 [in] REFIID riid, 00375 [out, iid_is(riid)] void **ppvOut); 00376 00377 HRESULT GetParent( [out] IShellItem **ppsi ); 00378 00379 HRESULT GetDisplayName( 00380 [in] SIGDN sigdnName, 00381 [out] LPWSTR *ppszName); 00382 00383 HRESULT GetAttributes( 00384 [in] SFGAOF sfgaoMask, 00385 [out] SFGAOF *psfgaoAttribs); 00386 00387 HRESULT Compare( 00388 [in] IShellItem *psi, 00389 [in] SICHINTF hint, 00390 [out] int *piOrder); 00391 } 00392 00393 /***************************************************************************** 00394 * IShellItem2 interface 00395 */ 00396 [ 00397 object, 00398 uuid(7E9FB0D3-919F-4307-AB2E-9B1860310C93), 00399 pointer_default(unique) 00400 ] 00401 interface IShellItem2 : IShellItem 00402 { 00403 HRESULT GetPropertyStore( 00404 [in] GETPROPERTYSTOREFLAGS flags, 00405 [in] REFIID riid, 00406 [out, iid_is(riid)] void **ppv); 00407 00408 HRESULT GetPropertyStoreWithCreateObject( 00409 [in] GETPROPERTYSTOREFLAGS flags, 00410 [in] IUnknown *punkCreateObject, 00411 [in] REFIID riid, 00412 [out, iid_is(riid)] void **ppv); 00413 00414 HRESULT GetPropertyStoreForKeys( 00415 [in, size_is(cKeys)] const PROPERTYKEY *rgKeys, 00416 [in] UINT cKeys, 00417 [in] GETPROPERTYSTOREFLAGS flags, 00418 [in] REFIID riid, 00419 [out, iid_is(riid)] void **ppv); 00420 00421 HRESULT GetPropertyDescriptionList( 00422 [in] REFPROPERTYKEY keyType, 00423 [in] REFIID riid, 00424 [out, iid_is(riid)] void **ppv); 00425 00426 HRESULT Update( 00427 [in, unique] IBindCtx *pbc); 00428 00429 HRESULT GetProperty( 00430 [in] REFPROPERTYKEY key, 00431 [out] PROPVARIANT *ppropvar); 00432 00433 HRESULT GetCLSID( 00434 [in] REFPROPERTYKEY key, 00435 [out] CLSID *pclsid); 00436 00437 HRESULT GetFileTime ( 00438 [in] REFPROPERTYKEY key, 00439 [out] FILETIME *pft); 00440 00441 HRESULT GetInt32( 00442 [in] REFPROPERTYKEY key, 00443 [out] int *pi); 00444 00445 HRESULT GetString( 00446 [in] REFPROPERTYKEY key, 00447 [out, string] LPWSTR *ppsz); 00448 00449 HRESULT GetUInt32( 00450 [in] REFPROPERTYKEY key, 00451 [out] ULONG *pui); 00452 00453 HRESULT GetUInt64( 00454 [in] REFPROPERTYKEY key, 00455 [out] ULONGLONG *pull); 00456 00457 HRESULT GetBool( 00458 [in] REFPROPERTYKEY key, 00459 [out] BOOL *pf); 00460 } 00461 00462 typedef enum tagNWMF { 00463 NWMF_UNLOADING = 0x0001, 00464 NWMF_USERINITED = 0x0002, 00465 NWMF_FIRST = 0x0004, 00466 NWMF_OVERRIDEKEY = 0x0008, 00467 NWMF_SHOWHELP = 0x0010, 00468 NWMF_HTMLDIALOG = 0x0020, 00469 NWMF_FROMDIALOGCHILD = 0x0040, 00470 NWMF_USERREQUESTED = 0x0080, 00471 NWMF_USERALLOWED = 0x0100 00472 } NWMF; 00473 00474 [ 00475 uuid(d2bc4c84-3f72-4a52-a604-7bcbf3982cbb), 00476 object, 00477 pointer_default(unique) 00478 ] 00479 interface INewWindowManager : IUnknown 00480 { 00481 HRESULT EvaluateNewWindow( 00482 [in, string] LPCWSTR pszUrl, 00483 [in, string] LPCWSTR pszName, 00484 [in, string] LPCWSTR pszUrlContext, 00485 [in, string] LPCWSTR pszFeatures, 00486 [in] BOOL fReplace, 00487 [in] DWORD dwFlags, 00488 [in] DWORD dwUserActionTime); 00489 } 00490 00491 cpp_quote("#define SID_SNewWindowManager IID_INewWindowManager") 00492 00493 /***************************************************************************** 00494 * IEnumShellItems interface 00495 */ 00496 [ 00497 object, 00498 uuid(70629033-E363-4A28-A567-0DB78006E6D7), 00499 pointer_default(unique) 00500 ] 00501 interface IEnumShellItems : IUnknown 00502 { 00503 [local] HRESULT Next( 00504 [in] ULONG celt, 00505 [out, size_is(celt), length_is(*pceltFetched)] IShellItem **rgelt, 00506 [out] ULONG *pceltFetched); 00507 00508 [call_as(Next)] HRESULT RemoteNext( 00509 [in] ULONG celt, 00510 [out, size_is(celt), length_is(*pceltFetched)] IShellItem **rgelt, 00511 [out] ULONG *pceltFetched); 00512 00513 HRESULT Skip( 00514 [in] ULONG celt); 00515 00516 HRESULT Reset(); 00517 00518 HRESULT Clone( 00519 [out] IEnumShellItems **ppenum); 00520 } 00521 00522 /***************************************************************************** 00523 * IShellItemArray interface 00524 */ 00525 [ 00526 object, 00527 uuid(B63EA76D-1F85-456F-A19C-48159EFA858B), 00528 pointer_default(unique) 00529 ] 00530 interface IShellItemArray : IUnknown 00531 { 00532 typedef [v1_enum] enum SIATTRIBFLAGS { 00533 SIATTRIBFLAGS_AND = 0x0001, 00534 SIATTRIBFLAGS_OR = 0x0002, 00535 SIATTRIBFLAGS_APPCOMPAT = 0x0003, 00536 SIATTRIBFLAGS_MASK = 0x0003, 00537 SIATTRIBFLAGS_ALLITEMS = 0x4000 00538 } SIATTRIBFLAGS; 00539 cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(SIATTRIBFLAGS)") 00540 00541 HRESULT BindToHandler( 00542 [in, unique] IBindCtx *pbc, 00543 [in] REFGUID bhid, 00544 [in] REFIID riid, 00545 [out, iid_is(riid)] void **ppvOut); 00546 00547 HRESULT GetPropertyStore( 00548 [in] GETPROPERTYSTOREFLAGS flags, 00549 [in] REFIID riid, 00550 [out, iid_is(riid)] void **ppv); 00551 00552 HRESULT GetPropertyDescriptionList( 00553 [in] REFPROPERTYKEY keyType, 00554 [in] REFIID riid, 00555 [out, iid_is(riid)] void **ppv); 00556 00557 HRESULT GetAttributes( 00558 [in] SIATTRIBFLAGS AttribFlags, 00559 [in] SFGAOF sfgaoMask, 00560 [out] SFGAOF *psfgaoAttribs); 00561 00562 HRESULT GetCount( 00563 [out] DWORD *pdwNumItems); 00564 00565 HRESULT GetItemAt( 00566 [in] DWORD dwIndex, 00567 [out] IShellItem **ppsi); 00568 00569 HRESULT EnumItems( 00570 [out] IEnumShellItems **ppenumShellItems); 00571 00572 } 00573 00574 typedef [v1_enum] enum DATAOBJ_GET_ITEM_FLAGS 00575 { 00576 DOGIF_DEFAULT = 0x0, 00577 DOGIF_TRAVERSE_LINK = 0x1, 00578 DOGIF_NO_HDROP = 0x2, 00579 DOGIF_NO_URL = 0x4, 00580 DOGIF_ONLY_IF_ONE = 0x8 00581 } DATAOBJ_GET_ITEM_FLAGS; 00582 cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(DATAOBJ_GET_ITEM_FLAGS)") 00583 00584 cpp_quote("HRESULT WINAPI SHGetNameFromIDList(PCIDLIST_ABSOLUTE pidl, SIGDN sigdnName, PWSTR *ppszName);") 00585 cpp_quote("HRESULT WINAPI SHCreateItemFromParsingName(PCWSTR pszPath, IBindCtx *pbc, REFIID riid, void **ppv);") 00586 cpp_quote("HRESULT WINAPI SHCreateItemFromIDList(PCIDLIST_ABSOLUTE pidl, REFIID riid, void **ppv);") 00587 cpp_quote("HRESULT WINAPI SHGetItemFromDataObject(IDataObject *pdtobj, DATAOBJ_GET_ITEM_FLAGS dwFlags, REFIID riid, void **ppv);") 00588 cpp_quote("HRESULT WINAPI SHGetIDListFromObject(IUnknown *punk, PIDLIST_ABSOLUTE *ppidl);") 00589 cpp_quote("HRESULT WINAPI SHGetItemFromObject(IUnknown *punk, REFIID riid, void **ppv);") 00590 cpp_quote("HRESULT WINAPI SHCreateShellItemArray(PCIDLIST_ABSOLUTE pidlParent, IShellFolder* psf, UINT cidl, PCUITEMID_CHILD_ARRAY ppidl, IShellItemArray **ppsiItemArray);") 00591 cpp_quote("HRESULT WINAPI SHCreateShellItemArrayFromShellItem(IShellItem *psi, REFIID riid, void **ppv);") 00592 cpp_quote("HRESULT WINAPI SHCreateShellItemArrayFromDataObject(IDataObject *pdo, REFIID riid, void **ppv);") 00593 00594 /***************************************************************************** 00595 * IShellItemFilter interface 00596 */ 00597 [ 00598 object, 00599 uuid(2659B475-EEB8-48B7-8F07-B378810F48CF), 00600 pointer_default(unique) 00601 ] 00602 interface IShellItemFilter : IUnknown 00603 { 00604 HRESULT IncludeItem( 00605 [in] IShellItem *psi); 00606 00607 HRESULT GetEnumFlagsForItem( 00608 [in] IShellItem *psi, 00609 [out] SHCONTF *pgrfFlags); 00610 } 00611 00612 /***************************************************************************** 00613 * FOLDERSETTINGS 00614 */ 00615 typedef char *LPVIEWSETTINGS; 00616 00617 typedef enum 00618 { 00619 FWF_AUTOARRANGE = 0x00000001, 00620 FWF_ABBREVIATEDNAMES = 0x00000002, 00621 FWF_SNAPTOGRID = 0x00000004, 00622 FWF_OWNERDATA = 0x00000008, 00623 FWF_BESTFITWINDOW = 0x00000010, 00624 FWF_DESKTOP = 0x00000020, 00625 FWF_SINGLESEL = 0x00000040, 00626 FWF_NOSUBFOLDERS = 0x00000080, 00627 FWF_TRANSPARENT = 0x00000100, 00628 FWF_NOCLIENTEDGE = 0x00000200, 00629 FWF_NOSCROLL = 0x00000400, 00630 FWF_ALIGNLEFT = 0x00000800, 00631 FWF_NOICONS = 0x00001000, 00632 FWF_SHOWSELALWAYS = 0x00002000, 00633 FWF_NOVISIBLE = 0x00004000, 00634 FWF_SINGLECLICKACTIVATE = 0x00008000, 00635 FWF_NOWEBVIEW = 0x00010000, 00636 FWF_HIDEFILENAMES = 0x00020000, 00637 FWF_CHECKSELECT = 0x00040000, 00638 FWF_NOENUMREFRESH = 0x00080000, 00639 FWF_NOGROUPING = 0x00100000, 00640 FWF_FULLROWSELECT = 0x00200000, 00641 FWF_NOFILTERS = 0x00400000, 00642 FWF_NOCOLUMNHEADER = 0x00800000, 00643 FWF_NOHEADERINALLVIEWS = 0x01000000, 00644 FWF_EXTENDEDTILES = 0x02000000, 00645 FWF_TRICHECKSELECT = 0x04000000, 00646 FWF_AUTOCHECKSELECT = 0x08000000, 00647 FWF_NOBROWSERVIEWSTATE = 0x10000000, 00648 FWF_SUBSETGROUPS = 0x20000000, 00649 FWF_USESEARCHFOLDER = 0x40000000, 00650 FWF_ALLOWRTLREADING = 0x80000000 00651 } FOLDERFLAGS; 00652 00653 typedef enum 00654 { 00655 FVM_AUTO =-1, 00656 FVM_ICON = 1, 00657 FVM_FIRST = FVM_ICON, 00658 FVM_SMALLICON = 2, 00659 FVM_LIST = 3, 00660 FVM_DETAILS = 4, 00661 FVM_THUMBNAIL = 5, 00662 FVM_TILE = 6, 00663 FVM_THUMBSTRIP = 7, 00664 FVM_CONTENT = 8, 00665 FVM_LAST = FVM_CONTENT 00666 } FOLDERVIEWMODE; 00667 00668 typedef struct 00669 { 00670 UINT ViewMode; 00671 UINT fFlags; 00672 } FOLDERSETTINGS, *PFOLDERSETTINGS, *LPFOLDERSETTINGS; 00673 typedef const FOLDERSETTINGS *LPCFOLDERSETTINGS; 00674 00675 /***************************************************************************** 00676 * IShellIcon interface 00677 */ 00678 [ 00679 uuid(000214e5-0000-0000-c000-000000000046), 00680 object, 00681 pointer_default(unique) 00682 ] 00683 interface IShellIcon : IUnknown 00684 { 00685 HRESULT GetIconOf( 00686 [in] PCUITEMID_CHILD pidl, 00687 [in] UINT flags, 00688 [out] int *pIconIndex); 00689 } 00690 00691 /***************************************************************************** 00692 * IShellView interface 00693 */ 00694 interface IShellBrowser; /* forward declaration */ 00695 [ 00696 object, 00697 uuid(000214e3-0000-0000-c000-000000000046), 00698 pointer_default(unique) 00699 ] 00700 interface IShellView : IOleWindow 00701 { 00702 typedef IShellView *LPSHELLVIEW; 00703 00704 cpp_quote("#define SVSI_DESELECT 0x00000000") 00705 cpp_quote("#define SVSI_SELECT 0x00000001") 00706 cpp_quote("#define SVSI_EDIT 0x00000003") 00707 cpp_quote("#define SVSI_DESELECTOTHERS 0x00000004") 00708 cpp_quote("#define SVSI_ENSUREVISIBLE 0x00000008") 00709 cpp_quote("#define SVSI_FOCUSED 0x00000010") 00710 cpp_quote("#define SVSI_TRANSLATEPT 0x00000020") 00711 cpp_quote("#define SVSI_SELECTIONMARK 0x00000040") 00712 cpp_quote("#define SVSI_POSITIONITEM 0x00000080") 00713 cpp_quote("#define SVSI_CHECK 0x00000100") 00714 cpp_quote("#define SVSI_NOSTATECHANGE 0x80000000") 00715 00716 typedef UINT SVSIF; 00717 00718 typedef enum 00719 { 00720 SVGIO_BACKGROUND = 0x00000000, 00721 SVGIO_SELECTION = 0x00000001, 00722 SVGIO_ALLVIEW = 0x00000002, 00723 SVGIO_CHECKED = 0x00000003, 00724 SVGIO_TYPE_MASK = 0x0000000f, 00725 SVGIO_FLAG_VIEWORDER = 0x80000000, 00726 } SVGIO; 00727 00728 typedef enum 00729 { 00730 SVUIA_DEACTIVATE = 0, 00731 SVUIA_ACTIVATE_NOFOCUS = 1, 00732 SVUIA_ACTIVATE_FOCUS = 2, 00733 SVUIA_INPLACEACTIVATE = 3 00734 } SVUIA_STATUS; 00735 00736 HRESULT TranslateAccelerator( [in] MSG *pmsg ); 00737 HRESULT EnableModeless( [in] BOOL fEnable ); 00738 HRESULT UIActivate( [in] UINT uState ); 00739 HRESULT Refresh(); 00740 HRESULT CreateViewWindow( 00741 [in] IShellView *psvPrevious, 00742 [in] LPCFOLDERSETTINGS lpfs, 00743 [in] IShellBrowser *psb, 00744 [out] RECT *prcView, 00745 [out] HWND *phWnd); 00746 00747 HRESULT DestroyViewWindow(); 00748 HRESULT GetCurrentInfo( [out] LPFOLDERSETTINGS lpfs ); 00749 00750 [local] HRESULT AddPropertySheetPages( 00751 [in] DWORD dwReserved, 00752 [in] LPFNSVADDPROPSHEETPAGE pfn, 00753 [in] LPARAM lparam); 00754 00755 HRESULT SaveViewState(); 00756 HRESULT SelectItem( 00757 [in] LPCITEMIDLIST pidlItem, 00758 [in] SVSIF uFlags); 00759 HRESULT GetItemObject( 00760 [in] UINT uItem, 00761 [in] REFIID riid, 00762 [out, iid_is(riid)] void **ppv); 00763 } 00764 00765 [ 00766 object, 00767 uuid(88e39e80-3578-11cf-ae69-08002b2e1262), 00768 pointer_default(unique) 00769 ] 00770 interface IShellView2 : IShellView 00771 { 00772 typedef GUID SHELLVIEWID; 00773 cpp_quote("#include <pshpack8.h>") 00774 typedef struct _SV2CVW2_PARAMS 00775 { 00776 DWORD cbSize; 00777 IShellView *psvPrev; 00778 LPCFOLDERSETTINGS pfs; 00779 IShellBrowser *psbOwner; 00780 RECT *prcView; 00781 SHELLVIEWID const *pvid; 00782 HWND hwndView; 00783 } SV2CVW2_PARAMS, *LPSV2CVW2_PARAMS; 00784 cpp_quote("#include <poppack.h>") 00785 00786 HRESULT GetView( 00787 [in, out] SHELLVIEWID *view_guid, 00788 [in] ULONG view_type 00789 ); 00790 HRESULT CreateViewWindow2( 00791 [in] LPSV2CVW2_PARAMS view_params 00792 ); 00793 HRESULT HandleRename( 00794 [in] LPCITEMIDLIST new_pidl 00795 ); 00796 HRESULT SelectAndPositionItem( 00797 [in] LPCITEMIDLIST item, 00798 [in] UINT flags, 00799 [in] POINT *point 00800 ); 00801 } 00802 00803 /***************************************************************************** 00804 * IFolderView interface 00805 */ 00806 [ 00807 uuid(cde725b0-ccc9-4519-917e-325d72fab4ce), 00808 object, 00809 pointer_default(unique) 00810 ] 00811 interface IFolderView : IUnknown 00812 { 00813 HRESULT GetCurrentViewMode( [out] UINT *mode ); 00814 HRESULT SetCurrentViewMode( [in] UINT mode ); 00815 HRESULT GetFolder( [in] REFIID riid, [out, iid_is(riid)] void **ppv ); 00816 HRESULT Item( 00817 [in] int index, 00818 [out] PITEMID_CHILD *ppidl 00819 ); 00820 HRESULT ItemCount( 00821 [in] UINT flags, 00822 [out] int *items 00823 ); 00824 HRESULT Items( 00825 [in] UINT flags, 00826 [in] REFIID riid, 00827 [out, iid_is(riid)] void **ppv 00828 ); 00829 HRESULT GetSelectionMarkedItem( [out] int *item ); 00830 HRESULT GetFocusedItem( [out] int *item ); 00831 HRESULT GetItemPosition( 00832 [in] PCUITEMID_CHILD pidl, 00833 [out] POINT* ppt 00834 ); 00835 HRESULT GetSpacing( [in, out, unique] POINT* pt ); 00836 HRESULT GetDefaultSpacing( [out] POINT* pt ); 00837 HRESULT GetAutoArrange(); 00838 HRESULT SelectItem( 00839 [in] int item, 00840 [in] DWORD flags 00841 ); 00842 HRESULT SelectAndPositionItems( 00843 [in] UINT cidl, 00844 [in, size_is(cidl)] PCUITEMID_CHILD_ARRAY apidl, 00845 [in, unique, size_is(cidl)] POINT* apt, 00846 [in] DWORD flags 00847 ); 00848 } 00849 00850 /***************************************************************************** 00851 * IShellBrowser interface 00852 */ 00853 [ 00854 object, 00855 uuid(000214e2-0000-0000-c000-000000000046), 00856 pointer_default(unique) 00857 ] 00858 interface IShellBrowser : IOleWindow 00859 { 00860 typedef IShellBrowser *LPSHELLBROWSER; 00861 00862 cpp_quote("#define SBSP_DEFBROWSER 0x00000000") 00863 cpp_quote("#define SBSP_SAMEBROWSER 0x00000001") 00864 cpp_quote("#define SBSP_NEWBROWSER 0x00000002") 00865 cpp_quote("#define SBSP_DEFMODE 0x00000000") 00866 cpp_quote("#define SBSP_OPENMODE 0x00000010") 00867 cpp_quote("#define SBSP_EXPLOREMODE 0x00000020") 00868 cpp_quote("#define SBSP_HELPMODE 0x00000040") 00869 cpp_quote("#define SBSP_NOTRANSFERHIST 0x00000080") 00870 cpp_quote("#define SBSP_ABSOLUTE 0x00000000") 00871 cpp_quote("#define SBSP_RELATIVE 0x00001000") 00872 cpp_quote("#define SBSP_PARENT 0x00002000") 00873 cpp_quote("#define SBSP_NAVIGATEBACK 0x00004000") 00874 cpp_quote("#define SBSP_NAVIGATEFORWARD 0x00008000") 00875 cpp_quote("#define SBSP_ALLOW_AUTONAVIGATE 0x00010000") 00876 cpp_quote("#define SBSP_KEEPSAMETEMPLATE 0x00020000") 00877 cpp_quote("#define SBSP_KEEPWORDWHEELTEXT 0x00040000") 00878 cpp_quote("#define SBSP_ACTIVATE_NOFOCUS 0x00080000") 00879 cpp_quote("#define SBSP_CREATENOHISTORY 0x00100000") 00880 cpp_quote("#define SBSP_PLAYNOSOUND 0x00200000") 00881 cpp_quote("#define SBSP_CALLERUNTURUSTED 0x00800000") 00882 cpp_quote("#define SBSP_TRUSTFIRSTDOWNLOAD 0x01000000") 00883 cpp_quote("#define SBSP_UNTRUSTEDFORDOWNLOAD 0x02000000") 00884 cpp_quote("#define SBSP_NOAUTOSELECT 0x04000000") 00885 cpp_quote("#define SBSP_WRITENOHISTORY 0x08000000") 00886 cpp_quote("#define SBSP_TRUSTEDFORACTIVEX 0x10000000") 00887 cpp_quote("#define SBSP_FEEDNAVIGATION 0x20000000") 00888 cpp_quote("#define SBSP_REDIRECT 0x40000000") 00889 cpp_quote("#define SBSP_INITIATEDBYHLINKFRAME 0x80000000") 00890 00891 cpp_quote("#define FCW_STATUS 0x0001") 00892 cpp_quote("#define FCW_TOOLBAR 0x0002") 00893 cpp_quote("#define FCW_TREE 0x0003") 00894 cpp_quote("#define FCW_INTERNETBAR 0x0006") 00895 cpp_quote("#define FCW_PROGRESS 0x0008") 00896 00897 cpp_quote("#define FCT_MERGE 0x0001") 00898 cpp_quote("#define FCT_CONFIGABLE 0x0002") 00899 cpp_quote("#define FCT_ADDTOEND 0x0004") 00900 00901 cpp_quote("#if 0") 00902 typedef LPARAM LPTBBUTTONSB; 00903 cpp_quote("#else") 00904 cpp_quote("#include <commctrl.h>") 00905 cpp_quote("typedef LPTBBUTTON LPTBBUTTONSB;") 00906 cpp_quote("#endif") 00907 00908 HRESULT InsertMenusSB( 00909 [in] HMENU hmenuShared, 00910 [in, out] LPOLEMENUGROUPWIDTHS lpMenuWidths); 00911 00912 HRESULT SetMenuSB( 00913 [in] HMENU hmenuShared, 00914 [in] HOLEMENU holemenuReserved, 00915 [in] HWND hwndActiveObject); 00916 00917 HRESULT RemoveMenusSB( [in] HMENU hmenuShared ); 00918 HRESULT SetStatusTextSB( [in, unique] LPCOLESTR pszStatusText ); 00919 HRESULT EnableModelessSB( [in] BOOL fEnable ); 00920 HRESULT TranslateAcceleratorSB( [in] MSG *pmsg, [in] WORD wID ); 00921 00922 HRESULT BrowseObject( 00923 [in] LPCITEMIDLIST pidl, 00924 [in] UINT wFlags); 00925 00926 HRESULT GetViewStateStream( 00927 [in] DWORD grfMode, 00928 [out] IStream **ppStrm); 00929 00930 HRESULT GetControlWindow( 00931 [in] UINT id, 00932 [out] HWND *phwnd); 00933 00934 [local] HRESULT SendControlMsg( 00935 [in] UINT id, 00936 [in] UINT uMsg, 00937 [in] WPARAM wParam, 00938 [in] LPARAM lParam, 00939 [in] LRESULT *pret); 00940 00941 HRESULT QueryActiveShellView( [out] IShellView **ppshv ); 00942 HRESULT OnViewWindowActive( [in] IShellView *pshv ); 00943 00944 [local] 00945 HRESULT SetToolbarItems( 00946 [in] LPTBBUTTONSB lpButtons, 00947 [in] UINT nButtons, 00948 [in] UINT uFlags); 00949 } 00950 00951 00952 /***************************************************************************** 00953 * IShellLinkA interface 00954 */ 00955 [ 00956 object, 00957 uuid(000214ee-0000-0000-c000-000000000046), 00958 pointer_default(unique) 00959 ] 00960 interface IShellLinkA : IUnknown 00961 { 00962 typedef enum 00963 { 00964 SLR_NO_UI = 0x0001, 00965 SLR_ANY_MATCH = 0x0002, 00966 SLR_UPDATE = 0x0004, 00967 SLR_NOUPDATE = 0x0008, 00968 SLR_NOSEARCH = 0x0010, 00969 SLR_NOTRACK = 0x0020, 00970 SLR_NOLINKINFO = 0x0040, 00971 SLR_INVOKE_MSI = 0x0080, 00972 SLR_NO_UI_WITH_MSG_PUMP = 0x0101, 00973 } SLR_FLAGS; 00974 00975 typedef enum 00976 { 00977 SLGP_SHORTPATH = 0x0001, 00978 SLGP_UNCPRIORITY = 0x0002, 00979 SLGP_RAWPATH = 0x0004, 00980 } SLGP_FLAGS; 00981 00982 HRESULT GetPath( 00983 [out, size_is(cch)] LPSTR pszFile, 00984 [in] int cch, 00985 [in, out, unique] WIN32_FIND_DATAA *pfd, 00986 [in] DWORD fFlags); 00987 00988 HRESULT GetIDList( [out] LPITEMIDLIST * ppidl ); 00989 00990 HRESULT SetIDList( [in] LPCITEMIDLIST pidl ); 00991 00992 HRESULT GetDescription( 00993 [out, size_is(cch)] LPSTR pszName, 00994 [in] int cch); 00995 00996 HRESULT SetDescription( [in] LPCSTR pszName ); 00997 00998 HRESULT GetWorkingDirectory( 00999 [out, size_is(cch)] LPSTR pszDir, 01000 [in] int cch); 01001 01002 HRESULT SetWorkingDirectory( [in] LPCSTR pszDir ); 01003 01004 HRESULT GetArguments( 01005 [out, size_is(cch)] LPSTR pszArgs, 01006 [in] int cch); 01007 01008 HRESULT SetArguments( [in] LPCSTR pszArgs ); 01009 01010 HRESULT GetHotkey( [out] WORD *pwHotkey ); 01011 01012 HRESULT SetHotkey( [in] WORD wHotkey ); 01013 01014 HRESULT GetShowCmd( [out] int *piShowCmd ); 01015 01016 HRESULT SetShowCmd( [in] int iShowCmd ); 01017 01018 HRESULT GetIconLocation( 01019 [out, size_is(cch)] LPSTR pszIconPath, 01020 [in] int cch, 01021 [out] int *piIcon); 01022 01023 HRESULT SetIconLocation( 01024 [in] LPCSTR pszIconPath, 01025 [in] int iIcon); 01026 01027 HRESULT SetRelativePath( 01028 [in] LPCSTR pszPathRel, 01029 [in] DWORD dwReserved); 01030 01031 HRESULT Resolve( 01032 [in] HWND hwnd, 01033 [in] DWORD fFlags); 01034 01035 HRESULT SetPath( [in] LPCSTR pszFile ); 01036 } 01037 01038 01039 /***************************************************************************** 01040 * IShellLinkW interface 01041 */ 01042 [ 01043 object, 01044 uuid(000214f9-0000-0000-c000-000000000046), 01045 pointer_default(unique) 01046 ] 01047 interface IShellLinkW : IUnknown 01048 { 01049 HRESULT GetPath( 01050 [out, size_is(cch)] LPWSTR pszFile, 01051 [in] int cch, 01052 [in, out] WIN32_FIND_DATAW *pfd, 01053 [in] DWORD fFlags); 01054 01055 HRESULT GetIDList( [out] LPITEMIDLIST * ppidl ); 01056 01057 HRESULT SetIDList( [in] LPCITEMIDLIST pidl ); 01058 01059 HRESULT GetDescription( 01060 [out, size_is(cch)] LPWSTR pszName, 01061 [in] int cch); 01062 01063 HRESULT SetDescription( [in] LPCWSTR pszName ); 01064 01065 HRESULT GetWorkingDirectory( 01066 [out, size_is(cch)] LPWSTR pszDir, 01067 [in] int cch); 01068 01069 HRESULT SetWorkingDirectory( [in] LPCWSTR pszDir ); 01070 01071 HRESULT GetArguments( 01072 [out, size_is(cch)] LPWSTR pszArgs, 01073 [in] int cch); 01074 01075 HRESULT SetArguments( [in] LPCWSTR pszArgs ); 01076 01077 HRESULT GetHotkey( [out] WORD *pwHotkey ); 01078 01079 HRESULT SetHotkey( [in] WORD wHotkey ); 01080 01081 HRESULT GetShowCmd( [out] int *piShowCmd ); 01082 01083 HRESULT SetShowCmd( [in] int iShowCmd ); 01084 01085 HRESULT GetIconLocation( 01086 [out, size_is(cch)] LPWSTR pszIconPath, 01087 [in] int cch, 01088 [out] int *piIcon); 01089 01090 HRESULT SetIconLocation( 01091 [in] LPCWSTR pszIconPath, 01092 [in] int iIcon); 01093 01094 HRESULT SetRelativePath( 01095 [in] LPCWSTR pszPathRel, 01096 [in] DWORD dwReserved); 01097 01098 HRESULT Resolve( 01099 [in] HWND hwnd, 01100 [in] DWORD fFlags); 01101 01102 HRESULT SetPath( [in] LPCWSTR pszFile ); 01103 } 01104 01105 cpp_quote("#define IShellLink WINELIB_NAME_AW(IShellLink)") 01106 01107 01108 /***************************************************************************** 01109 * IShellExtInit interface 01110 */ 01111 [ 01112 object, 01113 uuid(000214e8-0000-0000-c000-000000000046), 01114 pointer_default(unique), 01115 local 01116 ] 01117 interface IShellExtInit : IUnknown 01118 { 01119 typedef IShellExtInit *LPSHELLEXTINIT; 01120 01121 HRESULT Initialize( 01122 [in] LPCITEMIDLIST pidlFolder, 01123 [in] IDataObject *pdtobj, 01124 [in] HKEY hkeyProgID); 01125 } 01126 01127 01128 /*******************************************************************************/ 01129 /* Note: the following interfaces are not in shobjidl.idl under Windows, they */ 01130 /* are declared directly in shlobj.h. It hopefully won't break anything to put */ 01131 /* them here anyway. */ 01132 /*******************************************************************************/ 01133 01134 #ifndef MAX_PATH 01135 #define MAX_PATH 260 01136 #endif 01137 01138 01139 /***************************************************************************** 01140 * IPersistFolder3 interface 01141 */ 01142 [ 01143 object, 01144 uuid(cef04fdf-fe72-11d2-87a5-00c04f6837cf), 01145 pointer_default(unique) 01146 ] 01147 interface IPersistFolder3 : IPersistFolder2 01148 { 01149 typedef struct 01150 { 01151 LPITEMIDLIST pidlTargetFolder; 01152 WCHAR szTargetParsingName[MAX_PATH]; 01153 WCHAR szNetworkProvider[MAX_PATH]; 01154 DWORD dwAttributes; 01155 int csidl; 01156 } PERSIST_FOLDER_TARGET_INFO; 01157 01158 HRESULT InitializeEx( 01159 [in] IBindCtx *pbc, 01160 [in] LPCITEMIDLIST pidlRoot, 01161 [in] const PERSIST_FOLDER_TARGET_INFO *ppfti); 01162 01163 HRESULT GetFolderTargetInfo( [out] PERSIST_FOLDER_TARGET_INFO *ppfti ); 01164 } 01165 01166 01167 /***************************************************************************** 01168 * IExtractIconA interface 01169 */ 01170 [ 01171 object, 01172 uuid(000214eb-0000-0000-c000-000000000046), 01173 pointer_default(unique), 01174 local 01175 ] 01176 interface IExtractIconA : IUnknown 01177 { 01178 cpp_quote("#define GIL_OPENICON 0x0001") 01179 cpp_quote("#define GIL_FORSHELL 0x0002") 01180 cpp_quote("#define GIL_ASYNC 0x0020") 01181 cpp_quote("#define GIL_DEFAULTICON 0x0040") 01182 cpp_quote("#define GIL_FORSHORTCUT 0x0080") 01183 01184 cpp_quote("#define GIL_SIMULATEDOC 0x0001") 01185 cpp_quote("#define GIL_PERINSTANCE 0x0002") 01186 cpp_quote("#define GIL_PERCLASS 0x0004") 01187 cpp_quote("#define GIL_NOTFILENAME 0x0008") 01188 cpp_quote("#define GIL_DONTCACHE 0x0010") 01189 01190 typedef IExtractIconA *LPEXTRACTICONA; 01191 01192 HRESULT GetIconLocation( 01193 [in] UINT uFlags, 01194 [out, size_is(cchMax)] LPSTR szIconFile, 01195 [in] UINT cchMax, 01196 [out] INT *piIndex, 01197 [out] UINT *pwFlags); 01198 01199 HRESULT Extract( 01200 [in] LPCSTR pszFile, 01201 [in] UINT nIconIndex, 01202 [out] HICON *phiconLarge, 01203 [out] HICON *phiconSmall, 01204 [in] UINT nIconSize ); 01205 } 01206 01207 01208 /***************************************************************************** 01209 * IExtractIconW interface 01210 */ 01211 [ 01212 object, 01213 uuid(000214fa-0000-0000-c000-000000000046), 01214 pointer_default(unique), 01215 local 01216 ] 01217 interface IExtractIconW : IUnknown 01218 { 01219 typedef IExtractIconW *LPEXTRACTICONW; 01220 01221 HRESULT GetIconLocation( 01222 [in] UINT uFlags, 01223 [out, size_is(cchMax)] LPWSTR szIconFile, 01224 [in] UINT cchMax, 01225 [out] INT *piIndex, 01226 [out] UINT *pwFlags); 01227 01228 HRESULT Extract( 01229 [in] LPCWSTR pszFile, 01230 [in] UINT nIconIndex, 01231 [out] HICON *phiconLarge, 01232 [out] HICON *phiconSmall, 01233 [in] UINT nIconSize ); 01234 } 01235 01236 cpp_quote("#define LPEXTRACTICON WINELIB_NAME_AW(LPEXTRACTICON)") 01237 cpp_quote("#define IExtractIcon WINELIB_NAME_AW(IExtractIcon)") 01238 01239 01240 /***************************************************************************** 01241 * ICommDlgBrowser interface 01242 */ 01243 [ 01244 object, 01245 uuid(000214f1-0000-0000-c000-000000000046), 01246 pointer_default(unique) 01247 ] 01248 interface ICommDlgBrowser : IUnknown 01249 { 01250 cpp_quote("#define CDBOSC_SETFOCUS 0x00000000") 01251 cpp_quote("#define CDBOSC_KILLFOCUS 0x00000001") 01252 cpp_quote("#define CDBOSC_SELCHANGE 0x00000002") 01253 cpp_quote("#define CDBOSC_RENAME 0x00000003") 01254 cpp_quote("#define CDBOSC_STATECHANGE 0x00000004") 01255 01256 typedef ICommDlgBrowser *LPCOMMDLGBROWSER; 01257 01258 HRESULT OnDefaultCommand( [in] IShellView *shv ); 01259 HRESULT OnStateChange( [in] IShellView *shv, [in] ULONG uChange ); 01260 HRESULT IncludeObject( [in] IShellView *shv, [in] LPCITEMIDLIST pidl ); 01261 } 01262 01263 01264 /***************************************************************************** 01265 * ICommDlgBrowser2 interface 01266 */ 01267 [ 01268 object, 01269 uuid(10339516-2894-11D2-9039-00C04F8EEB3E), 01270 pointer_default(unique) 01271 ] 01272 interface ICommDlgBrowser2 : ICommDlgBrowser 01273 { 01274 01275 HRESULT Notify( 01276 [in] IShellView *ppshv, 01277 [in] DWORD dwNotifyType); 01278 01279 HRESULT GetDefaultMenuText( 01280 [in] IShellView *ppshv, 01281 [out, string, size_is(cchMax)] LPWSTR pszText, 01282 [in] int cchMax); 01283 01284 HRESULT GetViewFlags( 01285 [out] DWORD *pdwFlags); 01286 } 01287 01288 01289 /***************************************************************************** 01290 * ICommDlgBrowser3 interface 01291 */ 01292 [ 01293 object, 01294 uuid(C8AD25A1-3294-41EE-8165-71174BD01C57), 01295 pointer_default(unique) 01296 ] 01297 interface ICommDlgBrowser3 : ICommDlgBrowser2 01298 { 01299 01300 HRESULT OnColumnClicked( 01301 [in] IShellView *ppshv, 01302 [in] int iColumn); 01303 01304 HRESULT GetCurrentFilter( 01305 [out, string, size_is(cchFileSpec)] LPWSTR pszFileSpec, 01306 [in] int cchFileSpec); 01307 01308 HRESULT OnPreviewCreated( 01309 [in] IShellView *ppshv); 01310 } 01311 01312 /***************************************************************************** 01313 * IDockingWindow interface 01314 */ 01315 [ 01316 object, 01317 uuid(012dd920-7b26-11d0-8ca9-00a0c92dbfe8) 01318 ] 01319 interface IDockingWindow : IOleWindow 01320 { 01321 HRESULT ShowDW( 01322 [in] BOOL fShow); 01323 01324 HRESULT CloseDW( 01325 [in] DWORD dwReserved); 01326 01327 HRESULT ResizeBorderDW( 01328 [in] LPCRECT prcBorder, 01329 [in] IUnknown *punkToolbarSite, 01330 [in] BOOL fReserved); 01331 }; 01332 01333 01334 /***************************************************************************** 01335 * IDockingWindowFrame interface 01336 */ 01337 [ 01338 object, 01339 uuid(47d2657a-7b27-11d0-8ca9-00a0c92dbfe8), 01340 pointer_default(unique), 01341 local 01342 ] 01343 interface IDockingWindowFrame : IOleWindow 01344 { 01345 cpp_quote("#define DWFRF_NORMAL 0x0000") 01346 cpp_quote("#define DWFRF_DELETECONFIGDATA 0x0001") 01347 cpp_quote("#define DWFAF_HIDDEN 0x0001") 01348 01349 HRESULT AddToolbar( 01350 [in] IUnknown *punkSrc, 01351 [in] LPCWSTR pwszItem, 01352 [in] DWORD dwAddFlags); 01353 01354 HRESULT RemoveToolbar( 01355 [in] IUnknown *punkSrc, 01356 [in] DWORD dwRemoveFlags); 01357 01358 HRESULT FindToolbar( 01359 [in] LPCWSTR pwszItem, 01360 [in] REFIID riid, 01361 [out] LPVOID *ppvObj); 01362 } 01363 01364 01365 /***************************************************************************** 01366 * IDragSourceHelper interface 01367 */ 01368 [ 01369 object, 01370 uuid(de5bf786-477a-11d2-839d-00c04fd918d0), 01371 pointer_default(unique), 01372 local 01373 ] 01374 interface IDragSourceHelper : IUnknown 01375 { 01376 typedef struct 01377 { 01378 SIZE sizeDragImage; 01379 POINT ptOffset; 01380 HBITMAP hbmpDragImage; 01381 COLORREF crColorKey; 01382 } SHDRAGIMAGE, *LPSHDRAGIMAGE; 01383 01384 HRESULT InitializeFromBitmap( 01385 [in] LPSHDRAGIMAGE pshdi, 01386 [in] IDataObject *pDataObject); 01387 01388 HRESULT InitializeFromWindow( 01389 [in] HWND hwnd, 01390 [in] POINT *ppt, 01391 [in] IDataObject *pDataObject); 01392 } 01393 01394 01395 /***************************************************************************** 01396 * IDropTargetHelper interface 01397 */ 01398 [ 01399 object, 01400 uuid(4657278b-411b-11d2-839a-00c04fd918d0), 01401 pointer_default(unique), 01402 local 01403 ] 01404 interface IDropTargetHelper : IUnknown 01405 { 01406 HRESULT DragEnter( 01407 [in] HWND hwndTarget, 01408 [in] IDataObject *pDataObject, 01409 [in] POINT *ppt, 01410 [in] DWORD dwEffect); 01411 01412 HRESULT DragLeave(); 01413 01414 HRESULT DragOver( 01415 [in] POINT *ppt, 01416 [in] DWORD dwEffect); 01417 01418 HRESULT Drop( 01419 [in] IDataObject *pDataObject, 01420 [in] POINT *ppt, 01421 [in] DWORD dwEffect); 01422 01423 HRESULT Show( [in] BOOL fShow ); 01424 } 01425 01426 01427 /***************************************************************************** 01428 * IContextMenu interface 01429 */ 01430 [ 01431 object, 01432 uuid(000214e4-0000-0000-c000-000000000046), 01433 pointer_default(unique), 01434 local 01435 ] 01436 interface IContextMenu : IUnknown 01437 { 01438 cpp_quote("#define CMF_NORMAL 0x00000000") 01439 cpp_quote("#define CMF_DEFAULTONLY 0x00000001") 01440 cpp_quote("#define CMF_VERBSONLY 0x00000002") 01441 cpp_quote("#define CMF_EXPLORE 0x00000004") 01442 cpp_quote("#define CMF_NOVERBS 0x00000008") 01443 cpp_quote("#define CMF_CANRENAME 0x00000010") 01444 cpp_quote("#define CMF_NODEFAULT 0x00000020") 01445 cpp_quote("#define CMF_INCLUDESTATIC 0x00000040") 01446 cpp_quote("#define CMF_EXTENDEDVERBS 0x00000100") 01447 cpp_quote("#define CMF_RESERVED 0xffff0000") 01448 01449 cpp_quote("#define GCS_VERBA 0x00000000") 01450 cpp_quote("#define GCS_HELPTEXTA 0x00000001") 01451 cpp_quote("#define GCS_VALIDATEA 0x00000002") 01452 cpp_quote("#define GCS_VERBW 0x00000004") 01453 cpp_quote("#define GCS_HELPTEXTW 0x00000005") 01454 cpp_quote("#define GCS_VALIDATEW 0x00000006") 01455 cpp_quote("#define GCS_UNICODE 0x00000004") 01456 cpp_quote("#define GCS_VERB WINELIB_NAME_AW(GCS_VERB)") 01457 cpp_quote("#define GCS_HELPTEXT WINELIB_NAME_AW(GCS_HELPTEXT)") 01458 cpp_quote("#define GCS_VALIDATE WINELIB_NAME_AW(GCS_VALIDATE)") 01459 01460 cpp_quote("#define CMDSTR_NEWFOLDERA \"NewFolder\"") 01461 cpp_quote("#define CMDSTR_VIEWLISTA \"ViewList\"") 01462 cpp_quote("#define CMDSTR_VIEWDETAILSA \"ViewDetails\"") 01463 cpp_quote("#if defined(__GNUC__)") 01464 cpp_quote("# define CMDSTR_NEWFOLDERW (const WCHAR []){ 'N','e','w','F','o','l','d','e','r',0 }") 01465 cpp_quote("# define CMDSTR_VIEWLISTW (const WCHAR []){ 'V','i','e','w','L','i','s','t',0 }") 01466 cpp_quote("# define CMDSTR_VIEWDETAILSW (const WCHAR []){ 'V','i','e','w','D','e','t','a','i','l','s',0 }") 01467 cpp_quote("#elif defined(_MSC_VER)") 01468 cpp_quote("# define CMDSTR_NEWFOLDERW L\"NewFolder\"") 01469 cpp_quote("# define CMDSTR_VIEWLISTW L\"ViewList\"") 01470 cpp_quote("# define CMDSTR_VIEWDETAILSW L\"ViewDetails\"") 01471 cpp_quote("#else") 01472 cpp_quote("static const WCHAR CMDSTR_NEWFOLDERW[] = {'N','e','w','F','o','l','d','e','r',0};") 01473 cpp_quote("static const WCHAR CMDSTR_VIEWLISTW [] = {'V','i','e','w','L','i','s','t',0};") 01474 cpp_quote("static const WCHAR CMDSTR_VIEWDETAILSW[] = {'V','i','e','w','D','e','t','a','i','l','s',0};") 01475 cpp_quote("#endif") 01476 cpp_quote("#define CMDSTR_NEWFOLDER WINELIB_NAME_AW(CMDSTR_NEWFOLDER)") 01477 cpp_quote("#define CMDSTR_VIEWLIST WINELIB_NAME_AW(CMDSTR_VIEWLIST)") 01478 cpp_quote("#define CMDSTR_VIEWDETAILS WINELIB_NAME_AW(CMDSTR_VIEWDETAILS)") 01479 01480 cpp_quote("#define CMIC_MASK_HOTKEY SEE_MASK_HOTKEY") 01481 cpp_quote("#define CMIC_MASK_ICON SEE_MASK_ICON") 01482 cpp_quote("#define CMIC_MASK_FLAG_NO_UI SEE_MASK_FLAG_NO_UI") 01483 cpp_quote("#define CMIC_MASK_UNICODE SEE_MASK_UNICODE") 01484 cpp_quote("#define CMIC_MASK_NO_CONSOLE SEE_MASK_NO_CONSOLE") 01485 cpp_quote("#define CMIC_MASK_HASLINKNAME SEE_MASK_HASLINKNAME") 01486 cpp_quote("#define CMIC_MASK_FLAG_SEP_VDM SEE_MASK_FLAG_SEPVDM") 01487 cpp_quote("#define CMIC_MASK_HASTITLE SEE_MASK_HASTITLE") 01488 cpp_quote("#define CMIC_MASK_ASYNCOK SEE_MASK_ASYNCOK") 01489 cpp_quote("#define CMIC_MASK_NOASYNC SEE_MASK_NOASYNC") 01490 cpp_quote("#define CMIC_MASK_SHIFT_DOWN 0x10000000") 01491 cpp_quote("#define CMIC_MASK_PTINVOKE 0x20000000") 01492 cpp_quote("#define CMIC_MASK_CONTROL_DOWN 0x40000000") 01493 cpp_quote("#define CMIC_MASK_FLAG_LOG_USAGE SEE_MASK_FLAG_LOG_USAGE") 01494 cpp_quote("#define CMIC_MASK_NOZONECHECKS SEE_MASK_NOZONECHECKS") 01495 01496 typedef IContextMenu *LPCONTEXTMENU; 01497 01498 typedef struct tagCMINVOKECOMMANDINFO 01499 { 01500 DWORD cbSize; 01501 DWORD fMask; 01502 HWND hwnd; 01503 LPCSTR lpVerb; 01504 LPCSTR lpParameters; 01505 LPCSTR lpDirectory; 01506 INT nShow; 01507 DWORD dwHotKey; 01508 HANDLE hIcon; 01509 } CMINVOKECOMMANDINFO, *LPCMINVOKECOMMANDINFO; 01510 01511 typedef struct tagCMInvokeCommandInfoEx 01512 { 01513 DWORD cbSize; 01514 DWORD fMask; 01515 HWND hwnd; 01516 LPCSTR lpVerb; 01517 LPCSTR lpParameters; 01518 LPCSTR lpDirectory; 01519 INT nShow; 01520 DWORD dwHotKey; 01521 HANDLE hIcon; 01522 LPCSTR lpTitle; 01523 LPCWSTR lpVerbW; 01524 LPCWSTR lpParametersW; 01525 LPCWSTR lpDirectoryW; 01526 LPCWSTR lpTitleW; 01527 POINT ptInvoke; 01528 } CMINVOKECOMMANDINFOEX, *LPCMINVOKECOMMANDINFOEX; 01529 01530 HRESULT QueryContextMenu( 01531 [in] HMENU hmenu, 01532 [in] UINT indexMenu, 01533 [in] UINT idCmdFirst, 01534 [in] UINT idCmdLast, 01535 [in] UINT uFlags); 01536 01537 HRESULT InvokeCommand( [in] LPCMINVOKECOMMANDINFO lpici ); 01538 01539 HRESULT GetCommandString( 01540 [in] UINT_PTR idCmd, 01541 [in] UINT uType, 01542 [out] UINT *pwReserved, 01543 [out, size_is(cchMax)] LPSTR pszName, 01544 [in] UINT cchMax); 01545 } 01546 01547 01548 /***************************************************************************** 01549 * IContextMenu2 interface 01550 */ 01551 [ 01552 object, 01553 uuid(000214f4-0000-0000-c000-000000000046), 01554 pointer_default(unique), 01555 local 01556 ] 01557 interface IContextMenu2 : IContextMenu 01558 { 01559 typedef IContextMenu2 *LPCONTEXTMENU2; 01560 01561 HRESULT HandleMenuMsg( 01562 [in] UINT uMsg, 01563 [in] WPARAM wParam, 01564 [in] LPARAM lParam); 01565 } 01566 01567 01568 /***************************************************************************** 01569 * IContextMenu3 interface 01570 */ 01571 [ 01572 object, 01573 uuid(bcfce0a0-ec17-11d0-8d10-00a0c90f2719), 01574 pointer_default(unique), 01575 local 01576 ] 01577 interface IContextMenu3 : IContextMenu2 01578 { 01579 typedef IContextMenu3 *LPCONTEXTMENU3; 01580 01581 HRESULT HandleMenuMsg2( 01582 [in] UINT uMsg, 01583 [in] WPARAM wParam, 01584 [in] LPARAM lParam, 01585 [out] LRESULT *plResult); 01586 } 01587 01588 /***************************************************************************** 01589 * IContextMenuCB interface 01590 */ 01591 01592 [ 01593 object, 01594 uuid(3409e930-5a39-11d1-83fa-00a0c90dc849), 01595 pointer_default(unique), 01596 local 01597 ] 01598 interface IContextMenuCB : IUnknown 01599 { 01600 HRESULT CallBack( 01601 [in] IShellFolder *psf, 01602 [in] HWND hwndOwner, 01603 [in] IDataObject *pdtobj, 01604 [in] UINT uMsg, 01605 [in] WPARAM wParam, 01606 [in] LPARAM lParam); 01607 } 01608 01609 /***************************************************************************** 01610 * IShellExecuteHookA interface 01611 */ 01612 [ 01613 object, 01614 uuid(000214f5-0000-0000-c000-000000000046), 01615 pointer_default(unique), 01616 local 01617 ] 01618 interface IShellExecuteHookA : IUnknown 01619 { 01620 cpp_quote("struct _SHELLEXECUTEINFOA;") 01621 HRESULT Execute( 01622 [in, out] struct _SHELLEXECUTEINFOA* pei); 01623 } 01624 01625 01626 /***************************************************************************** 01627 * IShellExecuteHookW interface 01628 */ 01629 [ 01630 object, 01631 uuid(000214fb-0000-0000-c000-000000000046), 01632 pointer_default(unique), 01633 local 01634 ] 01635 interface IShellExecuteHookW : IUnknown 01636 { 01637 cpp_quote("struct _SHELLEXECUTEINFOW;") 01638 HRESULT Execute( 01639 [in, out] struct _SHELLEXECUTEINFOW* pei); 01640 } 01641 01642 /***************************************************************************** 01643 * IShellLinkDataList interface 01644 */ 01645 [ 01646 object, 01647 uuid(45e2b4ae-b1c3-11d0-b92f-00a0c90312e1), 01648 pointer_default(unique) 01649 ] 01650 interface IShellLinkDataList : IUnknown 01651 { 01652 [local] HRESULT AddDataBlock( 01653 [in] void *pDataBlock); 01654 [local] HRESULT CopyDataBlock( 01655 [in] DWORD dwSig, 01656 [out] void **ppDataBlock); 01657 HRESULT RemoveDataBlock( 01658 [in] DWORD dwSig); 01659 HRESULT GetFlags( 01660 [out] DWORD *pdwFlags); 01661 HRESULT SetFlags( 01662 [in] DWORD dwFlags); 01663 } 01664 01665 01666 /***************************************************************************** 01667 * IResolveShellLink interface 01668 */ 01669 [ 01670 object, 01671 uuid(5cd52983-9449-11d2-963a-00c04f79adf0), 01672 pointer_default(unique) 01673 ] 01674 interface IResolveShellLink : IUnknown 01675 { 01676 HRESULT ResolveShellLink( 01677 [in] IUnknown *punk, 01678 [in] HWND hwnd, 01679 [in] DWORD fFlags); 01680 } 01681 01682 01683 /***************************************************************************** 01684 * IURLSearchHook interface 01685 */ 01686 [ 01687 object, 01688 uuid(ac60f6a0-0fd9-11d0-99cb-00c04fd64497), 01689 pointer_default(unique), 01690 local 01691 ] 01692 interface IURLSearchHook : IUnknown 01693 { 01694 HRESULT Translate( 01695 [in, out] LPWSTR lpwszSearchURL, 01696 [in] DWORD cchBufferSize); 01697 } 01698 01699 01700 /***************************************************************************** 01701 * ISearchContext interface 01702 */ 01703 [ 01704 object, 01705 uuid(09f656a2-41af-480c-88f7-16cc0d164615), 01706 pointer_default(unique), 01707 local 01708 ] 01709 interface ISearchContext : IUnknown 01710 { 01711 HRESULT GetSearchUrl( 01712 [in] BSTR *pbstrSearchUrl); 01713 HRESULT GetSearchText( 01714 [in] BSTR *pbstrSearchText); 01715 HRESULT GetSearchStyle( 01716 [in] BSTR *pdwSearchStyle); 01717 } 01718 01719 01720 /***************************************************************************** 01721 * IURLSearchHook2 interface 01722 */ 01723 [ 01724 object, 01725 uuid(5ee44da4-6d32-46e3-86bc-07540dedd0e0), 01726 pointer_default(unique), 01727 local 01728 ] 01729 interface IURLSearchHook2 : IURLSearchHook 01730 { 01731 HRESULT TranslateWithSearchContext( 01732 [in, out] LPWSTR lpwszSearchURL, 01733 [in] DWORD cchBufferSize, 01734 [in] ISearchContext *pSearchContext); 01735 } 01736 01737 01738 cpp_quote("#define INewShortcutHook WINELIB_NAME_AW(INewShortcutHook)") 01739 01740 /***************************************************************************** 01741 * INewShortcutHookA interface 01742 */ 01743 [ 01744 object, 01745 uuid(000214e1-0000-0000-c000-000000000046), 01746 pointer_default(unique), 01747 local 01748 ] 01749 interface INewShortcutHookA : IUnknown 01750 { 01751 HRESULT SetReferent( 01752 [in] LPCSTR pcszReferent, 01753 [in] HWND hwnd); 01754 HRESULT GetReferent( 01755 [out] LPSTR pcszReferent, 01756 [in] int cchReferent); 01757 HRESULT SetFolder( 01758 [in] LPCSTR pcszReferent); 01759 HRESULT GetFolder( 01760 [out] LPSTR pcszReferent, 01761 [in] int cchFolder); 01762 HRESULT GetName( 01763 [out] LPSTR pszName, 01764 [in] int cchName); 01765 HRESULT GetExtension( 01766 [out] LPSTR pszExtension, 01767 [in] int cchExtension); 01768 } 01769 01770 01771 /***************************************************************************** 01772 * INewShortcutHookW interface 01773 */ 01774 [ 01775 object, 01776 uuid(000214f7-0000-0000-c000-000000000046), 01777 pointer_default(unique), 01778 local 01779 ] 01780 interface INewShortcutHookW : IUnknown 01781 { 01782 HRESULT SetReferent( 01783 [in] LPCWSTR pcszReferent, 01784 [in] HWND hwnd); 01785 HRESULT GetReferent( 01786 [out] LPWSTR pcszReferent, 01787 [in] int cchReferent); 01788 HRESULT SetFolder( 01789 [in] LPCWSTR pcszReferent); 01790 HRESULT GetFolder( 01791 [out] LPWSTR pcszReferent, 01792 [in] int cchFolder); 01793 HRESULT GetName( 01794 [out] LPWSTR pszName, 01795 [in] int cchName); 01796 HRESULT GetExtension( 01797 [out] LPWSTR pszExtension, 01798 [in] int cchExtension); 01799 } 01800 01801 /***************************************************************************** 01802 * IRunnableTask interface 01803 */ 01804 [ 01805 object, 01806 uuid(85788d00-6807-11d0-b810-00c04fd706ec), 01807 pointer_default(unique), 01808 local 01809 ] 01810 interface IRunnableTask : IUnknown 01811 { 01812 HRESULT Run(); 01813 HRESULT Kill([in] BOOL fWait); 01814 HRESULT Suspend(); 01815 HRESULT Resume(); 01816 ULONG IsRunning(); 01817 } 01818 01819 /***************************************************************************** 01820 * IShellChangeNotify interface 01821 */ 01822 [ 01823 object, 01824 uuid(d82be2b1-5764-11d0-a96e-00c04fd705a2), 01825 pointer_default(unique), 01826 local 01827 ] 01828 interface IShellChangeNotify : IUnknown 01829 { 01830 HRESULT OnChange( 01831 [in] LONG lEvent, 01832 [in] LPCITEMIDLIST pidl1, 01833 [in] LPCITEMIDLIST pidl2); 01834 } 01835 01836 /***************************************************************************** 01837 * IFileSystemBindData interface 01838 */ 01839 [ 01840 object, 01841 uuid(01e18d10-4d8b-11d2-855d-006008059367), 01842 pointer_default(unique), 01843 local 01844 ] 01845 interface IFileSystemBindData : IUnknown 01846 { 01847 HRESULT SetFindData( 01848 [in] const WIN32_FIND_DATAW *pfd); 01849 HRESULT GetFindData( 01850 [out] WIN32_FIND_DATAW *pfd); 01851 } 01852 01853 /***************************************************************************** 01854 * ITaskbarList interface 01855 */ 01856 [ 01857 object, 01858 uuid(56FDF342-FD6D-11d0-958A-006097C9A090), 01859 pointer_default(unique) 01860 ] 01861 interface ITaskbarList : IUnknown 01862 { 01863 HRESULT HrInit(); 01864 01865 HRESULT AddTab( 01866 [in] HWND hwnd); 01867 01868 HRESULT DeleteTab( 01869 [in] HWND hwnd); 01870 01871 HRESULT ActivateTab( 01872 [in] HWND hwnd); 01873 01874 HRESULT SetActiveAlt( 01875 [in] HWND hwnd); 01876 } 01877 01878 /***************************************************************************** 01879 * IDefaultExtractIconInit interface 01880 */ 01881 01882 [ 01883 object, 01884 uuid(800AB0B8-F5FA-4e72-8FF3-B1A243B87BD9), /* FIXME: wrong value! */ 01885 pointer_default(unique), 01886 local 01887 ] 01888 interface IDefaultExtractIconInit : IUnknown 01889 { 01890 HRESULT SetDefaultIcon( 01891 [in] LPCWSTR pszFile, 01892 [in] int iIcon); 01893 HRESULT SetFlags( 01894 [in] UINT uFlags); 01895 HRESULT SetKey( 01896 [in] HKEY hkey); 01897 HRESULT SetNormalIcon( 01898 [in] LPCWSTR pszFile, 01899 [in] int iIcon); 01900 HRESULT SetOpenIcon( 01901 [in] LPCWSTR pszFile, 01902 [in] int iIcon); 01903 HRESULT SetShortcutIcon( 01904 [in] LPCWSTR pszFile, 01905 [in] int iIcon); 01906 } 01907 01908 /***************************************************************************** 01909 * IDeskBand interface 01910 */ 01911 cpp_quote("#define DBIM_MINSIZE 0x0001") 01912 cpp_quote("#define DBIM_MAXSIZE 0x0002") 01913 cpp_quote("#define DBIM_INTEGRAL 0x0004") 01914 cpp_quote("#define DBIM_ACTUAL 0x0008") 01915 cpp_quote("#define DBIM_TITLE 0x0010") 01916 cpp_quote("#define DBIM_MODEFLAGS 0x0020") 01917 cpp_quote("#define DBIM_BKCOLOR 0x0040") 01918 01919 cpp_quote("#include <pshpack8.h>") 01920 01921 typedef struct tagDESKBANDINFO 01922 { 01923 DWORD dwMask; 01924 POINTL ptMinSize; 01925 POINTL ptMaxSize; 01926 POINTL ptIntegral; 01927 POINTL ptActual; 01928 WCHAR wszTitle[256]; 01929 DWORD dwModeFlags; 01930 COLORREF crBkgnd; 01931 } DESKBANDINFO; 01932 01933 cpp_quote("#include <poppack.h>") 01934 01935 cpp_quote("#define DBIMF_NORMAL 0x0000") 01936 cpp_quote("#define DBIMF_FIXED 0x0001") 01937 cpp_quote("#define DBIMF_FIXEDBMP 0x0004 // a fixed background bitmap (if supported)") 01938 cpp_quote("#define DBIMF_VARIABLEHEIGHT 0x0008") 01939 cpp_quote("#define DBIMF_UNDELETEABLE 0x0010") 01940 cpp_quote("#define DBIMF_DEBOSSED 0x0020") 01941 cpp_quote("#define DBIMF_BKCOLOR 0x0040") 01942 cpp_quote("#define DBIMF_USECHEVRON 0x0080") 01943 cpp_quote("#define DBIMF_BREAK 0x0100") 01944 cpp_quote("#define DBIMF_ADDTOFRONT 0x0200") 01945 cpp_quote("#define DBIMF_TOPALIGN 0x0400") 01946 cpp_quote("#if (NTDDI_VERSION >= NTDDI_LONGHORN)") 01947 cpp_quote("#define DBIMF_NOGRIPPER 0x0800") 01948 cpp_quote("#define DBIMF_ALWAYSGRIPPER 0x1000") 01949 cpp_quote("#define DBIMF_NOMARGINS 0x2000") 01950 cpp_quote("#endif // NTDDI_LONGHORN") 01951 01952 cpp_quote("#define DBIF_VIEWMODE_NORMAL 0x0000") 01953 cpp_quote("#define DBIF_VIEWMODE_VERTICAL 0x0001") 01954 cpp_quote("#define DBIF_VIEWMODE_FLOATING 0x0002") 01955 cpp_quote("#define DBIF_VIEWMODE_TRANSPARENT 0x0004") 01956 01957 enum tagDESKBANDCID { 01958 DBID_BANDINFOCHANGED = 0, 01959 DBID_SHOWONLY = 1, 01960 DBID_MAXIMIZEBAND = 2, 01961 DBID_PUSHCHEVRON = 3, 01962 DBID_DELAYINIT = 4, 01963 DBID_FINISHINIT = 5, 01964 DBID_SETWINDOWTHEME = 6, 01965 DBID_PERMITAUTOHIDE = 7, 01966 }; 01967 01968 cpp_quote("#define DBPC_SELECTFIRST (DWORD)-1") 01969 cpp_quote("#define DBPC_SELECTLAST (DWORD)-2") 01970 01971 cpp_quote("#define CGID_DeskBand IID_IDeskBand") 01972 01973 [ 01974 uuid(EB0FE172-1A3A-11D0-89B3-00A0C90A90AC), 01975 object, 01976 ] 01977 interface IDeskBand : IDockingWindow 01978 { 01979 HRESULT GetBandInfo( 01980 [in] DWORD dwBandID, 01981 [in] DWORD dwViewMode, 01982 [in, out] DESKBANDINFO* pdbi); 01983 } 01984 01985 cpp_quote("#if (_WIN32_IE >= _WIN32_IE_IE60)") 01986 01987 [ 01988 uuid(EB0FE173-1A3A-11D0-89B3-00A0C90A90AC), 01989 object, 01990 pointer_default(unique), 01991 local 01992 ] 01993 interface IDeskBar : IOleWindow 01994 { 01995 HRESULT SetClient([in] IUnknown* punkClient); 01996 01997 HRESULT GetClient([out] IUnknown** ppunkClient); 01998 01999 HRESULT OnPosRectChangeDB([in] RECT *prc); 02000 } 02001 02002 02003 /***************************************************************************** 02004 * IMenuPopup interface 02005 */ 02006 [ 02007 uuid(D1E7AFEB-6A2E-11d0-8C78-00C04FD918B4), 02008 object, 02009 pointer_default(unique), 02010 local 02011 ] 02012 interface IMenuPopup : IDeskBar 02013 { 02014 enum tagMENUPOPUPSELECT 02015 { 02016 MPOS_EXECUTE = 0, 02017 MPOS_FULLCANCEL, 02018 MPOS_CANCELLEVEL, 02019 MPOS_SELECTLEFT, 02020 MPOS_SELECTRIGHT, 02021 MPOS_CHILDTRACKING 02022 }; 02023 02024 enum tagMENUPOPUPPOPUPFLAGS 02025 { 02026 MPPF_SETFOCUS = 0x00000001, 02027 MPPF_INITIALSELECT = 0x00000002, 02028 MPPF_NOANIMATE = 0x00000004, 02029 MPPF_KEYBOARD = 0x00000010, 02030 MPPF_REPOSITION = 0x00000020, 02031 MPPF_FORCEZORDER = 0x00000040, 02032 MPPF_FINALSELECT = 0x00000080, 02033 MPPF_TOP = 0x20000000, 02034 MPPF_LEFT = 0x40000000, 02035 MPPF_RIGHT = 0x60000000, 02036 MPPF_BOTTOM = 0x80000000, 02037 MPPF_POS_MASK = 0xE0000000, 02038 MPPF_ALIGN_LEFT = 0x02000000, 02039 MPPF_ALIGN_RIGHT = 0x04000000 02040 }; 02041 typedef int MP_POPUPFLAGS; 02042 02043 HRESULT Popup( 02044 [in] POINTL *ppt, 02045 [in] RECTL *prcExclude, 02046 [in] MP_POPUPFLAGS dwFlags); 02047 02048 HRESULT OnSelect([in] DWORD dwSelectType); 02049 02050 HRESULT SetSubMenu( 02051 [in] IMenuPopup* pmp, 02052 [in] BOOL fSet); 02053 } 02054 02055 cpp_quote("#endif /* _WIN32_IE_IE60 */") 02056 02057 cpp_quote("#if (_WIN32_IE >= _WIN32_IE_IE40)") 02058 02059 /***************************************************************************** 02060 * IBandSite interface 02061 */ 02062 cpp_quote("#include <pshpack8.h>") 02063 02064 typedef struct tagBANDSITEINFO 02065 { 02066 DWORD dwMask; 02067 DWORD dwState; 02068 DWORD dwStyle; 02069 } BANDSITEINFO; 02070 02071 cpp_quote("#include <poppack.h>") 02072 02073 02074 enum tagBANDSITECID { 02075 BSID_BANDADDED, 02076 BSID_BANDREMOVED, 02077 }; 02078 02079 cpp_quote("#define BSIM_STATE 0x00000001") 02080 cpp_quote("#define BSIM_STYLE 0x00000002") 02081 02082 cpp_quote("#define BSSF_VISIBLE 0x00000001") 02083 cpp_quote("#define BSSF_NOTITLE 0x00000002") 02084 cpp_quote("#define BSSF_UNDELETEABLE 0x00001000") 02085 02086 cpp_quote("#define BSIS_AUTOGRIPPER 0x00000000") 02087 cpp_quote("#define BSIS_NOGRIPPER 0x00000001") 02088 cpp_quote("#define BSIS_ALWAYSGRIPPER 0x00000002") 02089 cpp_quote("#define BSIS_LEFTALIGN 0x00000004") 02090 cpp_quote("#define BSIS_SINGLECLICK 0x00000008") 02091 cpp_quote("#define BSIS_NOCONTEXTMENU 0x00000010") 02092 cpp_quote("#define BSIS_NODROPTARGET 0x00000020") 02093 cpp_quote("#define BSIS_NOCAPTION 0x00000040") 02094 cpp_quote("#define BSIS_PREFERNOLINEBREAK 0x00000080") 02095 cpp_quote("#define BSIS_LOCKED 0x00000100") 02096 cpp_quote("#if (_WIN32_IE >= _WIN32_IE_IE70)") 02097 cpp_quote("#define BSIS_PRESERVEORDERDURINGLAYOUT 0x00000200") 02098 cpp_quote("#endif /* _WIN32_IE_IE70 */") 02099 02100 cpp_quote("#define SID_SBandSite IID_IBandSite") 02101 cpp_quote("#define CGID_BandSite IID_IBandSite") 02102 02103 [ 02104 object, 02105 uuid(4CF504B0-DE96-11D0-8B3F-00A0C911E8E5) 02106 ] 02107 interface IBandSite : IUnknown 02108 { 02109 HRESULT AddBand([in] IUnknown* punk); 02110 02111 HRESULT EnumBands( 02112 [in] UINT uBand, 02113 [out] DWORD* pdwBandID); 02114 02115 HRESULT QueryBand( 02116 [in] DWORD dwBandID, 02117 [out] IDeskBand** ppstb, 02118 [out] DWORD* pdwState, 02119 [out, string, size_is(cchName)] LPWSTR pszName, 02120 [in] int cchName); 02121 02122 HRESULT SetBandState( 02123 [in] DWORD dwBandID, 02124 [in] DWORD dwMask, 02125 [in] DWORD dwState); 02126 02127 HRESULT RemoveBand([in] DWORD dwBandID); 02128 02129 HRESULT GetBandObject( 02130 [in] DWORD dwBandID, 02131 [in] REFIID riid, 02132 [out, iid_is(riid)] void **ppv); 02133 02134 HRESULT SetBandSiteInfo([in] const BANDSITEINFO *pbsinfo); 02135 02136 HRESULT GetBandSiteInfo([in, out] BANDSITEINFO *pbsinfo); 02137 } 02138 02139 cpp_quote("#endif /* _WIN32_IE_IE40 */") 02140 02141 /***************************************************************************** 02142 * IMenuBand interface 02143 */ 02144 [ 02145 uuid(568804CD-CBD7-11d0-9816-00C04FD91972), 02146 object, 02147 pointer_default(unique), 02148 local 02149 ] 02150 interface IMenuBand : IUnknown 02151 { 02152 enum tagMENUBANDHANDLERCID { 02153 MBHANDCID_PIDLSELECT = 0, 02154 }; 02155 02156 HRESULT IsMenuMessage([in] MSG* pmsg); 02157 02158 HRESULT TranslateMenuMessage( 02159 [in, out] MSG* pmsg, 02160 [out] LRESULT* plRet); 02161 } 02162 02163 /***************************************************************************** 02164 * IProfferService interface 02165 */ 02166 [ 02167 uuid(cb728b20-f786-11ce-92ad-00aa00a74cd0), 02168 object, 02169 pointer_default(unique), 02170 local 02171 ] 02172 interface IProfferService : IUnknown 02173 { 02174 HRESULT ProfferService( 02175 [in] REFGUID service, 02176 [in] IServiceProvider *pService, 02177 [out] DWORD *pCookie); 02178 02179 HRESULT RevokeService([in] DWORD cookie); 02180 } 02181 02182 /***************************************************************************** 02183 * IShellMenuCallback interface 02184 */ 02185 cpp_quote("#include <pshpack8.h>") 02186 02187 typedef struct tagSMDATA 02188 { 02189 DWORD dwMask; 02190 DWORD dwFlags; 02191 HMENU hmenu; 02192 HWND hwnd; 02193 UINT uId; 02194 UINT uIdParent; 02195 UINT uIdAncestor; 02196 IUnknown *punk; 02197 LPITEMIDLIST pidlFolder; 02198 LPITEMIDLIST pidlItem; 02199 IShellFolder *psf; 02200 void *pvUserData; 02201 } SMDATA, *LPSMDATA; 02202 02203 cpp_quote("#define SMDM_SHELLFOLDER 0x00000001") 02204 cpp_quote("#define SMDM_HMENU 0x00000002") 02205 cpp_quote("#define SMDM_TOOLBAR 0x00000004") 02206 02207 typedef struct tagSMINFO 02208 { 02209 DWORD dwMask; 02210 DWORD dwType; 02211 DWORD dwFlags; 02212 int iIcon; 02213 } SMINFO, *PSMINFO; 02214 02215 typedef struct tagSHCSCHANGENOTIFYSTRUCT 02216 { 02217 LONG lEvent; 02218 LPCITEMIDLIST pidl1; 02219 LPCITEMIDLIST pidl2; 02220 } SMCSHCHANGENOTIFYSTRUCT, *PSMCSHCHANGENOTIFYSTRUCT; 02221 02222 cpp_quote("#include <poppack.h>") 02223 02224 enum 02225 { 02226 SMIM_TYPE = 0x00000001, 02227 SMIM_FLAGS = 0x00000002, 02228 SMIM_ICON = 0x00000004 02229 }; 02230 02231 enum 02232 { 02233 SMIT_SEPARATOR = 0x00000001, 02234 SMIT_STRING = 0x00000002 02235 }; 02236 02237 enum 02238 { 02239 SMIF_ICON = 0x00000001, 02240 SMIF_ACCELERATOR = 0x00000002, 02241 SMIF_DROPTARGET = 0x00000004, 02242 SMIF_SUBMENU = 0x00000008, 02243 SMIF_CHECKED = 0x00000020, 02244 SMIF_DROPCASCADE = 0x00000040, 02245 SMIF_HIDDEN = 0x00000080, 02246 SMIF_DISABLED = 0x00000100, 02247 SMIF_TRACKPOPUP = 0x00000200, 02248 SMIF_DEMOTED = 0x00000400, 02249 SMIF_ALTSTATE = 0x00000800, 02250 SMIF_DRAGNDROP = 0x00001000, 02251 SMIF_NEW = 0x00002000, 02252 }; 02253 02254 02255 cpp_quote("#define SMC_INITMENU 0x00000001") 02256 cpp_quote("#define SMC_CREATE 0x00000002") 02257 cpp_quote("#define SMC_EXITMENU 0x00000003") 02258 cpp_quote("#define SMC_GETINFO 0x00000005") 02259 cpp_quote("#define SMC_GETSFINFO 0x00000006") 02260 cpp_quote("#define SMC_GETOBJECT 0x00000007") 02261 cpp_quote("#define SMC_GETSFOBJECT 0x00000008") 02262 cpp_quote("#define SMC_SFEXEC 0x00000009") 02263 cpp_quote("#define SMC_SFSELECTITEM 0x0000000A") 02264 cpp_quote("#define SMC_REFRESH 0x00000010") 02265 cpp_quote("#define SMC_DEMOTE 0x00000011") 02266 cpp_quote("#define SMC_PROMOTE 0x00000012") 02267 cpp_quote("#define SMC_DEFAULTICON 0x00000016") 02268 cpp_quote("#define SMC_NEWITEM 0x00000017") 02269 cpp_quote("#define SMC_CHEVRONEXPAND 0x00000019") 02270 cpp_quote("#define SMC_DISPLAYCHEVRONTIP 0x0000002A") 02271 cpp_quote("#define SMC_SETSFOBJECT 0x0000002D") 02272 cpp_quote("#define SMC_SHCHANGENOTIFY 0x0000002E") 02273 cpp_quote("#define SMC_CHEVRONGETTIP 0x0000002F") 02274 cpp_quote("#define SMC_SFDDRESTRICTED 0x00000030") 02275 02276 [ 02277 uuid(4CA300A1-9B8D-11d1-8B22-00C04FD918D0), 02278 object, 02279 pointer_default(unique), 02280 local 02281 ] 02282 interface IShellMenuCallback : IUnknown 02283 { 02284 HRESULT CallbackSM( 02285 [in, out] LPSMDATA psmd, 02286 [in] UINT uMsg, 02287 [in] WPARAM wParam, 02288 [in] LPARAM lParam); 02289 } 02290 02291 02292 /***************************************************************************** 02293 * IShellMenu interface 02294 */ 02295 02296 cpp_quote("#define SMINIT_DEFAULT 0x00000000") 02297 cpp_quote("#define SMINIT_RESTRICT_DRAGDROP 0x00000002") 02298 cpp_quote("#define SMINIT_TOPLEVEL 0x00000004") 02299 cpp_quote("#define SMINIT_CACHED 0x00000010") 02300 cpp_quote("#define SMINIT_VERTICAL 0x10000000") 02301 cpp_quote("#define SMINIT_HORIZONTAL 0x20000000") 02302 cpp_quote("") 02303 cpp_quote("#define ANCESTORDEFAULT (UINT)-1") 02304 cpp_quote("") 02305 cpp_quote("#define SMSET_TOP 0x10000000") 02306 cpp_quote("#define SMSET_BOTTOM 0x20000000") 02307 cpp_quote("#define SMSET_DONTOWN 0x00000001") 02308 cpp_quote("") 02309 cpp_quote("#define SMINV_REFRESH 0x00000001") 02310 cpp_quote("#define SMINV_ID 0x00000008") 02311 02312 [ 02313 uuid(EE1F7637-E138-11d1-8379-00C04FD918D0), 02314 object, 02315 pointer_default(unique), 02316 local 02317 ] 02318 interface IShellMenu : IUnknown 02319 { 02320 HRESULT Initialize( 02321 [in] IShellMenuCallback *psmc, 02322 [in] UINT uId, 02323 [in] UINT uIdAncestor, 02324 [in] DWORD dwFlags); 02325 02326 HRESULT GetMenuInfo( 02327 [out] IShellMenuCallback **ppsmc, 02328 [out] UINT *puId, 02329 [out] UINT *puIdAncestor, 02330 [out] DWORD *pdwFlags); 02331 02332 HRESULT SetShellFolder( 02333 [in] IShellFolder *psf, 02334 [in] LPCITEMIDLIST pidlFolder, 02335 [in] HKEY hKey, 02336 [in] DWORD dwFlags); 02337 02338 HRESULT GetShellFolder( 02339 [out] DWORD *pdwFlags, 02340 [out] LPITEMIDLIST *ppidl, 02341 [in] REFIID riid, 02342 [out] void **ppv); 02343 02344 HRESULT SetMenu( 02345 [in] HMENU hmenu, 02346 [in] HWND hwnd, 02347 [in] DWORD dwFlags); 02348 02349 HRESULT GetMenu( 02350 [out] HMENU *phmenu, 02351 [out] HWND *phwnd, 02352 [out] DWORD *pdwFlags); 02353 02354 HRESULT InvalidateItem( 02355 [in] LPSMDATA psmd, 02356 [in] DWORD dwFlags); 02357 02358 HRESULT GetState( 02359 [out] LPSMDATA psmd); 02360 02361 HRESULT SetMenuToolbar( 02362 [in] IUnknown *punk, 02363 [in] DWORD dwFlags); 02364 } 02365 02366 02367 typedef struct _WINDOWDATA 02368 { 02369 DWORD dwWindowID; 02370 UINT uiCP; 02371 LPITEMIDLIST pidl; 02372 [string] LPWSTR lpszUrl; 02373 [string] LPWSTR lpszUrlLocation; 02374 [string] LPWSTR lpszTitle; 02375 } WINDOWDATA; 02376 02377 typedef WINDOWDATA *LPWINDOWDATA; 02378 typedef const WINDOWDATA *LPCWINDOWDATA; 02379 02380 02381 /***************************************************************************** 02382 * ITravelEntry interface 02383 */ 02384 [ 02385 uuid(F46EDB3B-BC2F-11d0-9412-00AA00A3EBD3), 02386 object, 02387 pointer_default(unique), 02388 local 02389 ] 02390 interface ITravelEntry : IUnknown 02391 { 02392 HRESULT Invoke( 02393 [in] IUnknown *punk); 02394 02395 HRESULT Update( 02396 [in] IUnknown *punk, 02397 BOOL fIsLocalAnchor); 02398 02399 HRESULT GetPidl( 02400 [in] LPITEMIDLIST *ppidl); 02401 }; 02402 02403 02404 /***************************************************************************** 02405 * ITravelLogClient interface 02406 */ 02407 [ 02408 uuid(241c033e-e659-43da-aa4d-4086dbc4758d), 02409 object, 02410 pointer_default(unique), 02411 local 02412 ] 02413 interface ITravelLogClient : IUnknown 02414 { 02415 HRESULT FindWindowByIndex( 02416 [in] DWORD dwID, 02417 [out] IUnknown **ppunk); 02418 02419 HRESULT GetWindowData( 02420 [out] LPWINDOWDATA pWinData); 02421 02422 HRESULT LoadHistoryPosition( 02423 [in] LPWSTR pszUrlLocation, 02424 [in] DWORD dwPosition); 02425 }; 02426 02427 02428 /***************************************************************************** 02429 * ITravelLog interface 02430 */ 02431 [ 02432 uuid(66A9CB08-4802-11d2-A561-00A0C92DBFE8), 02433 object, 02434 pointer_default(unique), 02435 local 02436 ] 02437 interface ITravelLog : IUnknown 02438 { 02439 enum tagTLENUMF 02440 { 02441 TLEF_RELATIVE_INCLUDE_CURRENT = 0x00000001, 02442 TLEF_RELATIVE_BACK = 0x00000010, 02443 TLEF_RELATIVE_FORE = 0x00000020, 02444 TLEF_INCLUDE_UNINVOKEABLE = 0x00000040, 02445 TLEF_ABSOLUTE = 0x00000031, 02446 }; 02447 typedef DWORD TLENUMF; 02448 02449 HRESULT AddEntry( 02450 [in] IUnknown *punk, 02451 BOOL fIsLocalAnchor); 02452 02453 HRESULT UpdateEntry( 02454 [in] IUnknown *punk, 02455 BOOL fIsLocalAnchor); 02456 02457 HRESULT UpdateExternal( 02458 [in] IUnknown *punk, 02459 [in] IUnknown *punkHLBrowseContext); 02460 02461 HRESULT Travel( 02462 [in] IUnknown *punk, 02463 int iOffset); 02464 02465 HRESULT GetTravelEntry( 02466 [in] IUnknown *punk, 02467 int iOffset, 02468 [out] ITravelEntry **ppte); 02469 02470 HRESULT FindTravelEntry( 02471 [in] IUnknown *punk, 02472 [in] LPCITEMIDLIST pidl, 02473 [out] ITravelEntry **ppte); 02474 02475 HRESULT GetToolTipText( 02476 [in] IUnknown *punk, 02477 int iOffset, 02478 int idsTemplate, 02479 [out] LPWSTR pwzText, 02480 DWORD cchText); 02481 02482 HRESULT InsertMenuEntries( 02483 [in] IUnknown *punk, 02484 [in, out] HMENU hmenu, 02485 int nPos, 02486 int idFirst, 02487 int idLast, 02488 DWORD dwFlags); 02489 02490 HRESULT Clone( 02491 [out] ITravelLog **pptl); 02492 02493 DWORD CountEntries( 02494 [in] IUnknown *punk); 02495 02496 HRESULT Revert(); 02497 }; 02498 02499 /***************************************************************************** 02500 * IShellService interface 02501 */ 02502 [ 02503 object, 02504 uuid(5836FB00-8187-11CF-A12B-00AA004AE837), 02505 pointer_default(unique), 02506 local 02507 ] 02508 interface IShellService : IUnknown 02509 { 02510 HRESULT SetOwner( 02511 [in] IUnknown *owner); 02512 }; 02513 02514 /***************************************************************************** 02515 * IShellBrowser interface 02516 */ 02517 [ 02518 object, 02519 uuid(02BA3B52-0547-11D1-B833-00C04FC9B31F), 02520 pointer_default(unique), 02521 local 02522 ] 02523 interface IBrowserService : IUnknown 02524 { 02525 typedef enum tagBNSTATE 02526 { 02527 BNS_NORMAL = 0, 02528 BNS_BEGIN_NAVIGATE = 1, 02529 BNS_NAVIGATE = 2 02530 } BNSTATE; 02531 02532 cpp_quote("#include <pshpack8.h>") 02533 typedef struct basebrowserdataxp 02534 { 02535 HWND _hwnd; 02536 ITravelLog *_ptl; 02537 IUnknown *_phlf; 02538 IUnknown *_pautoWB2; 02539 IUnknown *_pautoEDS; 02540 IShellService *_pautoSS; 02541 int _eSecureLockIcon; 02542 DWORD _fCreatingViewWindow; 02543 UINT _uActivateState; 02544 LPITEMIDLIST _pidlViewState; 02545 IOleCommandTarget *_pctView; 02546 LPITEMIDLIST _pidlCur; 02547 IShellView *_psv; 02548 IShellFolder *_psf; 02549 HWND _hwndView; 02550 LPWSTR _pszTitleCur; 02551 LPITEMIDLIST _pidlPending; 02552 IShellView *_psvPending; 02553 IShellFolder *_psfPending; 02554 HWND _hwndViewPending; 02555 LPWSTR _pszTitlePending; 02556 BOOL _fIsViewMSHTML; 02557 BOOL _fPrivacyImpacted; 02558 CLSID _clsidView; 02559 CLSID _clsidViewPending; 02560 HWND _hwndFrame; 02561 } BASEBROWSERDATAXP; 02562 typedef struct basebrowserdataxp *LPBASEBROWSERDATAXP; 02563 02564 typedef struct basebrowserdatalh 02565 { 02566 HWND _hwnd; 02567 ITravelLog *_ptl; 02568 IUnknown *_phlf; 02569 IUnknown *_pautoWB2; 02570 IUnknown *_pautoEDS; 02571 IShellService *_pautoSS; 02572 int _eSecureLockIcon; 02573 DWORD _fCreatingViewWindow; 02574 UINT _uActivateState; 02575 LPITEMIDLIST _pidlViewState; 02576 IOleCommandTarget *_pctView; 02577 LPITEMIDLIST _pidlCur; 02578 IShellView *_psv; 02579 IShellFolder *_psf; 02580 HWND _hwndView; 02581 LPWSTR _pszTitleCur; 02582 LPITEMIDLIST _pidlPending; 02583 IShellView *_psvPending; 02584 IShellFolder *_psfPending; 02585 HWND _hwndViewPending; 02586 LPWSTR _pszTitlePending; 02587 BOOL _fIsViewMSHTML; 02588 BOOL _fPrivacyImpacted; 02589 CLSID _clsidView; 02590 CLSID _clsidViewPending; 02591 HWND _hwndFrame; 02592 LONG _lPhishingFilterStatus; 02593 } BASEBROWSERDATALH; 02594 cpp_quote("#include <poppack.h>") 02595 typedef struct basebrowserdatalh *LPBASEBROWSERDATALH; 02596 02597 typedef BASEBROWSERDATAXP BASEBROWSERDATA; 02598 02599 typedef const BASEBROWSERDATA *LPCBASEBROWSERDATA; 02600 02601 typedef BASEBROWSERDATA *LPBASEBROWSERDATA; 02602 02603 cpp_quote("#if 0") 02604 typedef HANDLE HMONITOR; 02605 cpp_quote("#endif /* 0 */") 02606 02607 typedef struct SToolbarItem 02608 { 02609 IDockingWindow *ptbar; 02610 BORDERWIDTHS rcBorderTool; 02611 LPWSTR pwszItem; 02612 BOOL fShow; 02613 HMONITOR hMon; 02614 } TOOLBARITEM; 02615 02616 typedef struct SToolbarItem *LPTOOLBARITEM; 02617 02618 HRESULT GetParentSite( 02619 [out] IOleInPlaceSite **ppipsite); 02620 02621 HRESULT SetTitle( 02622 [in] IShellView *psv, 02623 [in] LPCWSTR pszName); 02624 02625 HRESULT GetTitle( 02626 [in] IShellView *psv, 02627 [out] LPWSTR pszName, 02628 DWORD cchName); 02629 02630 HRESULT GetOleObject( 02631 [out] IOleObject **ppobjv); 02632 02633 HRESULT GetTravelLog( 02634 [out] ITravelLog **pptl); 02635 02636 HRESULT ShowControlWindow( 02637 UINT id, 02638 BOOL fShow); 02639 02640 HRESULT IsControlWindowShown( 02641 UINT id, 02642 [out] BOOL *pfShown); 02643 02644 HRESULT IEGetDisplayName( 02645 [in] LPCITEMIDLIST pidl, 02646 [out] LPWSTR pwszName, 02647 UINT uFlags); 02648 02649 HRESULT IEParseDisplayName( 02650 UINT uiCP, 02651 [in] LPCWSTR pwszPath, 02652 [out] LPCITEMIDLIST *ppidlOut); 02653 02654 HRESULT DisplayParseError( 02655 HRESULT hres, 02656 [in] LPCWSTR pwszPath); 02657 02658 HRESULT NavigateToPidl( 02659 [in] LPCITEMIDLIST pidl, 02660 DWORD grfHLNF); 02661 02662 HRESULT SetNavigateState( 02663 BNSTATE bnstate); 02664 02665 HRESULT GetNavigateState( 02666 [out] BNSTATE *pbnstate); 02667 02668 HRESULT NotifyRedirect( 02669 [in] IShellView *psv, 02670 [in] LPCITEMIDLIST pidl, 02671 [out] BOOL *pfDidBrowse); 02672 02673 HRESULT UpdateWindowList(); 02674 02675 HRESULT UpdateBackForwardState(); 02676 02677 HRESULT SetFlags( 02678 DWORD dwFlags, 02679 DWORD dwFlagMask); 02680 02681 HRESULT GetFlags( 02682 [out] DWORD *pdwFlags); 02683 02684 HRESULT CanNavigateNow(); 02685 02686 HRESULT GetPidl( 02687 [out] LPCITEMIDLIST *ppidl); 02688 02689 HRESULT SetReferrer( 02690 [in] LPCITEMIDLIST pidl); 02691 02692 DWORD GetBrowserIndex(); 02693 02694 HRESULT GetBrowserByIndex( 02695 DWORD dwID, 02696 [out] IUnknown **ppunk); 02697 02698 HRESULT GetHistoryObject( 02699 [out] IOleObject **ppole, 02700 [out] IStream **pstm, 02701 [out] IBindCtx **ppbc); 02702 02703 HRESULT SetHistoryObject( 02704 [in] IOleObject *pole, 02705 BOOL fIsLocalAnchor); 02706 02707 HRESULT CacheOLEServer( 02708 [in] IOleObject *pole); 02709 02710 HRESULT GetSetCodePage( 02711 [in] VARIANT *pvarIn, 02712 [out] VARIANT *pvarOut); 02713 02714 HRESULT OnHttpEquiv( 02715 [in] IShellView *psv, 02716 BOOL fDone, 02717 [in] VARIANT *pvarargIn, 02718 [out] VARIANT *pvarargOut); 02719 02720 HRESULT GetPalette( 02721 [out] HPALETTE *hpal); 02722 02723 HRESULT RegisterWindow( 02724 BOOL fForceRegister, 02725 int swc); 02726 } 02727 02728 02729 /***************************************************************************** 02730 * IShellBrowser2 interface 02731 */ 02732 [ 02733 uuid(68BD21CC-438B-11D2-A560-00A0C92DBFE8), 02734 object, 02735 pointer_default(unique), 02736 local 02737 ] 02738 interface IBrowserService2 : IBrowserService 02739 { 02740 typedef struct tagFolderSetData 02741 { 02742 FOLDERSETTINGS _fs; 02743 SHELLVIEWID _vidRestore; 02744 DWORD _dwViewPriority; 02745 } FOLDERSETDATA; 02746 02747 typedef struct tagFolderSetData *LPFOLDERSETDATA; 02748 02749 LRESULT WndProcBS( 02750 [in] HWND hwnd, 02751 UINT uMsg, 02752 WPARAM wParam, 02753 LPARAM lParam); 02754 02755 HRESULT SetAsDefFolderSettings(); 02756 02757 HRESULT GetViewRect( 02758 [out] RECT *prc); 02759 02760 HRESULT OnSize( 02761 WPARAM wParam); 02762 02763 HRESULT OnCreate( 02764 [in] struct tagCREATESTRUCTW *pcs); 02765 02766 LRESULT OnCommand( 02767 WPARAM wParam, 02768 LPARAM lParam); 02769 02770 HRESULT OnDestroy(); 02771 02772 LRESULT OnNotify( 02773 [in] struct tagNMHDR *pnm); 02774 02775 HRESULT OnSetFocus(); 02776 02777 HRESULT OnFrameWindowActivateBS( 02778 BOOL fActive); 02779 02780 HRESULT ReleaseShellView(); 02781 02782 HRESULT ActivatePendingView(); 02783 02784 HRESULT CreateViewWindow( 02785 [in] IShellView *psvNew, 02786 [in] IShellView *psvOld, 02787 [in] LPRECT prcView, 02788 [out] HWND *phwnd); 02789 02790 HRESULT CreateBrowserPropSheetExt( 02791 [in] REFIID riid, 02792 [out] void **ppv); 02793 02794 HRESULT GetViewWindow( 02795 [out] HWND *phwndView); 02796 02797 HRESULT GetBaseBrowserData( 02798 [out] LPCBASEBROWSERDATA *pbbd); 02799 02800 LPBASEBROWSERDATA PutBaseBrowserData(); 02801 02802 HRESULT InitializeTravelLog( 02803 [in] ITravelLog *ptl, 02804 DWORD dw); 02805 02806 HRESULT SetTopBrowser(); 02807 02808 HRESULT Offline( 02809 int iCmd); 02810 02811 HRESULT AllowViewResize( 02812 BOOL f); 02813 02814 HRESULT SetActivateState( 02815 UINT u); 02816 02817 HRESULT UpdateSecureLockIcon( 02818 int eSecureLock); 02819 02820 HRESULT InitializeDownloadManager(); 02821 02822 HRESULT InitializeTransitionSite(); 02823 02824 HRESULT _Initialize( 02825 [in] HWND hwnd, 02826 [in] IUnknown *pauto); 02827 02828 HRESULT _CancelPendingNavigationAsync(); 02829 02830 HRESULT _CancelPendingView(); 02831 02832 HRESULT _MaySaveChanges(); 02833 02834 HRESULT _PauseOrResumeView( 02835 BOOL fPaused); 02836 02837 HRESULT _DisableModeless(); 02838 02839 HRESULT _NavigateToPidl( 02840 [in] LPCITEMIDLIST pidl, 02841 DWORD grfHLNF, 02842 DWORD dwFlags); 02843 02844 HRESULT _TryShell2Rename( 02845 [in] IShellView *psv, 02846 [in] LPCITEMIDLIST pidlNew); 02847 02848 HRESULT _SwitchActivationNow(); 02849 02850 HRESULT _ExecChildren( 02851 [in] IUnknown *punkBar, 02852 BOOL fBroadcast, 02853 [in] const GUID *pguidCmdGroup, 02854 DWORD nCmdID, 02855 DWORD nCmdexecopt, 02856 [in] VARIANTARG *pvarargIn, 02857 [in, out] VARIANTARG *pvarargOut); 02858 02859 HRESULT _SendChildren( 02860 [in] HWND hwndBar, 02861 BOOL fBroadcast, 02862 UINT uMsg, 02863 WPARAM wParam, 02864 LPARAM lParam); 02865 02866 HRESULT GetFolderSetData( 02867 [out] struct tagFolderSetData *pfsd); 02868 02869 HRESULT _OnFocusChange( 02870 UINT itb); 02871 02872 HRESULT v_ShowHideChildWindows( 02873 BOOL fChildOnly); 02874 02875 UINT _get_itbLastFocus(); 02876 02877 HRESULT _put_itbLastFocus( 02878 UINT itbLastFocus); 02879 02880 HRESULT _UIActivateView( 02881 UINT uState); 02882 02883 HRESULT _GetViewBorderRect( 02884 [out] RECT *prc); 02885 02886 HRESULT _UpdateViewRectSize(); 02887 02888 HRESULT _ResizeNextBorder( 02889 UINT itb); 02890 02891 HRESULT _ResizeView(); 02892 02893 HRESULT _GetEffectiveClientArea( 02894 [out] LPRECT lprectBorder, 02895 [in] HMONITOR hmon); 02896 02897 IStream *v_GetViewStream( 02898 [in] LPCITEMIDLIST pidl, 02899 DWORD grfMode, 02900 [in] LPCWSTR pwszName); 02901 02902 LRESULT ForwardViewMsg( 02903 UINT uMsg, 02904 WPARAM wParam, 02905 LPARAM lParam); 02906 02907 HRESULT SetAcceleratorMenu( 02908 [in] HACCEL hacc); 02909 02910 int _GetToolbarCount(); 02911 02912 LPTOOLBARITEM _GetToolbarItem( 02913 int itb); 02914 02915 HRESULT _SaveToolbars( 02916 [in] IStream *pstm); 02917 02918 HRESULT _LoadToolbars( 02919 [in] IStream *pstm); 02920 02921 HRESULT _CloseAndReleaseToolbars( 02922 BOOL fClose); 02923 02924 HRESULT v_MayGetNextToolbarFocus( 02925 [in] LPMSG lpMsg, 02926 UINT itbNext, 02927 int citb, 02928 [out] LPTOOLBARITEM *pptbi, 02929 [out] HWND *phwnd); 02930 02931 HRESULT _ResizeNextBorderHelper( 02932 UINT itb, 02933 BOOL bUseHmonitor); 02934 02935 UINT _FindTBar( 02936 [in] IUnknown *punkSrc); 02937 02938 HRESULT _SetFocus( 02939 [in] LPTOOLBARITEM ptbi, 02940 [in] HWND hwnd, 02941 [in] LPMSG lpMsg); 02942 02943 HRESULT v_MayTranslateAccelerator( 02944 [in] MSG *pmsg); 02945 02946 HRESULT _GetBorderDWHelper( 02947 [in] IUnknown *punkSrc, 02948 [out] LPRECT lprectBorder, 02949 BOOL bUseHmonitor); 02950 02951 HRESULT v_CheckZoneCrossing( 02952 [in] LPCITEMIDLIST pidl); 02953 } 02954 02955 02956 /***************************************************************************** 02957 * IShellBrowser3 interface 02958 */ 02959 [ 02960 uuid(27D7CE21-762D-48F3-86F3-40E2FD3749C4), 02961 object, 02962 pointer_default(unique), 02963 local 02964 ] 02965 interface IBrowserService3 : IBrowserService2 02966 { 02967 HRESULT _PositionViewWindow( 02968 [in] HWND hwnd, 02969 [in] LPRECT prc); 02970 02971 HRESULT IEParseDisplayNameEx( 02972 UINT uiCP, 02973 [in] LPCWSTR pwszPath, 02974 DWORD dwFlags, 02975 [out] LPITEMIDLIST *ppidlOut); 02976 } 02977 02978 02979 /***************************************************************************** 02980 * IShellBrowser4 interface 02981 */ 02982 [ 02983 uuid(639f1bff-e135-4096-abd8-e0f504d649a4), 02984 object, 02985 pointer_default(unique), 02986 local 02987 ] 02988 interface IBrowserService4 : IBrowserService3 02989 { 02990 HRESULT ActivateView( 02991 BOOL fPendingView); 02992 02993 HRESULT SaveViewState(); 02994 02995 HRESULT _ResizeAllBorders(); 02996 } 02997 02998 cpp_quote("#if (_WIN32_IE >= _WIN32_IE_IE60)") 02999 03000 /***************************************************************************** 03001 * ITrackShellMenu interface 03002 */ 03003 [ 03004 uuid(8278F932-2A3E-11d2-838F-00C04FD918D0), 03005 object, 03006 pointer_default(unique), 03007 local 03008 ] 03009 interface ITrackShellMenu : IShellMenu 03010 { 03011 HRESULT SetObscured( 03012 [in] HWND hwndTB, 03013 [in] IUnknown *punkBand, 03014 DWORD dwSMSetFlags); 03015 03016 HRESULT Popup( 03017 [in] HWND hwnd, 03018 [in] POINTL *ppt, 03019 [in] RECTL *prcExclude, 03020 MP_POPUPFLAGS dwFlags); 03021 }; 03022 03023 cpp_quote("#endif /* _WIN32_IE_IE60 */") 03024 03025 cpp_quote("#ifdef MIDL_PASS") 03026 typedef IUnknown* HIMAGELIST; 03027 cpp_quote("#endif") 03028 03029 typedef [v1_enum] enum THUMBBUTTONFLAGS { 03030 THBF_ENABLED = 0x0000, 03031 THBF_DISABLED = 0x0001, 03032 THBF_DISMISSONCLICK = 0x0002, 03033 THBF_NOBACKGROUND = 0x0004, 03034 THBF_HIDDEN = 0x0008, 03035 THBF_NONINTERACTIVE = 0x0010 03036 } THUMBBUTTONFLAGS; 03037 03038 cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(THUMBBUTTONFLAGS)") 03039 03040 typedef [v1_enum] enum THUMBBUTTONMASK { 03041 THB_BITMAP = 0x0001, 03042 THB_ICON = 0x0002, 03043 THB_TOOLTIP = 0x0004, 03044 THB_FLAGS = 0x0008 03045 } THUMBBUTTONMASK; 03046 03047 cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(THUMBBUTTONMASK)") 03048 03049 cpp_quote("#include <pshpack8.h>") 03050 typedef struct THUMBBUTTON { 03051 THUMBBUTTONMASK dwMask; 03052 UINT iId; 03053 UINT iBitmap; 03054 HICON hIcon; 03055 WCHAR szTip[260]; 03056 THUMBBUTTONFLAGS dwFlags; 03057 } THUMBBUTTON, *LPTHUMBBUTTON; 03058 cpp_quote("#include <poppack.h>") 03059 03060 /***************************************************************************** 03061 * ITaskbarList2 interface 03062 */ 03063 [ 03064 object, 03065 uuid(602D4995-B13A-429B-A66E-1935E44F4317), 03066 pointer_default(unique) 03067 ] 03068 interface ITaskbarList2 : ITaskbarList 03069 { 03070 HRESULT MarkFullscreenWindow( 03071 [in] HWND hwnd, 03072 [in] BOOL fullscreen); 03073 } 03074 03075 [ 03076 uuid(ea1afb91-9e28-4b86-90e9-9e9f8a5eefaf), 03077 object 03078 ] 03079 interface ITaskbarList3 : ITaskbarList2 03080 { 03081 typedef [v1_enum] enum TBPFLAG { 03082 TBPF_NOPROGRESS = 0x0000, 03083 TBPF_INDETERMINATE = 0x0001, 03084 TBPF_NORMAL = 0x0002, 03085 TBPF_ERROR = 0x0004, 03086 TBPF_PAUSED = 0x0008 03087 } TBPFLAG; 03088 03089 cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(TBPFLAG)") 03090 03091 HRESULT SetProgressValue( 03092 [in] HWND hwnd, 03093 [in] ULONGLONG ullCompleted, 03094 [in] ULONGLONG ullTotal); 03095 03096 HRESULT SetProgressState( 03097 [in] HWND hwnd, 03098 [in] TBPFLAG tbpFlags); 03099 03100 HRESULT RegisterTab( 03101 [in] HWND hwndTab, 03102 [in] HWND hwndMDI); 03103 03104 HRESULT UnregisterTab([in] HWND hwndTab); 03105 03106 HRESULT SetTabOrder( 03107 [in] HWND hwndTab, 03108 [in] HWND hwndInsertBefore); 03109 03110 HRESULT SetTabActive( 03111 [in] HWND hwndTab, 03112 [in] HWND hwndMDI, 03113 [in] DWORD dwReserved); 03114 03115 HRESULT ThumbBarAddButtons( 03116 [in] HWND hwnd, 03117 [in] UINT cButtons, 03118 [in, size_is(cButtons)] LPTHUMBBUTTON pButton); 03119 03120 HRESULT ThumbBarUpdateButtons( 03121 [in] HWND hwnd, 03122 [in] UINT cButtons, 03123 [in, size_is(cButtons)] LPTHUMBBUTTON pButton); 03124 03125 HRESULT ThumbBarSetImageList( 03126 [in] HWND hwnd, 03127 [in] HIMAGELIST himl); 03128 03129 HRESULT SetOverlayIcon( 03130 [in] HWND hwnd, 03131 [in] HICON hIcon, 03132 [in, unique, string] LPCWSTR pszDescription); 03133 03134 HRESULT SetThumbnailTooltip( 03135 [in] HWND hwnd, 03136 [in, unique, string] LPCWSTR pszTip); 03137 03138 HRESULT SetThumbnailClip( 03139 [in] HWND hwnd, 03140 [in] RECT *prcClip); 03141 } 03142 03143 [ 03144 uuid(c43dc798-95d1-4bea-9030-bb99e2983a1a), 03145 object 03146 ] 03147 interface ITaskbarList4 : ITaskbarList3 03148 { 03149 typedef [v1_enum] enum STPFLAG { 03150 STPF_NONE = 0x0000, 03151 STPF_USEAPPTHUMBNAILALWAYS = 0x0001, 03152 STPF_USEAPPTHUMBNAILWHENACTIVE = 0x0002, 03153 STPF_USEAPPPEEKALWAYS = 0x0004, 03154 STPF_USEAPPPEEKWHENACTIVE = 0x0008 03155 } STPFLAG; 03156 03157 cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(STPFLAG)") 03158 03159 HRESULT SetTabProperties( 03160 [in] HWND hwndTab, 03161 [in] STPFLAG stpFlags); 03162 } 03163 03164 /***************************************************************************** 03165 * IAutoCompleteDropDown interface 03166 */ 03167 [ 03168 object, 03169 uuid(3CD141F4-3C6A-11d2-BCAA-00C04FD929DB), 03170 pointer_default(unique) 03171 ] 03172 interface IAutoCompleteDropDown : IUnknown 03173 { 03174 cpp_quote("#define ACDD_VISIBLE 0x0001") 03175 03176 HRESULT GetDropDownStatus( 03177 [out] DWORD *pdwFlags, 03178 [out, string] LPWSTR *ppwszString); 03179 03180 HRESULT ResetEnumerator(); 03181 } 03182 03183 /***************************************************************************** 03184 * IExplorerBrowserEvents interface 03185 */ 03186 [ 03187 object, 03188 uuid(361BBDC7-E6EE-4E13-BE58-58E2240C810F) 03189 ] 03190 interface IExplorerBrowserEvents : IUnknown 03191 { 03192 HRESULT OnNavigationPending( 03193 [in] PCIDLIST_ABSOLUTE pidlFolder); 03194 03195 HRESULT OnViewCreated( 03196 [in] IShellView *psv); 03197 03198 HRESULT OnNavigationComplete( 03199 [in] PCIDLIST_ABSOLUTE pidlFolder); 03200 03201 HRESULT OnNavigationFailed( 03202 [in] PCIDLIST_ABSOLUTE pidlFolder); 03203 } 03204 03205 typedef GUID EXPLORERPANE; 03206 typedef EXPLORERPANE *REFEXPLORERPANE; 03207 03208 cpp_quote("#define SID_ExplorerPaneVisibility IID_IExplorerPaneVisibility") 03209 03210 /***************************************************************************** 03211 * IExplorerPaneVisibility interface 03212 */ 03213 [ 03214 object, 03215 uuid(E07010EC-BC17-44C0-97B0-46C7C95B9EDC) 03216 ] 03217 interface IExplorerPaneVisibility : IUnknown 03218 { 03219 typedef enum tagEXPLORERPANESTATE { 03220 EPS_DONTCARE = 0x0, 03221 EPS_DEFAULT_ON = 0x1, 03222 EPS_DEFAULT_OFF = 0x2, 03223 EPS_STATE_MASK = 0xffff, 03224 EPS_INITIALSTATE = 0x10000, 03225 EPS_FORCE = 0x20000 03226 } EXPLORERPANESTATE; 03227 03228 HRESULT GetPaneState( 03229 [in] REFEXPLORERPANE ep, 03230 [out] EXPLORERPANESTATE *peps); 03231 } 03232 03233 typedef [v1_enum] enum tagEXPLORER_BROWSER_FILL_FLAGS { 03234 EBF_NONE = 0, 03235 EBF_SELECTFROMDATAOBJECT = 0x100, 03236 EBF_NODROPTARGET = 0x200 03237 } EXPLORER_BROWSER_FILL_FLAGS; 03238 03239 typedef [v1_enum] enum tagEXPLORER_BROWSER_OPTIONS { 03240 EBO_NONE = 0x00, 03241 EBO_NAVIGATEONCE = 0x01, 03242 EBO_SHOWFRAMES = 0x02, 03243 EBO_ALWAYSNAVIGATE = 0x04, 03244 EBO_NOTRAVELLOG = 0x08, 03245 EBO_NOWRAPPERWINDOW = 0x10, 03246 EBO_HTMLSHAREPOINTVIEW = 0x20 03247 } EXPLORER_BROWSER_OPTIONS; 03248 03249 cpp_quote("#define SID_SExplorerBrowserFrame IID_ICommDlgBrowser") 03250 03251 /***************************************************************************** 03252 * IExplorerBrowser interface 03253 */ 03254 [ 03255 object, 03256 uuid(DFD3B6B5-C10C-4BE9-85F6-A66969F402F6), 03257 pointer_default(unique) 03258 ] 03259 interface IExplorerBrowser : IUnknown 03260 { 03261 03262 [local] HRESULT Initialize( 03263 [in] HWND hwndParent, 03264 [in] const RECT *prc, 03265 [in, unique] const FOLDERSETTINGS *pfs); 03266 03267 HRESULT Destroy(); 03268 03269 [local] HRESULT SetRect( 03270 [in,out,unique] HDWP *phdwp, 03271 [in] RECT rcBrowser); 03272 03273 HRESULT SetPropertyBag( 03274 [in, string] LPCWSTR pszPropertyBag); 03275 03276 HRESULT SetEmptyText( 03277 [in, string] LPCWSTR pszEmptyText); 03278 03279 HRESULT SetFolderSettings( 03280 [in] const FOLDERSETTINGS *pfs); 03281 03282 HRESULT Advise( 03283 [in] IExplorerBrowserEvents *psbe, 03284 [out] DWORD *pdwCookie); 03285 03286 HRESULT Unadvise( 03287 [in] DWORD dwCookie); 03288 03289 HRESULT SetOptions( 03290 [in] EXPLORER_BROWSER_OPTIONS dwFlag); 03291 03292 HRESULT GetOptions( 03293 [out] EXPLORER_BROWSER_OPTIONS *pdwFlag); 03294 03295 HRESULT BrowseToIDList( 03296 [in] PCUIDLIST_RELATIVE pidl, 03297 [in] UINT uFlags); 03298 03299 HRESULT BrowseToObject( 03300 [in] IUnknown *punk, 03301 [in] UINT uFlags); 03302 03303 HRESULT FillFromObject( 03304 [in] IUnknown *punk, 03305 [in] EXPLORER_BROWSER_FILL_FLAGS dwFlags); 03306 03307 HRESULT RemoveAll(); 03308 03309 HRESULT GetCurrentView( 03310 [in] REFIID riid, 03311 [out, iid_is(riid)] void **ppv); 03312 } 03313 03314 /***************************************************************************** 03315 * INameSpaceTreeControl interface 03316 */ 03317 [ 03318 object, 03319 uuid(028212A3-B627-47E9-8856-C14265554E4F) 03320 ] 03321 interface INameSpaceTreeControl : IUnknown 03322 { 03323 [v1_enum] enum _NSTCSTYLE { 03324 NSTCS_HASEXPANDOS = 0x00000001, 03325 NSTCS_HASLINES = 0x00000002, 03326 NSTCS_SINGLECLICKEXPAND = 0x00000004, 03327 NSTCS_FULLROWSELECT = 0x00000008, 03328 NSTCS_SPRINGEXPAND = 0x00000010, 03329 NSTCS_HORIZONTALSCROLL = 0x00000020, 03330 NSTCS_ROOTHASEXPANDO = 0x00000040, 03331 NSTCS_SHOWSELECTIONALWAYS = 0x00000080, 03332 NSTCS_NOINFOTIP = 0x00000200, 03333 NSTCS_EVENHEIGHT = 0x00000400, 03334 NSTCS_NOREPLACEOPEN = 0x00000800, 03335 NSTCS_DISABLEDRAGDROP = 0x00001000, 03336 NSTCS_NOORDERSTREAM = 0x00002000, 03337 NSTCS_RICHTOOLTIP = 0x00004000, 03338 NSTCS_BORDER = 0x00008000, 03339 NSTCS_NOEDITLABELS = 0x00010000, 03340 NSTCS_TABSTOP = 0x00020000, 03341 NSTCS_FAVORITESMODE = 0x00080000, 03342 NSTCS_AUTOHSCROLL = 0x00100000, 03343 NSTCS_FADEINOUTEXPANDOS = 0x00200000, 03344 NSTCS_EMPTYTEXT = 0x00400000, 03345 NSTCS_CHECKBOXES = 0x00800000, 03346 NSTCS_PARTIALCHECKBOXES = 0x01000000, 03347 NSTCS_EXCLUSIONCHECKBOXES = 0x02000000, 03348 NSTCS_DIMMEDCHECKBOXES = 0x04000000, 03349 NSTCS_NOINDENTCHECKS = 0x08000000, 03350 NSTCS_ALLOWJUNCTIONS = 0x10000000, 03351 NSTCS_SHOWTABSBUTTON = 0x20000000, 03352 NSTCS_SHOWDELETEBUTTON = 0x40000000, 03353 NSTCS_SHOWREFRESHBUTTON = (int)0x80000000 03354 }; 03355 typedef DWORD NSTCSTYLE; 03356 03357 [v1_enum] enum _NSTCROOTSTYLE { 03358 NSTCRS_VISIBLE = 0x0000, 03359 NSTCRS_HIDDEN = 0x0001, 03360 NSTCRS_EXPANDED = 0x0002 03361 }; 03362 typedef DWORD NSTCROOTSTYLE; 03363 03364 [v1_enum] enum _NSTCITEMSTATE { 03365 NSTCIS_NONE = 0x0000, 03366 NSTCIS_SELECTED = 0x0001, 03367 NSTCIS_EXPANDED = 0x0002, 03368 NSTCIS_BOLD = 0x0004, 03369 NSTCIS_DISABLED = 0x0008, 03370 NSTCIS_SELECTEDNOEXPAND = 0x0010 03371 }; 03372 typedef DWORD NSTCITEMSTATE; 03373 03374 typedef [v1_enum] enum NSTCGNI { 03375 NSTCGNI_NEXT = 0, 03376 NSTCGNI_NEXTVISIBLE = 1, 03377 NSTCGNI_PREV = 2, 03378 NSTCGNI_PREVVISIBLE = 3, 03379 NSTCGNI_PARENT = 4, 03380 NSTCGNI_CHILD = 5, 03381 NSTCGNI_FIRSTVISIBLE = 6, 03382 NSTCGNI_LASTVISIBLE = 7 03383 } NSTCGNI; 03384 03385 HRESULT Initialize( 03386 [in] HWND hwndParent, 03387 [in, unique] RECT *prc, 03388 [in] NSTCSTYLE nstcsFlags); 03389 03390 HRESULT TreeAdvise( 03391 [in] IUnknown *punk, 03392 [out] DWORD *pdwCookie); 03393 03394 HRESULT TreeUnadvise( 03395 [in] DWORD dwCookie); 03396 03397 HRESULT AppendRoot( 03398 [in] IShellItem *psiRoot, 03399 [in] SHCONTF grfEnumFlags, 03400 [in] NSTCROOTSTYLE grfRootStyle, 03401 [in, unique] IShellItemFilter *pif); 03402 03403 HRESULT InsertRoot( 03404 [in] int iIndex, 03405 [in] IShellItem *psiRoot, 03406 [in] SHCONTF grfEnumFlags, 03407 [in] NSTCROOTSTYLE grfRootStyle, 03408 [in, unique] IShellItemFilter *pif); 03409 03410 HRESULT RemoveRoot( 03411 [in] IShellItem *psiRoot); 03412 03413 HRESULT RemoveAllRoots(); 03414 03415 HRESULT GetRootItems( 03416 [out] IShellItemArray **ppsiaRootItems); 03417 03418 HRESULT SetItemState( 03419 [in] IShellItem *psi, 03420 [in] NSTCITEMSTATE nstcisMask, 03421 [in] NSTCITEMSTATE nstcisFlags); 03422 03423 HRESULT GetItemState( 03424 [in] IShellItem *psi, 03425 [in] NSTCITEMSTATE nstcismask, 03426 [out] NSTCITEMSTATE *pnstcisFlags); 03427 03428 HRESULT GetSelectedItems( 03429 [out] IShellItemArray **psiaItems); 03430 03431 HRESULT GetItemCustomState( 03432 [in] IShellItem *psi, 03433 [out] int *piStateNumber); 03434 03435 HRESULT SetItemCustomState( 03436 [in] IShellItem *psi, 03437 [in] int iStateNumber); 03438 03439 HRESULT EnsureItemVisible( 03440 [in] IShellItem *psi); 03441 03442 HRESULT SetTheme( 03443 [in, string] LPCWSTR pszTheme); 03444 03445 HRESULT GetNextItem( 03446 [in, unique] IShellItem *psi, 03447 [in] NSTCGNI nstcgi, 03448 [out] IShellItem **ppsiNext); 03449 03450 HRESULT HitTest( 03451 [in] POINT *ppt, 03452 [out] IShellItem **ppsiOut); 03453 03454 HRESULT GetItemRect( 03455 [in] IShellItem *psi, 03456 [out] RECT *prect); 03457 03458 HRESULT CollapseAll(); 03459 } 03460 03461 /***************************************************************************** 03462 * INameSpaceTreeControl2 interface 03463 */ 03464 [ 03465 object, 03466 uuid(7CC7AED8-290E-49BC-8945-C1401CC9306C) 03467 ] 03468 interface INameSpaceTreeControl2 : INameSpaceTreeControl 03469 { 03470 typedef [v1_enum] enum NSTCSTYLE2 { 03471 NSTCS2_DEFAULT = 0x00, 03472 NSTCS2_INTERRUPTNOTIFICATIONS = 0x01, 03473 NSTCS2_SHOWNULLSPACEMENU = 0x02, 03474 NSTCS2_DISPLAYPADDING = 0x04, 03475 NSTCS2_DISPLAYPINNEDONLY = 0x08, 03476 NTSCS2_NOSINGLETONAUTOEXPAND = 0x10, /* The apparent typo here is */ 03477 NTSCS2_NEVERINSERTNONENUMERATED = 0x20 /* present also in the Win SDK */ 03478 } NSTCSTYLE2; 03479 cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(NSTCSTYLE2)") 03480 03481 HRESULT SetControlStyle( 03482 [in] NSTCSTYLE nstcsMask, 03483 [in] NSTCSTYLE nstcsStyle); 03484 03485 HRESULT GetControlStyle( 03486 [in] NSTCSTYLE nstcsMask, 03487 [out] NSTCSTYLE *pnstcsStyle); 03488 03489 HRESULT SetControlStyle2( 03490 [in] NSTCSTYLE2 nstcsMask, 03491 [in] NSTCSTYLE2 nstcsStyle); 03492 03493 HRESULT GetControlStyle2( 03494 [in] NSTCSTYLE2 nstcsMask, 03495 [out] NSTCSTYLE2 *pnstcsStyle); 03496 } 03497 03498 /***************************************************************************** 03499 * INameSpaceTreeControlEvents interface 03500 */ 03501 03502 [ 03503 object, 03504 uuid(93D77985-B3D8-4484-8318-672CDDA002CE), 03505 local 03506 ] 03507 interface INameSpaceTreeControlEvents : IUnknown 03508 { 03509 [v1_enum] enum _NSTCEHITTEST { 03510 NSTCEHT_NOWHERE = 0x0001, 03511 NSTCEHT_ONITEMICON = 0x0002, 03512 NSTCEHT_ONITEMLABEL = 0x0004, 03513 NSTCEHT_ONITEMIDENT = 0x0008, 03514 NSTCEHT_ONITEMBUTTON = 0x0010, 03515 NSTCEHT_ONITEMRIGHT = 0x0020, 03516 NSTCEHT_ONITEMSTATEICON = 0x0040, 03517 NSTCEHT_ONITEM = 0x0046, 03518 NSTCEHT_ONITEMTABBUTTON = 0x1000 03519 }; 03520 typedef DWORD NSTCEHITTEST; 03521 03522 [v1_enum] enum _NSTCECLICKTYPE { 03523 NSTCECT_LBUTTON = 0x1, 03524 NSTCECT_MBUTTON = 0x2, 03525 NSTCECT_RBUTTON = 0x3, 03526 NSTCECT_BUTTON = 0x3, 03527 NSTCECT_DBLCLICK = 0x4 03528 }; 03529 typedef DWORD NSTCECLICKTYPE; 03530 03531 HRESULT OnItemClick( 03532 [in] IShellItem *psi, 03533 [in] NSTCEHITTEST nstceHitTest, 03534 [in] NSTCECLICKTYPE nstceClickType); 03535 03536 HRESULT OnPropertyItemCommit( 03537 [in] IShellItem *psi); 03538 03539 HRESULT OnItemStateChanging( 03540 [in] IShellItem *psi, 03541 [in] NSTCITEMSTATE nstcisMask, 03542 [in] NSTCITEMSTATE nstcisState); 03543 03544 HRESULT OnItemStateChanged( 03545 [in] IShellItem *psi, 03546 [in] NSTCITEMSTATE nstcisMask, 03547 [in] NSTCITEMSTATE nstcisState); 03548 03549 HRESULT OnSelectionChanged( 03550 [in] IShellItemArray *psiaSelection); 03551 03552 HRESULT OnKeyboardInput( 03553 [in] UINT uMsg, 03554 [in] WPARAM wParam, 03555 [in] LPARAM lParam); 03556 03557 HRESULT OnBeforeExpand( 03558 [in] IShellItem *psi); 03559 03560 HRESULT OnAfterExpand( 03561 [in] IShellItem *psi); 03562 03563 HRESULT OnBeginLabelEdit( 03564 [in] IShellItem *psi); 03565 03566 HRESULT OnEndLabelEdit( 03567 [in] IShellItem *psi); 03568 03569 HRESULT OnGetToolTip( 03570 [in] IShellItem *psi, 03571 [out, string, size_is(cchTip)] LPWSTR pszTip, 03572 [in] int cchTip); 03573 03574 HRESULT OnBeforeItemDelete( 03575 [in] IShellItem *psi); 03576 03577 HRESULT OnItemAdded( 03578 [in] IShellItem *psi, 03579 [in] BOOL fIsRoot); 03580 03581 HRESULT OnItemDeleted( 03582 [in] IShellItem *psi, 03583 [in] BOOL fIsRoot); 03584 03585 HRESULT OnBeforeContextMenu( 03586 [in, unique] IShellItem *psi, 03587 [in] REFIID riid, 03588 [out, iid_is(riid)] void **ppv); 03589 03590 HRESULT OnAfterContextMenu( 03591 [in] IShellItem *psi, 03592 [in] IContextMenu *pcmIn, 03593 [in] REFIID riid, 03594 [out, iid_is(riid)] void **ppv); 03595 03596 HRESULT OnBeforeStateImageChange( 03597 [in] IShellItem *psi); 03598 03599 HRESULT OnGetDefaultIconIndex( 03600 [in] IShellItem *psi, 03601 [out] int *piDefaultIcon, 03602 [out] int *piOpenIcon); 03603 } 03604 03605 /***************************************************************************** 03606 * INameSpaceTreeControlCustomDraw interface 03607 */ 03608 [ 03609 object, 03610 uuid(2D3BA758-33EE-42D5-BB7B-5F3431D86C78), 03611 local 03612 ] 03613 03614 interface INameSpaceTreeControlCustomDraw : IUnknown 03615 { 03616 typedef struct NSTCCUSTOMDRAW 03617 { 03618 IShellItem *psi; 03619 UINT uItemState; 03620 NSTCITEMSTATE nstcis; 03621 LPCWSTR pszText; 03622 int iImage; 03623 HIMAGELIST himl; 03624 int iLevel; 03625 int iIndent; 03626 } NSTCCUSTOMDRAW; 03627 03628 HRESULT PrePaint( 03629 [in] HDC hdc, 03630 [in] RECT *prc, 03631 [out] LRESULT *plres); 03632 03633 HRESULT PostPaint( 03634 [in] HDC hdc, 03635 [in] RECT *prc); 03636 03637 HRESULT ItemPrePaint( 03638 [in] HDC hdc, 03639 [in] RECT *prc, 03640 [in, out] COLORREF *pclrText, 03641 [in, out] COLORREF *pclrTextBk, 03642 [out] LRESULT *plres); 03643 03644 HRESULT ItemPostPaint( 03645 [in] HDC hdc, 03646 [in] RECT *prc, 03647 [in] NSTCCUSTOMDRAW *pnstccdItem); 03648 } 03649 03650 /***************************************************************************** 03651 * INameSpaceTreeControlDropHandler interface 03652 */ 03653 [ 03654 object, 03655 uuid(F9C665D6-C2F2-4C19-BF33-8322D7352F51), 03656 local 03657 ] 03658 interface INameSpaceTreeControlDropHandler : IUnknown 03659 { 03660 HRESULT OnDragEnter( 03661 [in, unique] IShellItem *psiOver, 03662 [in] IShellItemArray *psiaData, 03663 [in] BOOL fOutsideSource, 03664 [in] DWORD grfKeyState, 03665 [in, out] DWORD *pdwEffect); 03666 03667 HRESULT OnDragOver( 03668 [in, unique] IShellItem *psiOver, 03669 [in] IShellItemArray *psiaData, 03670 [in] DWORD grfKeyState, 03671 [in, out] DWORD *pdwEffect); 03672 03673 HRESULT OnDragPosition( 03674 [in, unique] IShellItem *psiOver, 03675 [in] IShellItemArray *psiaData, 03676 [in] int iNewPosition, 03677 [in] int iOldPosition); 03678 03679 HRESULT OnDrop( 03680 [in, unique] IShellItem *psiOver, 03681 [in] IShellItemArray *psiaData, 03682 [in] int iPosition, 03683 [in] DWORD grfKeyState, 03684 [in, out] DWORD *pdwEffect); 03685 03686 HRESULT OnDropPosition( 03687 [in, unique] IShellItem *psiOver, 03688 [in] IShellItemArray *psiaData, 03689 [in] int iNewPosition, 03690 [in] int iOldPosition); 03691 03692 HRESULT OnDragLeave( 03693 [in, unique] IShellItem *psiOver); 03694 } 03695 cpp_quote("#define NSTCDHPOS_ONTOP -1") 03696 03697 interface IFileDialog; 03698 03699 typedef [v1_enum] enum FDE_OVERWRITE_RESPONSE 03700 { 03701 FDEOR_DEFAULT = 0, 03702 FDEOR_ACCCEP = 1, 03703 FDEOR_REFUSE = 2 03704 } FDE_OVERWRITE_RESPONSE; 03705 03706 typedef [v1_enum] enum FDE_SHAREVIOLATION_RESPONSE 03707 { 03708 FDESVR_DEFAULT = 0, 03709 FDESVR_ACCEPT = 1, 03710 FDESVR_REFUSE = 2 03711 } FDE_SHAREVIOLATION_RESPONSE; 03712 03713 /***************************************************************************** 03714 * IFileDialogEvents interface 03715 */ 03716 [ 03717 object, 03718 uuid(973510DB-7D7F-452B-8975-74A85828D354), 03719 pointer_default(unique) 03720 ] 03721 interface IFileDialogEvents : IUnknown 03722 { 03723 HRESULT OnFileOk( 03724 [in] IFileDialog *pfd); 03725 03726 HRESULT OnFolderChanging( 03727 [in] IFileDialog *pfd, 03728 [in] IShellItem *psiFolder); 03729 03730 HRESULT OnFolderChange( 03731 [in] IFileDialog *pfd); 03732 03733 HRESULT OnSelectionChange( 03734 [in] IFileDialog *pfd); 03735 03736 HRESULT OnShareViolation( 03737 [in] IFileDialog *pfd, 03738 [in] IShellItem *psi, 03739 [out] FDE_SHAREVIOLATION_RESPONSE *pResponse); 03740 03741 HRESULT OnTypeChange( 03742 [in] IFileDialog *pfd); 03743 03744 HRESULT OnOverwrite( 03745 [in] IFileDialog *pfd, 03746 [in] IShellItem *psi, 03747 [out] FDE_OVERWRITE_RESPONSE *pResponse); 03748 } 03749 03750 /***************************************************************************** 03751 * IModalWindow interface 03752 */ 03753 [ 03754 object, 03755 uuid(B4DB1657-70D7-485E-8E3E-6FCB5A5C1802), 03756 pointer_default(unique) 03757 ] 03758 interface IModalWindow : IUnknown 03759 { 03760 [local] 03761 HRESULT Show( 03762 [in, unique, annotation("__in_opt")] HWND hwndOwner); 03763 03764 [call_as(Show)] 03765 HRESULT RemoteShow( 03766 [in, unique] HWND hwndOwner); 03767 } 03768 03769 typedef [v1_enum] enum FDAP 03770 { 03771 FDAP_BOTTOM = 0, 03772 FDAP_TOP = 1 03773 } FDAP; 03774 03775 /***************************************************************************** 03776 * IFileDialog interface 03777 */ 03778 [ 03779 object, 03780 uuid(42F85136-DB7E-439C-85F1-E4075D135FC8), 03781 pointer_default(unique) 03782 ] 03783 interface IFileDialog : IModalWindow 03784 { 03785 [v1_enum] enum _FILEOPENDIALOGOPTIONS 03786 { 03787 FOS_OVERWRITEPROMPT = 0x00000002, 03788 FOS_STRICTFILETYPES = 0x00000004, 03789 FOS_NOCHANGEDIR = 0x00000008, 03790 FOS_PICKFOLDERS = 0x00000020, 03791 FOS_FORCEFILESYSTEM = 0x00000040, 03792 FOS_ALLNONSTORAGEITEMS = 0x00000080, 03793 FOS_NOVALIDATE = 0x00000100, 03794 FOS_ALLOWMULTISELECT = 0x00000200, 03795 FOS_PATHMUSTEXIST = 0x00000800, 03796 FOS_FILEMUSTEXIST = 0x00001000, 03797 FOS_CREATEPROMPT = 0x00002000, 03798 FOS_SHAREAWARE = 0x00004000, 03799 FOS_NOREADONLYRETURN = 0x00008000, 03800 FOS_NOTESTFILECREATE = 0x00010000, 03801 FOS_HIDEMRUPLACES = 0x00020000, 03802 FOS_HIDEPINNEDPLACES = 0x00040000, 03803 FOS_NODEREFERENCELINKS = 0x00100000, 03804 FOS_DONTADDTORECENT = 0x02000000, 03805 FOS_FORCESHOWHIDDEN = 0x10000000, 03806 FOS_DEFAULTNOMINIMODE = 0x20000000, 03807 FOS_FORCEPREVIEWPANEON = 0x40000000 03808 }; 03809 typedef DWORD FILEOPENDIALOGOPTIONS; 03810 03811 HRESULT SetFileTypes( 03812 [in] UINT cFileTypes, 03813 [in, size_is(cFileTypes)] const COMDLG_FILTERSPEC *rgFilterSpec); 03814 03815 HRESULT SetFileTypeIndex( 03816 [in] UINT iFileType); 03817 03818 HRESULT GetFileTypeIndex( 03819 [out] UINT *piFileType); 03820 03821 HRESULT Advise( 03822 [in] IFileDialogEvents *pfde, 03823 [out] DWORD *pdwCookie); 03824 03825 HRESULT Unadvise( 03826 [in] DWORD dwCookie); 03827 03828 HRESULT SetOptions( 03829 [in] FILEOPENDIALOGOPTIONS fos); 03830 03831 HRESULT GetOptions( 03832 [in] FILEOPENDIALOGOPTIONS *pfos); 03833 03834 HRESULT SetDefaultFolder( 03835 [in] IShellItem *psi); 03836 03837 HRESULT SetFolder( 03838 [in] IShellItem *psi); 03839 03840 HRESULT GetFolder( 03841 [out] IShellItem **ppsi); 03842 03843 HRESULT GetCurrentSelection( 03844 [out] IShellItem **ppsi); 03845 03846 HRESULT SetFileName( 03847 [in, string] LPCWSTR pszName); 03848 03849 HRESULT GetFileName( 03850 [out, string] LPWSTR *pszName); 03851 03852 HRESULT SetTitle( 03853 [in, string] LPCWSTR pszTitle); 03854 03855 HRESULT SetOkButtonLabel( 03856 [in, string] LPCWSTR pszText); 03857 03858 HRESULT SetFileNameLabel( 03859 [in, string] LPCWSTR pszLabel); 03860 03861 HRESULT GetResult( 03862 [out] IShellItem **ppsi); 03863 03864 HRESULT AddPlace( 03865 [in] IShellItem *psi, 03866 [in] FDAP fdap); 03867 03868 HRESULT SetDefaultExtension( 03869 [in, string] LPCWSTR pszDefaultExtension); 03870 03871 HRESULT Close( 03872 [in] HRESULT hr); 03873 03874 HRESULT SetClientGuid( 03875 [in] REFGUID guid); 03876 03877 HRESULT ClearClientData(); 03878 03879 HRESULT SetFilter( 03880 [in] IShellItemFilter *pFilter); 03881 } 03882 03883 /***************************************************************************** 03884 * IFileDialog2 interface 03885 */ 03886 [ 03887 object, 03888 uuid(61744FC7-85B5-4791-A9B0-272276309B13), 03889 pointer_default(unique) 03890 ] 03891 interface IFileDialog2 : IFileDialog 03892 { 03893 HRESULT SetCancelButtonLabel( 03894 [in] LPCWSTR pszLabel); 03895 03896 HRESULT SetNavigationRoot( 03897 [in] IShellItem *psi); 03898 } 03899 03900 /***************************************************************************** 03901 * IFileOperationProgressSink interface 03902 */ 03903 [ 03904 object, 03905 uuid(04B0F1A7-9490-44BC-96E1-4296A31252E2), 03906 pointer_default(unique) 03907 ] 03908 interface IFileOperationProgressSink : IUnknown 03909 { 03910 HRESULT StartOperations(); 03911 03912 HRESULT FinishOperations( 03913 [in] HRESULT hrResult); 03914 03915 HRESULT PreRenameItem( 03916 [in] DWORD dwFlags, 03917 [in] IShellItem *psiItem, 03918 [in, unique, string] LPCWSTR pszNewName); 03919 03920 HRESULT PostRenameItem( 03921 [in] DWORD dwFlags, 03922 [in] IShellItem *psiItem, 03923 [in, string] LPCWSTR pszNewName, 03924 [in] HRESULT hrRename, 03925 [in] IShellItem *psiNewlyCreated); 03926 03927 HRESULT PreMoveItem( 03928 [in] DWORD dwFlags, 03929 [in] IShellItem *psiItem, 03930 [in] IShellItem *psiDestinationFolder, 03931 [in, unique, string] LPCWSTR pszNewName); 03932 03933 HRESULT PostMoveItem( 03934 [in] DWORD dwFlags, 03935 [in] IShellItem *psiItem, 03936 [in] IShellItem *psiDestinationFolder, 03937 [in, unique, string] LPCWSTR pszNewName, 03938 [in] HRESULT hrMove, 03939 [in] IShellItem *psiNewlyCreated); 03940 03941 HRESULT PreCopyItem( 03942 [in] DWORD dwFlags, 03943 [in] IShellItem *psiItem, 03944 [in] IShellItem *psiDestinationFolder, 03945 [in, unique, string] LPCWSTR pszNewName); 03946 03947 HRESULT PostCopyItem( 03948 [in] DWORD dwFlags, 03949 [in] IShellItem *psiItem, 03950 [in] IShellItem *psiDestinationFolder, 03951 [in, unique, string] LPCWSTR pszNewName, 03952 [in] HRESULT hrCopy, 03953 [in] IShellItem *psiNewlyCreated); 03954 03955 HRESULT PreDeleteItem( 03956 [in] DWORD dwFlags, 03957 [in] IShellItem *psiItem); 03958 03959 HRESULT PostDeleteItem( 03960 [in] DWORD dwFlags, 03961 [in] IShellItem *psiItem, 03962 [in] HRESULT hrDelete, 03963 [in] IShellItem *psiNewlyCreated); 03964 03965 HRESULT PreNewItem( 03966 [in] DWORD dwFlags, 03967 [in] IShellItem *psiDestinationFolder, 03968 [in, unique, string] LPCWSTR pszNewName); 03969 03970 HRESULT PostNewItem( 03971 [in] DWORD dwFlags, 03972 [in] IShellItem *psiDestinationFolder, 03973 [in, unique, string] LPCWSTR pszNewName, 03974 [in, unique, string] LPCWSTR pszTemplateName, 03975 [in] DWORD dwFileAttributes, 03976 [in] HRESULT hrNew, 03977 [in] IShellItem *psiNewItem); 03978 03979 HRESULT UpdateProgress( 03980 [in] UINT iWorkTotal, 03981 [in] UINT iWorkSoFar); 03982 03983 HRESULT ResetTimer(); 03984 03985 HRESULT PauseTimer(); 03986 03987 HRESULT ResumeTimer(); 03988 } 03989 03990 /***************************************************************************** 03991 * IFileSaveDialog interface 03992 */ 03993 [ 03994 object, 03995 uuid(84BCCD23-5FDE-4CDB-AEA4-AF64B83D78AB), 03996 pointer_default(unique) 03997 ] 03998 interface IFileSaveDialog : IFileDialog 03999 { 04000 HRESULT SetSaveAsItem( 04001 [in] IShellItem *psi); 04002 04003 HRESULT SetProperties( 04004 [in] IPropertyStore *pStore); 04005 04006 HRESULT SetCollectedProperties( 04007 [in] IPropertyDescriptionList *pList, 04008 [in] BOOL fAppendDefault); 04009 04010 HRESULT GetProperties( 04011 [in] IPropertyStore **ppStore); 04012 04013 HRESULT ApplyProperties( 04014 [in] IShellItem *psi, 04015 [in] IPropertyStore *pStore, 04016 [in, unique] HWND hwnd, 04017 [in, unique] IFileOperationProgressSink *pSink); 04018 } 04019 04020 04021 /***************************************************************************** 04022 * IFileOpenDialog interface 04023 */ 04024 [ 04025 object, 04026 uuid(D57C7288-D4AD-4768-BE02-9D969532D960), 04027 pointer_default(unique) 04028 ] 04029 interface IFileOpenDialog : IFileDialog 04030 { 04031 HRESULT GetResults( 04032 [out] IShellItemArray **ppenum); 04033 04034 HRESULT GetSelectedItems( 04035 [out] IShellItemArray **ppsai); 04036 } 04037 04038 typedef [v1_enum] enum CDCONTROLSTATEF 04039 { 04040 CDCS_INACTIVE = 0x0, 04041 CDCS_ENABLED = 0x1, 04042 CDCS_VISIBLE = 0x2, 04043 CDCS_ENABLEDVISIBLE = 0x3 04044 } CDCONTROLSTATEF; 04045 cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(CDCONTROLSTATEF)") 04046 /***************************************************************************** 04047 * IFileDialogCustomize interface 04048 */ 04049 [ 04050 object, 04051 uuid(E6FDD21A-163F-4975-9C8C-A69F1BA37034), 04052 pointer_default(unique) 04053 ] 04054 interface IFileDialogCustomize : IUnknown 04055 { 04056 HRESULT EnableOpenDropDown( 04057 [in] DWORD dwIDCtl); 04058 04059 HRESULT AddMenu( 04060 [in] DWORD dwIDCtl, 04061 [in, string] LPCWSTR pszLabel); 04062 04063 HRESULT AddPushButton( 04064 [in] DWORD dwIDCtl, 04065 [in, string] LPCWSTR pszLabel); 04066 04067 HRESULT AddComboBox( 04068 [in] DWORD dwIDCtl); 04069 04070 HRESULT AddRadioButtonList( 04071 [in] DWORD dwIDCtl); 04072 04073 HRESULT AddCheckButton( 04074 [in] DWORD dwIDCtl, 04075 [in, string] LPCWSTR pszLabel, 04076 [in] BOOL bChecked); 04077 04078 HRESULT AddEditBox( 04079 [in] DWORD dwIDCtl, 04080 [in, string] LPCWSTR pszText); 04081 04082 HRESULT AddSeparator( 04083 [in] DWORD dwIDCtl); 04084 04085 HRESULT AddText( 04086 [in] DWORD dwIDCtl, 04087 [in, string] LPCWSTR pszText); 04088 04089 HRESULT SetControlLabel( 04090 [in] DWORD dwIDCtl, 04091 [in, string] LPCWSTR pszLabel); 04092 04093 HRESULT GetControlState( 04094 [in] DWORD dwIDCtl, 04095 [out] CDCONTROLSTATEF *pdwState); 04096 04097 HRESULT SetControlState( 04098 [in] DWORD dwIDCtl, 04099 [in] CDCONTROLSTATEF dwState); 04100 04101 HRESULT GetEditBoxText( 04102 [in] DWORD dwIDCtl, 04103 [out, string] WCHAR **ppszText); 04104 04105 HRESULT SetEditBoxText( 04106 [in] DWORD dwIDCtl, 04107 [in, string] LPCWSTR pszText); 04108 04109 HRESULT GetCheckButtonState( 04110 [in] DWORD dwIDCtl, 04111 [out] BOOL *pbChecked); 04112 04113 HRESULT SetCheckButtonState( 04114 [in] DWORD dwIDCtl, 04115 [in] BOOL bChecked); 04116 04117 HRESULT AddControlItem( 04118 [in] DWORD dwIDCtl, 04119 [in] DWORD dwIDItem, 04120 [in] LPCWSTR pszLabel); 04121 04122 HRESULT RemoveControlItem( 04123 [in] DWORD dwIDCtl, 04124 [in] DWORD dwIDItem); 04125 04126 HRESULT RemoveAllControlItems( 04127 [in] DWORD dwIDCtl); 04128 04129 HRESULT GetControlItemState( 04130 [in] DWORD dwIDCtl, 04131 [in] DWORD dwIDItem, 04132 [out] CDCONTROLSTATEF *pdwState); 04133 04134 HRESULT SetControlItemState( 04135 [in] DWORD dwIDCtl, 04136 [in] DWORD dwIDItem, 04137 [in] CDCONTROLSTATEF dwState); 04138 04139 HRESULT GetSelectedControlItem( 04140 [in] DWORD dwIDCtl, 04141 [out] DWORD *pdwIDItem); 04142 04143 HRESULT SetSelectedControlItem( 04144 [in] DWORD dwIDCtl, 04145 [in] DWORD dwIDItem); 04146 04147 HRESULT StartVisualGroup( 04148 [in] DWORD dwIDCtl, 04149 [in, string] LPCWSTR pszLabel); 04150 04151 HRESULT EndVisualGroup(); 04152 04153 HRESULT MakeProminent( 04154 [in] DWORD dwIDCtl); 04155 04156 HRESULT SetControlItemText( 04157 [in] DWORD dwIDCtl, 04158 [in] DWORD dwIDItem, 04159 [in, string] LPCWSTR pszLabel); 04160 } 04161 04162 /***************************************************************************** 04163 * IFileDialogControlEvents interface 04164 */ 04165 [ 04166 object, 04167 uuid(36116642-D713-4B97-9B83-7484A9D00433), 04168 pointer_default(unique) 04169 ] 04170 interface IFileDialogControlEvents : IUnknown 04171 { 04172 HRESULT OnItemSelected( 04173 [in] IFileDialogCustomize *pfdc, 04174 [in] DWORD dwIDCtl, 04175 [in] DWORD dwIDItem); 04176 04177 HRESULT OnButtonClicked( 04178 [in] IFileDialogCustomize *pfdc, 04179 [in] DWORD dwIDCtl); 04180 04181 HRESULT OnCheckButtonToggled( 04182 [in] IFileDialogCustomize *pfdc, 04183 [in] BOOL dwIDCtl, 04184 [in] BOOL bChecked); 04185 04186 HRESULT OnControlActivating( 04187 [in] IFileDialogCustomize *pfdc, 04188 [in] DWORD dwIDCtl); 04189 } 04190 04191 typedef [v1_enum] enum tagKF_CATEGORY 04192 { 04193 KF_CATEGORY_VIRTUAL = 0x00000001, 04194 KF_CATEGORY_FIXED = 0x00000002, 04195 KF_CATEGORY_COMMON = 0x00000003, 04196 KF_CATEGORY_PERUSER = 0x00000004 04197 } KF_CATEGORY; 04198 04199 typedef [v1_enum] enum tagKF_REDIRECTION_CAPABILITIES 04200 { 04201 KF_REDIRECTION_CAPABILITIES_ALLOW_ALL = 0x000000ff, 04202 KF_REDIRECTION_CAPABILITIES_REDIRECTABLE = 0x00000001, 04203 KF_REDIRECTION_CAPABILITIES_DENY_ALL = 0x000fff00, 04204 KF_REDIRECTION_CAPABILITIES_DENY_POLICY_REDIRECTED = 0x00000100, 04205 KF_REDIRECTION_CAPABILITIES_DENY_POLICY = 0x00000200, 04206 KF_REDIRECTION_CAPABILITIES_DENY_PERMISSIONS = 0x00000400 04207 } KF_REDIRECTION_CAPABILITIES; 04208 04209 typedef [v1_enum] enum tagKF_DEFINITION_FLAGS 04210 { 04211 KFDF_LOCAL_REDIRECT_ONLY = 0x00000002, 04212 KFDF_ROAMABLE = 0x00000004, 04213 KFDF_PRECREATE = 0x00000008, 04214 KFDF_STREAM = 0x00000010, 04215 KFDF_PUBLISHEXPANDEDPATH = 0x00000020 04216 } KF_DEFINITION_FLAGS; 04217 04218 typedef struct tagKNOWNFOLDER_DEFINITION 04219 { 04220 KF_CATEGORY category; 04221 LPWSTR pszName; 04222 LPWSTR pszDescription; 04223 KNOWNFOLDERID fidParent; 04224 LPWSTR pszRelativePath; 04225 LPWSTR pszParsingName; 04226 LPWSTR pszTooltip; 04227 LPWSTR pszLocalizedName; 04228 LPWSTR pszIcon; 04229 LPWSTR pszSecurity; 04230 DWORD dwAttributes; 04231 KF_DEFINITION_FLAGS kfdFlags; 04232 FOLDERTYPEID ftidType; 04233 } KNOWNFOLDER_DEFINITION; 04234 04235 [ 04236 object, 04237 uuid(3aa7af7e-9b36-420C-a8e3-f77d4674a488), 04238 pointer_default(ref) 04239 ] 04240 interface IKnownFolder : IUnknown 04241 { 04242 HRESULT GetId( 04243 [out] KNOWNFOLDERID *pkfid); 04244 04245 HRESULT GetCategory( 04246 [out] KF_CATEGORY *pCategory); 04247 04248 HRESULT GetShellItem( 04249 [in] DWORD dwFlags, 04250 [in] REFIID riid, 04251 [out, iid_is(riid)] void **ppv); 04252 04253 HRESULT GetPath( 04254 [in] DWORD dwFlags, 04255 [out, string] LPWSTR *ppszPath); 04256 04257 HRESULT SetPath( 04258 [in] DWORD dwFlags, 04259 [in, string] LPCWSTR pszPath); 04260 04261 HRESULT GetIDList( 04262 [in] DWORD dwFlags, 04263 [out] PIDLIST_ABSOLUTE *ppidl); 04264 04265 HRESULT GetFolderType( 04266 [out] FOLDERTYPEID *pftid); 04267 04268 HRESULT GetRedirectionCapabilities( 04269 [out] KF_REDIRECTION_CAPABILITIES *pCapabilities); 04270 04271 HRESULT GetFolderDefinition( 04272 [out] KNOWNFOLDER_DEFINITION *pKFD); 04273 } 04274 04275 typedef [v1_enum] enum tagKF_REDIRECT_FLAGS 04276 { 04277 KF_REDIRECT_USER_EXCLUSIVE = 0x00000001, 04278 KF_REDIRECT_COPY_SOURCE_DACL = 0x00000002, 04279 KF_REDIRECT_OWNER_USER = 0x00000004, 04280 KF_REDIRECT_SET_OWNER_EXPLICIT = 0x00000008, 04281 KF_REDIRECT_CHECK_ONLY = 0x00000010, 04282 KF_REDIRECT_WITH_UI = 0x00000020, 04283 KF_REDIRECT_UNPIN = 0x00000040, 04284 KF_REDIRECT_PIN = 0x00000080, 04285 KF_REDIRECT_COPY_CONTENTS = 0x00000200, 04286 KF_REDIRECT_DEL_SOURCE_CONTENTS = 0x00000400, 04287 KF_REDIRECT_EXCLUDE_ALL_KNOWN_SUBFOLDERS = 0x00000800 04288 } KF_REDIRECT_FLAGS; 04289 04290 [ 04291 object, 04292 uuid(8BE2D872-86AA-4d47-B776-32CCA40C7018), 04293 pointer_default(ref) 04294 ] 04295 interface IKnownFolderManager : IUnknown 04296 { 04297 typedef [v1_enum] enum tagFFFP_MODE 04298 { 04299 FFFP_EXACTMATCH, 04300 FFFP_NEARESTPARENTMATCH 04301 } FFFP_MODE; 04302 04303 HRESULT FolderIdFromCsidl( 04304 [in] int nCsidl, 04305 [out] KNOWNFOLDERID *pfid); 04306 04307 HRESULT FolderIdToCsidl( 04308 [in] REFKNOWNFOLDERID rfid, 04309 [out] int *pnCsidl); 04310 04311 HRESULT GetFolderIds( 04312 [out, size_is(, *pCount)] KNOWNFOLDERID **ppKFId, 04313 [in, out] UINT *pCount); 04314 04315 HRESULT GetFolder( 04316 [in] REFKNOWNFOLDERID rfid, 04317 [out] IKnownFolder **ppkf); 04318 04319 HRESULT GetFolderByName( 04320 [in, string] LPCWSTR pszCanonicalName, 04321 [out] IKnownFolder **ppkf); 04322 04323 HRESULT RegisterFolder( 04324 [in] REFKNOWNFOLDERID rfid, 04325 [in] KNOWNFOLDER_DEFINITION const *pKFD); 04326 04327 HRESULT UnregisterFolder( 04328 [in] REFKNOWNFOLDERID rfid); 04329 04330 HRESULT FindFolderFromPath( 04331 [in, string] LPCWSTR pszPath, 04332 [in] FFFP_MODE mode, 04333 [out] IKnownFolder **ppkf); 04334 04335 HRESULT FindFolderFromIDList( 04336 [in] PCIDLIST_ABSOLUTE pidl, 04337 [out] IKnownFolder **ppkf); 04338 04339 HRESULT Redirect( 04340 [in] REFKNOWNFOLDERID rfid, 04341 [in, unique] HWND hwnd, 04342 [in] KF_REDIRECT_FLAGS flags, 04343 [in, unique, string] LPCWSTR pszTargetPath, 04344 [in] UINT cFolders, 04345 [in, size_is(cFolders), unique] KNOWNFOLDERID const *pExclusion, 04346 [out, string] LPWSTR *ppszError); 04347 } 04348 04349 /* function for releasing structure returned from IKnownFolder::GetFolderDefinition */ 04350 cpp_quote("static inline void FreeKnownFolderDefinitionFields(KNOWNFOLDER_DEFINITION *pKFD)") 04351 cpp_quote("{") 04352 cpp_quote(" CoTaskMemFree(pKFD->pszName);") 04353 cpp_quote(" CoTaskMemFree(pKFD->pszDescription);") 04354 cpp_quote(" CoTaskMemFree(pKFD->pszRelativePath);") 04355 cpp_quote(" CoTaskMemFree(pKFD->pszParsingName);") 04356 cpp_quote(" CoTaskMemFree(pKFD->pszTooltip);") 04357 cpp_quote(" CoTaskMemFree(pKFD->pszLocalizedName);") 04358 cpp_quote(" CoTaskMemFree(pKFD->pszIcon);") 04359 cpp_quote(" CoTaskMemFree(pKFD->pszSecurity);") 04360 cpp_quote("}") 04361 04362 typedef [v1_enum] enum ASSOCIATIONLEVEL { 04363 AL_MACHINE, 04364 AL_EFFECTIVE, 04365 AL_USER 04366 } ASSOCIATIONLEVEL; 04367 04368 typedef [v1_enum] enum ASSOCIATIONTYPE { 04369 AT_FILEEXTENSION, 04370 AT_URLPROTOCOL, 04371 AT_STARTMENUCLIENT, 04372 AT_MIMETYPE 04373 } ASSOCIATIONTYPE; 04374 04375 [ 04376 object, 04377 uuid(4e530b0a-e611-4c77-a3ac-9031d022281b), 04378 pointer_default(unique) 04379 ] 04380 interface IApplicationAssociationRegistration : IUnknown 04381 { 04382 HRESULT QueryCurrentDefault( 04383 [in, string] LPCWSTR pszQuery, 04384 [in] ASSOCIATIONTYPE atQueryType, 04385 [in] ASSOCIATIONLEVEL alQueryLevel, 04386 [out, string] LPWSTR *ppszAssociation); 04387 04388 HRESULT QueryAppIsDefault( 04389 [in, string] LPCWSTR pszQuery, 04390 [in] ASSOCIATIONTYPE atQueryType, 04391 [in] ASSOCIATIONLEVEL alQueryLevel, 04392 [in, string] LPCWSTR pszAppRegistryName, 04393 [out] BOOL *pfDefault); 04394 04395 HRESULT QueryAppIsDefaultAll( 04396 [in] ASSOCIATIONLEVEL alQueryLevel, 04397 [in, string] LPCWSTR pszAppRegistryName, 04398 [out] BOOL* pfDefault); 04399 04400 HRESULT SetAppAsDefault( 04401 [in, string] LPCWSTR pszAppRegistryName, 04402 [in, string] LPCWSTR pszSet, 04403 [in] ASSOCIATIONTYPE atSetType); 04404 04405 HRESULT SetAppAsDefaultAll( 04406 [in, string] LPCWSTR pszAppRegistryName); 04407 04408 HRESULT ClearUserAssociations(); 04409 } 04410 04411 [ 04412 uuid(6332debf-87b5-4670-90c0-5e57b408a49e), 04413 object, 04414 pointer_default(unique) 04415 ] 04416 interface ICustomDestinationList : IUnknown 04417 { 04418 typedef [v1_enum] enum KNOWNDESTCATEGORY { 04419 KDC_FREQUENT = 1, 04420 KDC_RECENT 04421 } KNOWNDESTCATEGORY; 04422 04423 HRESULT SetAppID([in, string] LPCWSTR pszAppID); 04424 04425 HRESULT BeginList( 04426 [out] UINT *pcMinSlots, 04427 [in] REFIID riid, 04428 [out, iid_is(riid)] void **ppv); 04429 04430 HRESULT AppendCategory( 04431 [in, string] LPCWSTR pszCategory, 04432 [in] IObjectArray *poa); 04433 04434 HRESULT AppendKnownCategory([in] KNOWNDESTCATEGORY category); 04435 HRESULT AddUserTasks([in] IObjectArray *poa); 04436 HRESULT CommitList(); 04437 04438 HRESULT GetRemovedDestinations( 04439 [in] REFIID riid, 04440 [out, iid_is(riid)] void **ppv); 04441 04442 HRESULT DeleteList([in, unique, string] LPCWSTR pszAppID); 04443 HRESULT AbortList(); 04444 } 04445 04446 /***************************************************************************** 04447 * ShellObjects typelibrary 04448 */ 04449 [ 04450 uuid(50A7E9B1-70EF-11D1-B75A-00A0C90564FE), 04451 lcid(0x0000), 04452 version(1.0) 04453 ] 04454 library ShellObjects 04455 { 04456 [ 04457 uuid(71F96385-DDD6-48D3-A0C1-AE06E8B055FB) 04458 ] 04459 coclass ExplorerBrowser 04460 { 04461 interface IExplorerBrowser; 04462 } 04463 04464 [ 04465 uuid(DC1C5A9C-E88A-4DDE-A5A1-60F82A20AEF7) 04466 ] 04467 coclass FileOpenDialog 04468 { 04469 interface IFileOpenDialog; 04470 } 04471 04472 [ 04473 uuid(C0B4E2F3-BA21-4773-8DBA-335EC946EB8B) 04474 ] 04475 coclass FileSaveDialog 04476 { 04477 interface IFileSaveDialog; 04478 } 04479 04480 [ 04481 uuid(AE054212-3535-4430-83ED-D501AA6680E6) 04482 ] 04483 coclass NamespaceTreeControl 04484 { 04485 interface INameSpaceTreeControl2; 04486 } 04487 04488 [ 04489 uuid(4df0c730-df9d-4ae3-9153-aa6b82e9795a) 04490 ] 04491 coclass KnownFolderManager 04492 { 04493 interface IKnownFolderManager; 04494 } 04495 04496 [ 04497 uuid(591209c7-767b-42b2-9fba-44ee4615f2c7) 04498 ] 04499 coclass ApplicationAssociationRegistration 04500 { 04501 interface IApplicationAssociationRegistration; 04502 } 04503 04504 [ 04505 uuid(00021401-0000-0000-c000-000000000046) 04506 ] 04507 coclass ShellLink 04508 { 04509 interface IShellLinkW; 04510 } 04511 04512 [ 04513 uuid(56fdf344-fd6d-11d0-958a-006097c9a090) 04514 ] 04515 coclass TaskbarList 04516 { 04517 interface ITaskbarList4; 04518 } 04519 04520 [ 04521 uuid(77f10cf0-3db5-4966-b520-b7c54fd35ed6) 04522 ] 04523 coclass DestinationList { 04524 interface ICustomDestinationList; 04525 } 04526 } Generated on Sat May 26 2012 04:31:11 for ReactOS by
1.7.6.1
|