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.

59 lines
1.6 KiB

  1. //*******************************************************************************************
  2. //
  3. // Filename : Cabvw2.h
  4. //
  5. // Cab_MergeMenu
  6. //
  7. // Copyright (c) 1994 - 1996 Microsoft Corporation. All rights reserved
  8. //
  9. //*******************************************************************************************
  10. #ifndef _ISHELL2_H_
  11. #define _ISHELL2_H_
  12. #ifdef __cplusplus
  13. extern "C" {
  14. #endif
  15. //===========================================================================
  16. // ITEMIDLIST
  17. //===========================================================================
  18. // unsafe macros
  19. #define _ILSkip(pidl, cb) ((LPITEMIDLIST)(((BYTE*)(pidl))+cb))
  20. #define _ILNext(pidl) _ILSkip(pidl, (pidl)->mkid.cb)
  21. #ifdef DEBUG
  22. // Dugging aids for making sure we dont use free pidls
  23. #define VALIDATE_PIDL(pidl) Assert((pidl)->mkid.cb != 0xC5C5)
  24. #else
  25. #define VALIDATE_PIDL(pidl)
  26. #endif
  27. void ILFree(LPITEMIDLIST pidl);
  28. LPITEMIDLIST ILClone(LPCITEMIDLIST pidl);
  29. UINT ILGetSize(LPCITEMIDLIST pidl);
  30. typedef void (WINAPI FAR* RUNDLLPROC)(HWND hwndStub,
  31. HINSTANCE hAppInstance,
  32. LPSTR lpszCmdLine, int nCmdShow);
  33. UINT Cab_MergeMenus(HMENU hmDst, HMENU hmSrc, UINT uInsert, UINT uIDAdjust, UINT uIDAdjustMax, ULONG uFlags);
  34. //===================================================================
  35. // Cab_MergeMenu parameter
  36. //
  37. #define MM_ADDSEPARATOR 0x00000001L
  38. #define MM_SUBMENUSHAVEIDS 0x00000002L
  39. #define ARRAYSIZE(a) (sizeof(a)/sizeof(a[0]))
  40. #ifdef __cplusplus
  41. }
  42. #endif
  43. #endif // _ISHELL2_H_