INT
Test_CreateCompatibleDC(PTESTINFO pti)
{
	HDC hDCScreen, hOldDC, hDC, hDC2;

	// Create a DC
	hDCScreen = GetDC(NULL);
	if (hDCScreen == NULL)
	{
		return FALSE;
	}

	hDC = CreateCompatibleDC(hDCScreen);
	RTEST(hDC != NULL);

	// Test if first selected pen is BLACK_PEN (? or same as screen DC's pen?)
	TEST(SelectObject(hDC, GetStockObject(DC_PEN)) == GetStockObject(BLACK_PEN));
	TEST(SelectObject(hDC, GetStockObject(BLACK_PEN)) == GetStockObject(DC_PEN));

	// Test for the starting Color == RGB(0,0,0)
	TEST(SetDCPenColor(hDC, RGB(1,2,3)) == RGB(0,0,0));

	// Check for reuse counter
	hOldDC = hDC;
	DeleteDC(hDC);
	hDC = CreateCompatibleDC(hDCScreen);
	hDC2 = CreateCompatibleDC(hOldDC);
	RTEST(hDC2 == NULL);
	if (hDC2 != NULL) DeleteDC(hDC2);

	// cleanup
	DeleteDC(hDC);

	ReleaseDC(NULL, hDCScreen);
	return APISTATUS_NORMAL;
}
