VC资源分配、释放表

资源                            分配函数                            清除函数                     需要手动清除?==================================================================================================  
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
   DialogBox
                                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
   GDIStockObj
               	                   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
* 位图资源在释放的时候必须从选中它的DC中脱离。
% 当菜单失去焦点和窗口不再关联或者应用程序结束的时候占用资源必须被释放。
@ DC被释放前必须和它关联(选中)的位图取消联系 # 如果脱字符指定了位图,位图必须被释放
& 对DeleteObject的调用不会销毁常规的StockObject(系统内定资源)
posted @ 2013-01-08 10:41  执迷不悟~  阅读(477)  评论(0)    收藏  举报