Share via


Obsolete Windows Programming Elements

The following table provides a list of functions that are supported only for backward compatibility with the 16-bit Windows API.

16-bit Windows API 32-bit Windows support
_hread Replaced by the ReadFile function.
_hwrite Replaced by the WriteFile function.
_lclose Replaced by the CloseHandle function.
_lcreat Replaced by the CreateFile function.
_llseek Replaced by the SetFilePointer function.
_lopen Replaced by the CreateFile function.
_lread Replaced by the ReadFile function.
_lwrite Replaced by the WriteFile function.
AnsiLower Replaced by the CharLower function.
AnsiLowerBuff Replaced by the CharLowerBuff function.
AnsiNext Replaced by the CharNext function.
AnsiPrev Replaced by the CharPrev function.
AnsiToOem Replaced by the CharToOem function.
AnsiToOemBuff Replaced by the CharToOemBuff function.
AnsiUpper Replaced by the CharUpper function.
AnsiUpperBuff Replaced by the CharUpperBuff function.
AnyPopup Not generally useful. Maintained for compatibility with Windows 1.x.
CloseMetaFile Replaced by the CloseEnhMetaFile function.
CopyLZFile Replaced by the LZCopy function.
CopyMetaFile Replaced by the CopyEnhMetaFile function.
CreateDIBPatternBrush Replaced by the CreateDIBPatternBrush function.
CreateDiscardableBitmap Replaced by the CreateCompatibleBitmap function.
CreateMetaFile Replaced by the CreateEnhMetaFile function.
DefHookProc Replaced by the CallNextHookEx function.
DeleteMetaFile Replaced by the DeleteEnhMetaFile function.
EnumFontFamilies Replaced by the EnumFontFamiliesEx function.
EnumFontFamProc Replaced by the EnumFontFamExProc function.
EnumFonts Replaced by the EnumFontFamiliesEx function.
EnumFontsProc Replaced by the EnumFontFamExProc function.
EnumMetaFile Replaced by the EnumEnhMetaFile function.
EnumMetaFileProc Replaced by the EnhMetaFileProc function.
EnumTaskWindows Replaced by the EnumThreadWindows function.
FloodFill Replaced by the ExtFloodFill function.
FreeModule Replaced by the FreeLibrary function.
FreeProcInstance Not necessary and has no effect. Windows can call entry points directly.
FreeResource Replaced as follows: Accelerator: DestroyAcceleratorTable Bitmap: DeleteObject Cursor: DestroyCursor Icon: DestroyIcon Menu: DestroyMenu
GetBitmapBits Replaced by the GetDIBits function.
GetCharWidth Replaced by the GetCharWidth32 function.
GetClassWord Replaced by the GetClassLong function
GetCurrentTime Replaced by the GetTickCount function.
GetFreeSpace Replaced by the GlobalMemoryStatus function.
GetKBCodePage Replaced by the GetOEMCP function.
GetMetaFile Replaced by the GetEnhMetaFile function.
GetMetaFileBitsEx Replaced by the GetEnhMetaFileBits function.
GetPrivateProfileInt Replaced by registry support.
GetPrivateProfileSection Replaced by registry support.
GetPrivateProfileSectionNames Replaced by registry support.
GetPrivateProfileString Replaced by registry support.
GetPrivateProfileStruct Replaced by registry support.
GetProfileInt Replaced by registry support.
GetProfileSection Replaced by registry support.
GetProfileString Replaced by registry support.
GetSysModalWindow The new input model does not support system modal windows.
GetTextExtentPoint Replaced by the GetTextExtentPoint32 function.
GetWindowTask Replaced by the GetWindowThreadProcessId function.
GetWindowWord Replaced by the GetWindowLong function.
GlobalCompact Not necessary and has no effect.
GlobalFix Not necessary and has no effect.
GlobalFlags Not necessary and has no effect.
GlobalLRUNewest Not necessary and has no effect.
GlobalLRUOldest Not necessary and has no effect.
GlobalUnfix Not necessary and has no effect.
GlobalUnWire Not necessary and has no effect.
GlobalWire Not necessary and has no effect.
IsBadHugeReadPtr Equivalent to the IsBadReadPtr function. There is only one memory model.
IsBadHugeWritePtr Equivalent to the IsBadWritePtr function. There is only one memory model.
LimitEmsPages Not necessary and has no effect.
LoadModule Replaced by the CreateProcess function.
LocalCompact Not necessary and has no effect.
LocalFlags Not necessary and has no effect.
LocalShrink Not necessary and has no effect.
LockSegment Not necessary and has no effect.
LZDone Replaced by the LZCopy function.
LZStart Replaced by the LZCopy function.
MakeProcInstance Not necessary and has no effect. Windows can call entry points directly.
OemToAnsi Replaced by the OemToChar function.
OemToAnsiBuff Replaced by the OemToCharBuff function.
OpenFile Replaced by the CreateFile function.
PlayMetaFile Replaced by the PlayEnhMetaFile function.
PlayMetaFileRecord Replaced by the PlayEnhMetaFileRecord function.
PostAppMessage Replaced by the PostThreadMessage function.
PrinterMessageBox Not necessary and has no effect.
RegCreateKey Replaced by the RegCreateKeyEx function.
RegEnumKey Replaced by the RegEnumKeyEx function.
RegOpenKey Replaced by the RegOpenKeyEx function.
RegQueryValue Replaced by the RegQueryValueEx function.
RegSetValue Replaced by the RegSetValueEx function.
SetBitmapBits Replaced by the SetDIBits function.
SetClassWord Replaced by the SetClassLong function.
SetDebugErrorLevel Not necessary and has no effect.
SetHandleCount Not necessary and has no effect. There is no explicit file handle limit.
SetMessageQueue Not necessary and has no effect. Message queues are expanded as needed.
SetMetaFileBitsEx Replaced by the SetEnhMetaFileBits function.
SetSwapAreaSize Not necessary and has no effect.
SetSysModalWindow Not necessary and has no effect.
SetWindowsHook Replaced by the SetWindowsHookEx function.
SetWindowWord Replaced by the SetWindowLong function.
UnhookWindowsHook Replaced by the UnhookWindowsHookEx function.
UnlockResource Not necessary and has no effect.
UnlockSegment Not necessary and has no effect.
WaitForPrinterChange Replaced by the FindFirstPrinterChangeNotification, FindNextPrinterChangeNotification, and FindClosePrinterChangeNotification functions.
WinExec Replaced by the CreateProcess function.
WNetAddConnection Replaced by the WNetAddConnection2 function.
WritePrivateProfileSection Replaced by registry support.
WritePrivateProfileString Replaced by registry support.
WritePrivateProfileStruct Replaced by registry support.
WriteProfileSection Replaced by registry support.
WriteProfileString Replaced by registry support.
Yield Not necessary and has no effect. The message loop handles synchronization.

Threads that create processes can use WaitForInputIdle to wait until the new process has finished its initialization.

 

 

 

Build date: 3/25/2010