windows-nt/Source/XPSP1/NT/shell/ext/cabview/cabvw2.h
2020-09-26 16:20:57 +08:00

60 lines
1.6 KiB
C

//*******************************************************************************************
//
// Filename : Cabvw2.h
//
// Cab_MergeMenu
//
// Copyright (c) 1994 - 1996 Microsoft Corporation. All rights reserved
//
//*******************************************************************************************
#ifndef _ISHELL2_H_
#define _ISHELL2_H_
#ifdef __cplusplus
extern "C" {
#endif
//===========================================================================
// ITEMIDLIST
//===========================================================================
// unsafe macros
#define _ILSkip(pidl, cb) ((LPITEMIDLIST)(((BYTE*)(pidl))+cb))
#define _ILNext(pidl) _ILSkip(pidl, (pidl)->mkid.cb)
#ifdef DEBUG
// Dugging aids for making sure we dont use free pidls
#define VALIDATE_PIDL(pidl) Assert((pidl)->mkid.cb != 0xC5C5)
#else
#define VALIDATE_PIDL(pidl)
#endif
void ILFree(LPITEMIDLIST pidl);
LPITEMIDLIST ILClone(LPCITEMIDLIST pidl);
UINT ILGetSize(LPCITEMIDLIST pidl);
typedef void (WINAPI FAR* RUNDLLPROC)(HWND hwndStub,
HINSTANCE hAppInstance,
LPSTR lpszCmdLine, int nCmdShow);
UINT Cab_MergeMenus(HMENU hmDst, HMENU hmSrc, UINT uInsert, UINT uIDAdjust, UINT uIDAdjustMax, ULONG uFlags);
//===================================================================
// Cab_MergeMenu parameter
//
#define MM_ADDSEPARATOR 0x00000001L
#define MM_SUBMENUSHAVEIDS 0x00000002L
#define ARRAYSIZE(a) (sizeof(a)/sizeof(a[0]))
#ifdef __cplusplus
}
#endif
#endif // _ISHELL2_H_