Когда мне следует вызывать DeleteObject () для растрового изображения

Я изучаю какой-то устаревший проект Win32 / MFC.

Я обнаружил следующее (псевдокод):

HDC hDC = ::CreateCompatibleDC(hDCWnd);
HANDLE hFileMap = ::CreateFileMapping(INVALID_HANDLE_VALUE, 0, PAGE_READWRITE, 0, dwSize, FileMapName);
HBITMAP hBmp = ::CreateDIBSection(hDCWnd, &zBI, DIB_RGB_COLORS, &pvNull, hFileMap, 0);

::SelectObject(hDC, hBmp);
::DeleteObject(hBmp);
::CloseHandle(hFileMap);

// .. do something with hDC ..

::DeleteDC(hDC);

Это выглядит странно для Не мог бы кто-нибудь объяснить, правильно ли удалять растровое изображение и / или закрывать дескриптор файла, прежде чем я что-то сделаю с DC?

Спасибо.

5
задан Rom098 14 December 2011 в 06:06
поделиться