The 16-bit operating systems Windows 3.1x and DOS had a very intricate memory model that required the use of functions like GlobalAlloc() and GlobalLock(). These functions addressed a specific problem associated with the 80X86 processor family. However, all Win32 systems use an entirely different and improved memory model that eliminated many of the ailments that existed in the Win16 memory model. With the migration to Win32, not only did the standard malloc(), free(), new and delete became safe to use, they are also the recommended practice. Therefore, you should avoid using the old 16-bit memory management functions.