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.

54 lines
1.4 KiB

  1. //*******************************************************************************************
  2. //
  3. // Filename : CabItms.h
  4. //
  5. // Definitions of CCabItems and CCabExtract
  6. //
  7. // Copyright (c) 1994 - 1996 Microsoft Corporation. All rights reserved
  8. //
  9. //*******************************************************************************************
  10. #ifndef _CABITMS_H_
  11. #define _CABITMS_H_
  12. #include "fdi.h"
  13. class CCabItems
  14. {
  15. public:
  16. typedef void (CALLBACK *PFNCABITEM)(LPCTSTR pszFile, DWORD dwSize, UINT date,
  17. UINT time, UINT attribs, LPARAM lParam);
  18. CCabItems(LPTSTR szCabFile) {lstrcpyn(m_szCabFile, szCabFile, ARRAYSIZE(m_szCabFile));}
  19. ~CCabItems() {}
  20. BOOL EnumItems(PFNCABITEM pfnCallBack, LPARAM lParam);
  21. private:
  22. TCHAR m_szCabFile[MAX_PATH];
  23. } ;
  24. class CCabExtract
  25. {
  26. public:
  27. #define DIR_MEM ((LPCTSTR)1)
  28. #define EXTRACT_FALSE ((HGLOBAL *)0)
  29. #define EXTRACT_TRUE ((HGLOBAL *)1)
  30. typedef HGLOBAL * (CALLBACK *PFNCABEXTRACT)(LPCTSTR pszFile, DWORD dwSize, UINT date,
  31. UINT time, UINT attribs, LPARAM lParam);
  32. CCabExtract(LPTSTR szCabFile) {lstrcpyn(m_szCabFile, szCabFile, ARRAYSIZE(m_szCabFile));}
  33. ~CCabExtract() {}
  34. BOOL ExtractItems(HWND hwndOwner, LPCTSTR szDir, PFNCABEXTRACT pfnCallBack, LPARAM lParam);
  35. BOOL ExtractToFolder(HWND hwndOwner, IDataObject* pdo, PFNCABEXTRACT pfnCallBack, LPARAM lParam);
  36. private:
  37. HRESULT _DoDragDrop(HWND hwnd, IDataObject* pdo, LPCITEMIDLIST pidlFolder);
  38. TCHAR m_szCabFile[MAX_PATH];
  39. } ;
  40. #endif // _CABITMS_H_