windows-nt/Source/XPSP1/NT/multimedia/media/inc/gmem.h
2020-09-26 16:20:57 +08:00

40 lines
1.2 KiB
C

/*
gmem.h
This module supplies macros for fixed global memory
allocation compatible with those used in the Multimedia
extensions to Windows 3.x. It is included to simplify
porting of the Windows 3.x 16 bit code.
Jul-16-91 NigelT
*/
#ifndef _GMEMMACROS_
#define _GMEMMACROS_
#define GAllocPtr(ul) GlobalAlloc(GPTR,(ul))
#define GAllocPtrF(f,ul) GlobalAlloc(GPTR,(ul))
#define GReAllocPtr(lp,ul) GlobalReAlloc((HANDLE)(lp),(ul),GPTR)
#define GFreePtr(lp) GlobalFree((HANDLE)(lp))
#define GlobalAllocPtrF(f,ul) GlobalAlloc(GPTR,(ul))
//#define GlobalReAllocPtr(lp,ul,f) GlobalReAlloc((HANDLE)(lp),(ul),GPTR)
#define GlobalPtrHandle(h) (GlobalHandle(h))
/* the following are extracts from 3.1 WindowsX.h */
#define GlobalUnlockPtr(lp) \
GlobalUnlock(GlobalPtrHandle(lp))
#define GlobalAllocPtr(flags, cb) \
(GlobalLock(GlobalAlloc((flags), (cb))))
#define GlobalReAllocPtr(lp, cbNew, flags) \
(GlobalUnlockPtr(lp), GlobalLock(GlobalReAlloc(GlobalPtrHandle(lp) , (cbNew), (flags))))
#define GlobalFreePtr(lp) \
(GlobalUnlockPtr(lp), (BOOL)GlobalFree(GlobalPtrHandle(lp)))
#endif // _GMEMMACROS_