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.

64 lines
1.5 KiB

  1. //
  2. // stock.h: shell\lib precompiled header file
  3. //
  4. #ifndef __STOCK_H__
  5. #define __STOCK_H__
  6. #ifndef STRICT
  7. #define STRICT
  8. #endif
  9. //
  10. // NT uses DBG=1 for its debug builds, but the Win95 shell uses
  11. // DEBUG. Do the appropriate mapping here.
  12. //
  13. #if DBG
  14. #define DEBUG 1
  15. #endif
  16. #define _SHLWAPI_ // Make sure we don't get declspec(dllimport) for these
  17. #define _SHELL32_ // otherwise we get errors from the linker for the delayload
  18. #define _OLE32_ // stubs
  19. #include <windows.h>
  20. #include <oleauto.h>
  21. #include <exdisp.h>
  22. #include <shlwapi.h>
  23. #include <shlwapip.h>
  24. #include <commctrl.h>
  25. #include <shlobj.h>
  26. #include <debug.h>
  27. #include <port32.h>
  28. #include <ccstock.h>
  29. #include <shsemip.h> // for _ILNext
  30. STDAPI_(LPITEMIDLIST) SafeILClone(LPCITEMIDLIST pidl);
  31. #define ILClone SafeILClone
  32. // Some files are compiled twice: once for unicode and once for ansi.
  33. // There are some functions which do not want to be declared twice
  34. // (the ones which don't use string parameters). Otherwise we'd get
  35. // duplicate redefinitions.
  36. //
  37. // These are wrapped with #ifdef DECLARE_ONCE.
  38. #ifdef UNICODE
  39. #define DECLARE_ONCE
  40. #else
  41. #undef DECLARE_ONCE
  42. #endif
  43. // Note that CharNext is not supported on win95. Normally we would
  44. // include w95wraps.h, but comctl does not link to shlwapi and
  45. // we don't want to add this dependency.
  46. #ifdef UNICODE
  47. // Note that this will still break if we ever go back to non-unicode
  48. __inline LPWSTR CharNextWrapW_(LPWSTR psz) {return ++psz;}
  49. #undef CharNext
  50. #define CharNext CharNextWrapW_
  51. #endif
  52. #endif // __STOCK_H__