/* The default pen should be GetStockObject(BLACK_PEN) */
hObj = SelectObject(hDC, GetStockObject(WHITE_PEN));
TEST(hObj == GetStockObject(BLACK_PEN));
+
+ TEST(NtGdiDeleteObjectApp(hDC) != 0);
TEST(NtGdiDeleteObjectApp(hDC) != 0);
TEST(NtGdiDeleteObjectApp(hdc) == 1);
TEST(GetLastError() == 0);
TEST(IsHandleValid(hdc) == 0);
-
+
+ /* Delete a display DC */
+ SetLastError(0);
+ hdc = CreateDC("DISPLAY", NULL, NULL, NULL);
+ ASSERT(IsHandleValid(hdc) == 1);
+ TEST(NtGdiDeleteObjectApp(hdc) != 0);
+ TEST(GetLastError() == 0);
+ TEST(IsHandleValid(hdc) == 1);
+ TEST(SelectObject(hdc, GetStockObject(WHITE_PEN)) == NULL);
+ TESTX(GetLastError() == ERROR_INVALID_PARAMETER, "GetLasterror returned 0x%08x\n", (unsigned int)GetLastError());
+
+ /* Once more */
+ SetLastError(0);
+ hdc = GetDC(0);
+ ASSERT(IsHandleValid(hdc) == 1);
+ TEST(NtGdiDeleteObjectApp(hdc) != 0);
+ TEST(GetLastError() == 0);
+ TEST(IsHandleValid(hdc) == 1);
+ TEST(SelectObject(hdc, GetStockObject(WHITE_PEN)) == NULL);
+ TESTX(GetLastError() == ERROR_INVALID_PARAMETER, "GetLasterror returned 0x%08x\n", (unsigned int)GetLastError());
+
/* Delete a display DC */
SetLastError(0);
hdc = CreateDC("DISPLAY", NULL, NULL, NULL);