Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

31 lines
1.5 KiB

  1. #include <dobjutil.h> // shell\inc (shared stuff)
  2. #include "idlcomm.h"
  3. // helper functions for people working with data objects
  4. typedef struct
  5. {
  6. IProgressDialog * ppd;
  7. ULARGE_INTEGER uliBytesCompleted;
  8. ULARGE_INTEGER uliBytesTotal;
  9. } PROGRESSINFO;
  10. STDAPI_(UINT) DataObj_GetHIDACount(IDataObject *pdtobj);
  11. STDAPI DataObj_SetDropTarget(IDataObject *pdtobj, const CLSID *pclsid);
  12. STDAPI DataObj_GetDropTarget(IDataObject *pdtobj, CLSID *pclsid);
  13. STDAPI_(void *) DataObj_SaveShellData(IDataObject *pdtobj, BOOL fShared);
  14. STDAPI DataObj_GetShellURL(IDataObject *pdtobj, STGMEDIUM *pmedium, LPCSTR *ppszURL);
  15. STDAPI_(void) ReleaseStgMediumHGLOBAL(void *pv, STGMEDIUM *pmedium);
  16. STDAPI DataObj_SaveToFile(IDataObject *pdtobj, UINT cf, LONG lindex, LPCTSTR pszFile, FILEDESCRIPTOR *pfd, PROGRESSINFO * ppi);
  17. STDAPI DataObj_GetOFFSETs(IDataObject *pdtobj, POINT * ppt);
  18. STDAPI_(BOOL) DataObj_CanGoAsync(IDataObject *pdtobj);
  19. STDAPI_(BOOL) DataObj_GoAsyncForCompat(IDataObject *pdtobj);
  20. STDAPI DataObj_CopyHIDA(IDataObject * pdtobj, HIDA *phida); // use GlobalFree() to free it
  21. STDAPI DataObj_GetIShellItem(IDataObject *pdtobj, IShellItem** ppsi);
  22. STDAPI PathFromDataObject(IDataObject *pdtobj, LPTSTR pszPath, UINT cchPath);
  23. STDAPI PidlFromDataObject(IDataObject *pdtobj, LPITEMIDLIST *ppidlTarget);
  24. #define HIDA_GetPIDLFolder(pida) (LPCITEMIDLIST)(((LPBYTE)pida)+(pida)->aoffset[0])
  25. #define HIDA_GetPIDLItem(pida, i) (LPCITEMIDLIST)(((LPBYTE)pida)+(pida)->aoffset[i+1])