Win32 API资源分配释放速查
来源:互联网 发布:php soap 传json 编辑:程序博客网 时间:2024/04/30 04:04
下面为某次浏览找到的Win32资源的分配清除文档,只简单的翻译了几个文字。该
文档对防止资源泄露有很大帮助。
================================================================================
资源 分配函数 清除函数 需要手动清除?
================================================================================
Accelerators LoadAccelerators N/A No
Atoms GlobalAddAtom GlobalFreeAtom Yes
Bitmaps CreateBitmap DeleteObject Yes *
CreateBitmapIndirect DeleteObject Yes *
CreateCompatibleBitmap DeleteObject Yes *
CreateDIBitmap DeleteObject Yes *
CreateDiscardableBitmap DeleteObject Yes *
LoadBitmap DeleteObject Yes *
Brushes CreateBrushIndirect DeleteObject Yes
CreateDIBPatternBrush DeleteObject Yes
CreateHatchBrush DeleteObject Yes
CreatePatternBrush DeleteObject Yes
CreateSolidBrush DeleteObject Yes
Carets CreateCaret DestroyCaret No #
Clipboard OpenClipboard CloseClipboard Yes
Comms Ports OpenComm CloseComm Yes
Cursor CreateCursor DestroyCursor Yes
LoadCursor N/A No
DC CreateDC DeleteDC Yes
CreateCompatibleDC DeleteDC Yes @
GetDC ReleaseDC Yes
GetWindowDC ReleaseDC Yes
BeginPaint EndPaint Yes
Dialog Box CreateDialog DestroyWindow No
CreateDialogIndirect DestroyWindow No
CreateDialogIndirectParam DestroyWindow No
CreateDialogParam DestroyWindow No
File OpenFile _lclose No
Fonts CreateFont DeleteObject Yes
CreateFontIndirect DeleteObject Yes
AddFontResource RemoveFontResource Yes
GDI Stock Obj GetStockObject N/A No &
Hook SetWindowsHook UnhookWindowsHook Yes
IC CreateIC DeleteDC Yes
Icon CreateIcon DestroyIcon Yes
LoadIcon N/A No
Library LoadLibrary FreeLibrary Yes
Memory AllocDStoCSAlias FreeSelector Yes
AllocSelector FreeSelector Yes
GlobalAlloc GlobalFree No
GlobalDOSAlloc GlobalDOSFr No
GlobalFix GlobalUnfix No
GlobalLock GlobalUnlock No
GlobalPageLock GlobalPageUnlock No
GlobalRealloc GlobalFree No
GlobalWire GlobalUnwire No
LocalAlloc LocalFree No
LocalLock LocalUnlock No
LocalRealloc LocalFree No
Menu CreateMenu DestroyMenu No %
CreatePopupMenu DestroyMenu No %
LoadMenu DestroyMenu No %
LoadMenuIndirect DestroyMenu No %
GetSystemMenu N/A No
MetaFile CreateMetaFile DeleteMetaFile Yes
Palette CreatePalette DeleteObject Yes
Pen CreatePen DeleteObject Yes
CreatePenIndirect DeleteObject Yes
Regions CreateEllipticRgn DeleteObject Yes
CreateEllipticRgnIndirect DeleteObject Yes
CreatePolygonRgn DeleteObject Yes
CreatePolyPolygonRgn DeleteObject Yes
CreateRectRgn DeleteObject Yes
CreateRectRgnIndirect DeleteObject Yes
CreateRoundRectRgn DeleteObject Yes
Resource AllocResource FreeResource No
FindResource N/A No
LoadResource FreeResource No
LockResource UnlockResource No
Sound OpenSound CloseSound Yes
String LoadString N/A No
Thunk MakeProcInstance FreeProcInstance No
Timer SetTimer KillTimer No
Window CreateWindow DestroyWindow No
CreateWindowEx DestroyWindow No
================================================================================
Notes:
* 位图资源在释放的时候必须从选中它的DC中脱离。
% 当菜单失去焦点和窗口不再关联或者应用程序结束的时候占用资源必须被释放。
@ DC被释放前必须和它关联(选中)的位图取消联系
# 如果脱字符指定了位图,位图必须被释放
& 对DeleteObject的调用不会销毁常规的StockObject(系统内定资源)
================================================================================
- Win32 API资源分配释放速查
- Win32 API资源分配释放速查
- Win32 API资源分配释放速查(转)
- VC资源分配、释放表
- 资源的分配与释放
- VC资源分配、释放表
- VC资源分配、释放表
- VC资源分配、释放表
- VC资源分配、释放表
- VC资源分配、释放表
- VC资源分配、释放表
- win32 3步打包和释放资源
- [VC/MFC]VC资源分配、释放表
- C++ 6 资源分配和释放
- [VC/MFC]VC资源分配、释放表
- win32 API创建菜单资源
- [转][VC/MFC]VC资源分配、释放表
- 深究跨dll的资源分配和释放问题
- 连接各种数据库方式速查表
- 偷听北京:无意而真实的片段(5)
- PowerShell:搜索Winos.cn站内数据
- 看就业讲座
- 完美的C++:C++/CLI
- Win32 API资源分配释放速查
- ★PHP V5.2 中的新增功能,第 2 部分: 使用新输入过滤扩展
- 农历200年算法(1901~2100)[C语言]
- 您怎么看待 C++/CLI?
- 软件工程师(Java)初级阶段测试题
- 计算机基本操作技能 筛选样卷
- 做点总结。。。
- (翻译)从底层了解ASP.NET体系结构
- c语言表达式求值顺序