home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 May / Pcwk0597.iso / borland / cb / setup / cbuilder / data.z / SHLOBJ.HPP < prev    next >
C/C++ Source or Header  |  1997-02-28  |  17KB  |  534 lines

  1. //----------------------------------------------------------------------------
  2. // ShlObj.hpp - bcbdcc32 generated hdr (DO NOT EDIT) rev: 0
  3. // From: ShlObj.pas
  4. //----------------------------------------------------------------------------
  5. #ifndef ShlObjHPP
  6. #define ShlObjHPP
  7. //----------------------------------------------------------------------------
  8. #include <Messages.hpp>
  9. #include <RegStr.hpp>
  10. #include <ShellAPI.hpp>
  11. #include <CommCtrl.hpp>
  12. #include <OLE2.hpp>
  13. #include <Windows.hpp>
  14. #include <System.hpp>
  15. #pragma warn -par
  16. #pragma warn -hid 
  17. #pragma warn -inl
  18.  
  19. namespace Shlobj
  20. {
  21. //-- type declarations -------------------------------------------------------
  22. struct TSHItemID;
  23. typedef TSHItemID *PSHItemID;
  24.  
  25. #pragma pack(push, 1)
  26. struct TSHItemID
  27. {
  28.     Word cb;
  29.     Byte abID[1];
  30. } ;
  31. #pragma pack(pop)
  32.  
  33. #pragma pack(push, 1)
  34. struct TItemIDList
  35. {
  36.     TSHItemID mkid;
  37. } ;
  38. #pragma pack(pop)
  39.  
  40. typedef TItemIDList *PItemIDList;
  41.  
  42. struct TCMInvokeCommandInfo;
  43. typedef TCMInvokeCommandInfo *PCMInvokeCommandInfo;
  44.  
  45. #pragma pack(push, 1)
  46. struct TCMInvokeCommandInfo
  47. {
  48.     int cbSize;
  49.     int fMask;
  50.     HWND hwnd;
  51.     char *lpVerb;
  52.     char *lpParameters;
  53.     char *lpDirectory;
  54.     int nShow;
  55.     int dwHotKey;
  56.     int hIcon;
  57. } ;
  58. #pragma pack(pop)
  59.  
  60. class __declspec(delphiclass) IContextMenu;
  61. class __declspec(pascalimplementation) IContextMenu : public Ole2::IUnknown
  62. {
  63.     typedef Ole2::IUnknown inherited;
  64.     
  65. public:
  66.     virtual long __stdcall QueryContextMenu(HMENU Menu, int indexMenu, int idCmdFirst, int idCmdLast, int 
  67.         uFlags) = 0;
  68.     virtual long __stdcall InvokeCommand(TCMInvokeCommandInfo &lpici) = 0;
  69.     virtual long __stdcall GetCommandString(int idCmd, int uType, PUINT pwReserved, char * pszName, int 
  70.         cchMax) = 0;
  71. public:
  72.     /* TObject.Create */ __fastcall IContextMenu(void) : Ole2::IUnknown() { }
  73.     /* TObject.Destroy */ __fastcall virtual ~IContextMenu(void) { }
  74.     
  75. };
  76.  
  77. class __declspec(delphiclass) IShellExtInit;
  78. class __declspec(pascalimplementation) IShellExtInit : public Ole2::IUnknown
  79. {
  80.     typedef Ole2::IUnknown inherited;
  81.     
  82. public:
  83.     virtual long __stdcall Initialize(PItemIDList pidlFolder, Ole2::IDataObject* lpdobj, HKEY hKeyProgID
  84.         ) = 0;
  85. public:
  86.     /* TObject.Create */ __fastcall IShellExtInit(void) : Ole2::IUnknown() { }
  87.     /* TObject.Destroy */ __fastcall virtual ~IShellExtInit(void) { }
  88.     
  89. };
  90.  
  91. class __declspec(delphiclass) IShellPropSheetExt;
  92. class __declspec(pascalimplementation) IShellPropSheetExt : public Ole2::IUnknown
  93. {
  94.     typedef Ole2::IUnknown inherited;
  95.     
  96. public:
  97.     virtual long __stdcall AddPages(Commctrl::TFNAddPropSheetPage lpfnAddPage, long lParam) = 0;
  98.     virtual long __stdcall ReplacePage(int uPageID, Commctrl::TFNAddPropSheetPage lpfnReplaceWith, long 
  99.         lParam) = 0;
  100. public:
  101.     /* TObject.Create */ __fastcall IShellPropSheetExt(void) : Ole2::IUnknown() { }
  102.     /* TObject.Destroy */ __fastcall virtual ~IShellPropSheetExt(void) { }
  103.     
  104. };
  105.  
  106. class __declspec(delphiclass) IExtractIcon;
  107. class __declspec(pascalimplementation) IExtractIcon : public Ole2::IUnknown
  108. {
  109.     typedef Ole2::IUnknown inherited;
  110.     
  111. public:
  112.     virtual long __stdcall GetIconLocation(int uFlags, char * szIconFile, int cchMax, int &piIndex, int 
  113.         &pwFlags) = 0;
  114.     virtual long __stdcall Extract(char * pszFile, int nIconIndex, HICON &phiconLarge, HICON &phiconSmall
  115.         , int nIconSize) = 0;
  116. public:
  117.     /* TObject.Create */ __fastcall IExtractIcon(void) : Ole2::IUnknown() { }
  118.     /* TObject.Destroy */ __fastcall virtual ~IExtractIcon(void) { }
  119.     
  120. };
  121.  
  122. class __declspec(delphiclass) IShellLink;
  123. class __declspec(pascalimplementation) IShellLink : public Ole2::IUnknown
  124. {
  125.     typedef Ole2::IUnknown inherited;
  126.     
  127. public:
  128.     virtual long __stdcall GetPath(char * pszFile, int cchMaxPath, WIN32_FIND_DATAA &pfd, int fFlags) = 0
  129.         ;
  130.     virtual long __stdcall GetIDList(PItemIDList &ppidl) = 0;
  131.     virtual long __stdcall SetIDList(PItemIDList pidl) = 0;
  132.     virtual long __stdcall GetDescription(char * pszName, int cchMaxName) = 0;
  133.     virtual long __stdcall SetDescription(char * pszName) = 0;
  134.     virtual long __stdcall GetWorkingDirectory(char * pszDir, int cchMaxPath) = 0;
  135.     virtual long __stdcall SetWorkingDirectory(char * pszDir) = 0;
  136.     virtual long __stdcall GetArguments(char * pszArgs, int cchMaxPath) = 0;
  137.     virtual long __stdcall SetArguments(char * pszArgs) = 0;
  138.     virtual long __stdcall GetHotkey(Word &pwHotkey) = 0;
  139.     virtual long __stdcall SetHotkey(Word wHotkey) = 0;
  140.     virtual long __stdcall GetShowCmd(int &piShowCmd) = 0;
  141.     virtual long __stdcall SetShowCmd(int iShowCmd) = 0;
  142.     virtual long __stdcall GetIconLocation(char * pszIconPath, int cchIconPath, int &piIcon) = 0;
  143.     virtual long __stdcall SetIconLocation(char * pszIconPath, int iIcon) = 0;
  144.     virtual long __stdcall SetRelativePath(char * pszPathRel, int dwReserved) = 0;
  145.     virtual long __stdcall Resolve(HWND Wnd, int fFlags) = 0;
  146.     virtual long __stdcall SetPath(char * pszFile) = 0;
  147. public:
  148.     /* TObject.Create */ __fastcall IShellLink(void) : Ole2::IUnknown() { }
  149.     /* TObject.Destroy */ __fastcall virtual ~IShellLink(void) { }
  150.     
  151. };
  152.  
  153. class __declspec(delphiclass) ICopyHook;
  154. class __declspec(pascalimplementation) ICopyHook : public Ole2::IUnknown
  155. {
  156.     typedef Ole2::IUnknown inherited;
  157.     
  158. public:
  159.     virtual int __stdcall CopyCallback(HWND Wnd, int wFunc, int wFlags, char * pszSrcFile, int dwSrcAttribs
  160.         , char * pszDestFile, int dwDestAttribs) = 0;
  161. public:
  162.     /* TObject.Create */ __fastcall ICopyHook(void) : Ole2::IUnknown() { }
  163.     /* TObject.Destroy */ __fastcall virtual ~ICopyHook(void) { }
  164.     
  165. };
  166.  
  167. class __declspec(delphiclass) IFileViewerSite;
  168. class __declspec(pascalimplementation) IFileViewerSite : public Ole2::IUnknown
  169. {
  170.     typedef Ole2::IUnknown inherited;
  171.     
  172. public:
  173.     virtual long __stdcall SetPinnedWindow(HWND Wnd) = 0;
  174.     virtual long __stdcall GetPinnedWindow(HWND &Wnd) = 0;
  175. public:
  176.     /* TObject.Create */ __fastcall IFileViewerSite(void) : Ole2::IUnknown() { }
  177.     /* TObject.Destroy */ __fastcall virtual ~IFileViewerSite(void) { }
  178.     
  179. };
  180.  
  181. struct TFVShowInfo;
  182. typedef TFVShowInfo *PFVShowInfo;
  183.  
  184. #pragma pack(push, 1)
  185. struct TFVShowInfo
  186. {
  187.     int cbSize;
  188.     HWND hwndOwner;
  189.     int iShow;
  190.     int dwFlags;
  191.     Windows::TRect rect;
  192.     Ole2::IUnknown* punkRel;
  193.     wchar_t strNewFile[260];
  194. } ;
  195. #pragma pack(pop)
  196.  
  197. class __declspec(delphiclass) IFileViewer;
  198. class __declspec(pascalimplementation) IFileViewer : public Ole2::IUnknown
  199. {
  200.     typedef Ole2::IUnknown inherited;
  201.     
  202. public:
  203.     virtual long __stdcall ShowInitialize(IFileViewerSite* fsi) = 0;
  204.     virtual long __stdcall Show(TFVShowInfo &pvsi) = 0;
  205.     virtual long __stdcall PrintTo(char * pszDriver, DWord fSuppressUI) = 0;
  206. public:
  207.     /* TObject.Create */ __fastcall IFileViewer(void) : Ole2::IUnknown() { }
  208.     /* TObject.Destroy */ __fastcall virtual ~IFileViewer(void) { }
  209.     
  210. };
  211.  
  212. struct TStrRet;
  213. typedef TStrRet *PSTRRet;
  214.  
  215. #pragma pack(push, 1)
  216. struct TStrRet
  217. {
  218.     int uType;
  219.     union
  220.     {
  221.         char cStr[260];
  222.         int uOffset;
  223.         wchar_t *pOleStr;
  224.         
  225.     };
  226. } ;
  227. #pragma pack(pop)
  228.  
  229. typedef int __stdcall (*TFNBFFCallBack)(HWND Wnd, int uMsg, long lParam, long lpData);
  230.  
  231. struct TBrowseInfo;
  232. typedef TBrowseInfo *PBrowseInfo;
  233.  
  234. #pragma pack(push, 1)
  235. struct TBrowseInfo
  236. {
  237.     HWND hwndOwner;
  238.     TItemIDList *pidlRoot;
  239.     char *pszDisplayName;
  240.     char *lpszTitle;
  241.     int ulFlags;
  242.     TFNBFFCallBack lpfn;
  243.     long lParam;
  244.     int iImage;
  245. } ;
  246. #pragma pack(pop)
  247.  
  248. class __declspec(delphiclass) IEnumIDList;
  249. class __declspec(pascalimplementation) IEnumIDList : public Ole2::IUnknown
  250. {
  251.     typedef Ole2::IUnknown inherited;
  252.     
  253. public:
  254.     virtual long __stdcall Next(Cardinal celt, PItemIDList &rgelt, Cardinal &pceltFetched) = 0;
  255.     virtual long __stdcall Skip(Cardinal celt) = 0;
  256.     virtual long __stdcall Reset(void) = 0;
  257.     virtual long __stdcall Clone(IEnumIDList* &ppenum) = 0;
  258. public:
  259.     /* TObject.Create */ __fastcall IEnumIDList(void) : Ole2::IUnknown() { }
  260.     /* TObject.Destroy */ __fastcall virtual ~IEnumIDList(void) { }
  261.     
  262. };
  263.  
  264. class __declspec(delphiclass) IShellFolder;
  265. class __declspec(pascalimplementation) IShellFolder : public Ole2::IUnknown
  266. {
  267.     typedef Ole2::IUnknown inherited;
  268.     
  269. public:
  270.     virtual long __stdcall ParseDisplayName(HWND hwndOwner, void * pbcReserved, wchar_t * lpszDisplayName
  271.         , Cardinal &pchEaten, PItemIDList &ppidl, Cardinal &dwAttributes) = 0;
  272.     virtual long __stdcall EnumObjects(HWND hwndOwner, int grfFlags, IEnumIDList* &EnumIDList) = 0;
  273.     virtual long __stdcall BindToObject(PItemIDList pidl, void * pbcReserved, const GUID &riid, void * 
  274.         &ppvOut) = 0;
  275.     virtual long __stdcall BindToStorage(PItemIDList pidl, void * pbcReserved, const GUID &riid, void * 
  276.         &ppvObj) = 0;
  277.     virtual long __stdcall CompareIDs(long lParam, PItemIDList pidl1, PItemIDList pidl2) = 0;
  278.     virtual long __stdcall CreateViewObject(HWND hwndOwner, const GUID &riid, void * &ppvOut) = 0;
  279.     virtual long __stdcall GetAttributesOf(int cidl, PItemIDList &apidl, int &rgfInOut) = 0;
  280.     virtual long __stdcall GetUIObjectOf(HWND hwndOwner, int cidl, PItemIDList &apidl, const GUID &riid
  281.         , int &prgfInOut, void * &ppvOut) = 0;
  282.     virtual long __stdcall GetDisplayNameOf(PItemIDList pidl, int uFlags, TStrRet &lpName) = 0;
  283.     virtual long __stdcall SetNameOf(HWND hwndOwner, PItemIDList pidl, wchar_t * lpszName, int uFlags, 
  284.         PItemIDList &ppidlOut) = 0;
  285. public:
  286.     /* TObject.Create */ __fastcall IShellFolder(void) : Ole2::IUnknown() { }
  287.     /* TObject.Destroy */ __fastcall virtual ~IShellFolder(void) { }
  288.     
  289. };
  290.  
  291. struct TNResArray;
  292. typedef TNResArray *PNResArray;
  293.  
  294. #pragma pack(push, 1)
  295. struct TNResArray
  296. {
  297.     int cItems;
  298.     NETRESOURCEA nr[1];
  299. } ;
  300. #pragma pack(pop)
  301.  
  302. struct TIDA;
  303. typedef TIDA *PIDA;
  304.  
  305. #pragma pack(push, 1)
  306. struct TIDA
  307. {
  308.     int cidl;
  309.     int aoffset[1];
  310. } ;
  311. #pragma pack(pop)
  312.  
  313. struct TFileDescriptor;
  314. typedef TFileDescriptor *PFileDescriptor;
  315.  
  316. #pragma pack(push, 1)
  317. struct TFileDescriptor
  318. {
  319.     int dwFlags;
  320.     GUID clsid;
  321.     SIZE sizel;
  322.     POINT pointl;
  323.     int dwFileAttributes;
  324.     FILETIME ftCreationTime;
  325.     FILETIME ftLastAccessTime;
  326.     FILETIME ftLastWriteTime;
  327.     int nFileSizeHigh;
  328.     int nFileSizeLow;
  329.     char cFileName[260];
  330. } ;
  331. #pragma pack(pop)
  332.  
  333. struct TFileGroupDescriptor;
  334. typedef TFileGroupDescriptor *PFileGroupDescriptor;
  335.  
  336. #pragma pack(push, 1)
  337. struct TFileGroupDescriptor
  338. {
  339.     int cItems;
  340.     TFileDescriptor fgd[1];
  341. } ;
  342. #pragma pack(pop)
  343.  
  344. struct TDropFiles;
  345. typedef TDropFiles *PDropFiles;
  346.  
  347. #pragma pack(push, 1)
  348. struct TDropFiles
  349. {
  350.     int pFiles;
  351.     POINT pt;
  352.     DWord fNC;
  353.     DWord fWide;
  354. } ;
  355. #pragma pack(pop)
  356.  
  357. //-- var, const, procedure ---------------------------------------------------
  358. extern GUID CLSID_ShellDesktop;
  359. extern GUID CLSID_ShellLink;
  360. extern GUID IID_IContextMenu;
  361. extern GUID IID_IShellFolder;
  362. extern GUID IID_IShellExtInit;
  363. extern GUID IID_IShellPropSheetExt;
  364. extern GUID IID_IExtractIcon;
  365. extern GUID IID_IShellLink;
  366. extern GUID IID_IShellCopyHook;
  367. extern GUID IID_IFileViewer;
  368. extern GUID IID_IEnumIDList;
  369. extern GUID IID_IFileViewerSite;
  370. #define CMF_NORMAL (Byte)(0)
  371. #define CMF_DEFAULTONLY (Byte)(1)
  372. #define CMF_VERBSONLY (Byte)(2)
  373. #define CMF_EXPLORE (Byte)(4)
  374. #define CMF_RESERVED (int)(-65536)
  375. #define GCS_VERB (Byte)(0)
  376. #define GCS_HELPTEXT (Byte)(1)
  377. #define GCS_VALIDATE (Byte)(2)
  378. #define CMDSTR_NEWFOLDER "NewFolder"
  379. #define CMDSTR_VIEWLIST "ViewList"
  380. #define CMDSTR_VIEWDETAILS "ViewDetails"
  381. #define CMIC_MASK_HOTKEY (Byte)(32)
  382. #define CMIC_MASK_ICON (Byte)(16)
  383. #define CMIC_MASK_FLAG_NO_UI (Word)(1024)
  384. #define CMIC_MASK_MODAL (int)(-2147483648)
  385. #define GIL_OPENICON (Byte)(1)
  386. #define GIL_FORSHELL (Byte)(2)
  387. #define GIL_SIMULATEDOC (Byte)(1)
  388. #define GIL_PERINSTANCE (Byte)(2)
  389. #define GIL_PERCLASS (Byte)(4)
  390. #define GIL_NOTFILENAME (Byte)(8)
  391. #define GIL_DONTCACHE (Byte)(16)
  392. #define SLR_NO_UI (Byte)(1)
  393. #define SLR_ANY_MATCH (Byte)(2)
  394. #define SLR_UPDATE (Byte)(4)
  395. #define SLGP_SHORTPATH (Byte)(1)
  396. #define SLGP_UNCPRIORITY (Byte)(2)
  397. #define FVSIF_RECT (Byte)(1)
  398. #define FVSIF_PINNED (Byte)(2)
  399. #define FVSIF_NEWFAILED (int)(134217728)
  400. #define FVSIF_NEWFILE (int)(-2147483648)
  401. #define FVSIF_CANVIEWIT (int)(1073741824)
  402. #define STRRET_WSTR (Byte)(0)
  403. #define STRRET_OFFSET (Byte)(1)
  404. #define STRRET_CSTR (Byte)(2)
  405. #define REGSTR_PATH_SPECIAL_FOLDERS "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\She"\
  406.     "ll Folders"
  407. #define CSIDL_DESKTOP (Byte)(0)
  408. #define CSIDL_PROGRAMS (Byte)(2)
  409. #define CSIDL_CONTROLS (Byte)(3)
  410. #define CSIDL_PRINTERS (Byte)(4)
  411. #define CSIDL_PERSONAL (Byte)(5)
  412. #define CSIDL_FAVORITES (Byte)(6)
  413. #define CSIDL_STARTUP (Byte)(7)
  414. #define CSIDL_RECENT (Byte)(8)
  415. #define CSIDL_SENDTO (Byte)(9)
  416. #define CSIDL_BITBUCKET (Byte)(10)
  417. #define CSIDL_STARTMENU (Byte)(11)
  418. #define CSIDL_DESKTOPDIRECTORY (Byte)(16)
  419. #define CSIDL_DRIVES (Byte)(17)
  420. #define CSIDL_NETWORK (Byte)(18)
  421. #define CSIDL_NETHOOD (Byte)(19)
  422. #define CSIDL_FONTS (Byte)(20)
  423. #define CSIDL_TEMPLATES (Byte)(21)
  424. #define BIF_RETURNONLYFSDIRS (Byte)(1)
  425. #define BIF_DONTGOBELOWDOMAIN (Byte)(2)
  426. #define BIF_STATUSTEXT (Byte)(4)
  427. #define BIF_RETURNFSANCESTORS (Byte)(8)
  428. #define BIF_BROWSEFORCOMPUTER (Word)(4096)
  429. #define BIF_BROWSEFORPRINTER (Word)(8192)
  430. #define BFFM_INITIALIZED (Byte)(1)
  431. #define BFFM_SELCHANGED (Byte)(2)
  432. #define BFFM_SETSTATUSTEXT (Word)(1124)
  433. #define BFFM_ENABLEOK (Word)(1125)
  434. #define BFFM_SETSELECTION (Word)(1126)
  435. #define SHGDN_NORMAL (Byte)(0)
  436. #define SHGDN_INFOLDER (Byte)(1)
  437. #define SHGDN_FORPARSING (int)(32768)
  438. #define SHCONTF_FOLDERS (Byte)(32)
  439. #define SHCONTF_NONFOLDERS (Byte)(64)
  440. #define SHCONTF_INCLUDEHIDDEN (Byte)(128)
  441. #define SFGAO_CANCOPY (Byte)(1)
  442. #define SFGAO_CANMOVE (Byte)(2)
  443. #define SFGAO_CANLINK (Byte)(4)
  444. #define SFGAO_CANRENAME (Byte)(16)
  445. #define SFGAO_CANDELETE (Byte)(32)
  446. #define SFGAO_HASPROPSHEET (Byte)(64)
  447. #define SFGAO_DROPTARGET (Word)(256)
  448. #define SFGAO_CAPABILITYMASK (Word)(375)
  449. #define SFGAO_LINK (int)(65536)
  450. #define SFGAO_SHARE (int)(131072)
  451. #define SFGAO_READONLY (int)(262144)
  452. #define SFGAO_GHOSTED (int)(524288)
  453. #define SFGAO_DISPLAYATTRMASK (int)(983040)
  454. #define SFGAO_FILESYSANCESTOR (int)(268435456)
  455. #define SFGAO_FOLDER (int)(536870912)
  456. #define SFGAO_FILESYSTEM (int)(1073741824)
  457. #define SFGAO_HASSUBFOLDER (int)(-2147483648)
  458. #define SFGAO_CONTENTSMASK (int)(-2147483648)
  459. #define SFGAO_VALIDATE (int)(16777216)
  460. #define SFGAO_REMOVABLE (int)(33554432)
  461. #define CFSTR_SHELLIDLIST "Shell IDList Array"
  462. #define CFSTR_SHELLIDLISTOFFSET "Shell Object Offsets"
  463. #define CFSTR_NETRESOURCES "Net Resource"
  464. #define CFSTR_FILEDESCRIPTOR "FileGroupDescriptor"
  465. #define CFSTR_FILECONTENTS "FileContents"
  466. #define CFSTR_FILENAME "FileName"
  467. #define CFSTR_PRINTERGROUP "PrinterFriendlyName"
  468. #define CFSTR_FILENAMEMAP "FileNameMap"
  469. #define DVASPECT_SHORTNAME (Byte)(2)
  470. #define FD_CLSID (Byte)(1)
  471. #define FD_SIZEPOINT (Byte)(2)
  472. #define FD_ATTRIBUTES (Byte)(4)
  473. #define FD_CREATETIME (Byte)(8)
  474. #define FD_ACCESSTIME (Byte)(16)
  475. #define FD_WRITESTIME (Byte)(32)
  476. #define FD_FILESIZE (Byte)(64)
  477. #define FD_LINKUI (int)(32768)
  478. #define SHCNE_RENAMEITEM (Byte)(1)
  479. #define SHCNE_CREATE (Byte)(2)
  480. #define SHCNE_DELETE (Byte)(4)
  481. #define SHCNE_MKDIR (Byte)(8)
  482. #define SHCNE_RMDIR (Byte)(16)
  483. #define SHCNE_MEDIAINSERTED (Byte)(32)
  484. #define SHCNE_MEDIAREMOVED (Byte)(64)
  485. #define SHCNE_DRIVEREMOVED (Byte)(128)
  486. #define SHCNE_DRIVEADD (Word)(256)
  487. #define SHCNE_NETSHARE (Word)(512)
  488. #define SHCNE_NETUNSHARE (Word)(1024)
  489. #define SHCNE_ATTRIBUTES (Word)(2048)
  490. #define SHCNE_UPDATEDIR (Word)(4096)
  491. #define SHCNE_UPDATEITEM (Word)(8192)
  492. #define SHCNE_SERVERDISCONNECT (Word)(16384)
  493. #define SHCNE_UPDATEIMAGE (int)(32768)
  494. #define SHCNE_DRIVEADDGUI (int)(65536)
  495. #define SHCNE_RENAMEFOLDER (int)(131072)
  496. #define SHCNE_FREESPACE (int)(262144)
  497. #define SHCNE_ASSOCCHANGED (int)(134217728)
  498. #define SHCNE_DISKEVENTS (int)(145439)
  499. #define SHCNE_GLOBALEVENTS (int)(201687520)
  500. #define SHCNE_ALLEVENTS (int)(2147483647)
  501. #define SHCNE_INTERRUPT (int)(-2147483648)
  502. #define SHCNF_IDLIST (Byte)(0)
  503. #define SHCNF_PATH (Byte)(1)
  504. #define SHCNF_PRINTER (Byte)(2)
  505. #define SHCNF_DWORD (Byte)(3)
  506. #define SHCNF_TYPE (Byte)(255)
  507. #define SHCNF_FLUSH (Word)(4096)
  508. #define SHCNF_FLUSHNOWAIT (Word)(8192)
  509. #define SHARD_PIDL (Byte)(1)
  510. #define SHARD_PATH (Byte)(2)
  511. extern "C" long __stdcall SHGetMalloc(Ole2::IMalloc* &ppMalloc);
  512. extern "C" DWord __stdcall SHGetPathFromIDList(PItemIDList pidl, char * pszPath);
  513. extern "C" long __stdcall SHGetSpecialFolderLocation(HWND hwndOwner, int nFolder, PItemIDList &ppidl
  514.     );
  515. extern "C" PItemIDList __stdcall SHBrowseForFolder(TBrowseInfo &lpbi);
  516. extern "C" long __stdcall SHLoadInProc(const GUID &rclsid);
  517. extern "C" long __stdcall SHGetDesktopFolder(IShellFolder* &ppshf);
  518. extern "C" void __stdcall SHChangeNotify(long wEventId, int uFlags, void * dwItem1, void * dwItem2);
  519.     
  520. extern "C" void __stdcall SHAddToRecentDocs(int uFlags, void * pv);
  521. extern "C" long __stdcall SHGetInstanceExplorer(Ole2::IUnknown* &ppUnk);
  522.  
  523. }    /* namespace Shlobj */
  524.  
  525. #pragma warn .par
  526. #pragma warn .hid 
  527. #pragma warn .inl
  528.  
  529. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  530. using namespace Shlobj;
  531. #endif
  532. //-- end unit ----------------------------------------------------------------
  533. #endif    // ShlObj
  534.