MFCで画像表示3

CreateDIBSectionで表示。

	void *buffer; // 画像ビット配列
	
	BITMAPINFO bmi;
	ZeroMemory(&bmi, sizeof(bmi));
	bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
	bmi.bmiHeader.biWidth = width;
	bmi.bmiHeader.biHeight = height;
	bmi.bmiHeader.biPlanes = 1;
	bmi.bmiHeader.biBitCount = 24;
	bmi.bmiHeader.biCompression = BI_RGB;

	HBITMAP hBitmap = CreateDIBSection((HDC)0, &bmi, DIB_RGB_COLORS, &buffer, NULL, NULL);
	if(hBitmap == NULL) return;

	CClientDC dc(this);
	CDC mDC;
	mDC.CreateCompatibleDC(&dc);
	
	HBITMAP old = (HBITMAP)mDC.SelectObject(hBitmap);

	dc.BitBlt(
		x, y,
		width, height,
		&mDC, 0, 0, SRCCOPY);
	mDC.SelectObject(old);
	::DeleteObject(hBitmap);

しかし、これだけがうまくいかない…。
HDCだとうまくいくから、相性の問題かな?