PTHREADINFO gptiCurrent = NULL;
PPROCESSINFO gppiInputProvider = NULL;
ERESOURCE UserLock;
-ATOM AtomMessage; // Window Message atom.
-ATOM AtomWndObj; // Window Object atom.
-ATOM AtomLayer; // Window Layer atom.
+ATOM AtomMessage; // Window Message atom.
+ATOM AtomWndObj; // Window Object atom.
+ATOM AtomLayer; // Window Layer atom.
ATOM AtomFlashWndState; // Window Flash State atom.
-ATOM AtomDDETrack; // Window DDE Tracking atom.
+ATOM AtomDDETrack; // Window DDE Tracking atom.
+ATOM AtomQOS; // Window DDE Quality of Service atom.
HINSTANCE hModClient = NULL;
BOOL ClientPfnInit = FALSE;
ATOM gaGuiConsoleWndClass;
gpsi->atomFrostedWindowProp = IntAddGlobalAtom(L"SysFrostedWindow", TRUE);
AtomDDETrack = IntAddGlobalAtom(L"SysDT", TRUE);
+ AtomQOS = IntAddGlobalAtom(L"SysQOS", TRUE);
/*
* FIXME: AddPropW uses the global kernel atom table, thus leading to conflicts if we use
HBITMAP hPattern55AABitmap = NULL;
NTSTATUS Status;
-// Set W32PF_Flags |= (W32PF_READSCREENACCESSGRANTED | W32PF_IOWINSTA)
-// Create Event for Diconnect Desktop.
+ NT_ASSERT(PsGetCurrentThreadWin32Thread() != NULL);
+
+// Create Event for Disconnect Desktop.
Status = UserCreateWinstaDirectory();
if (!NT_SUCCESS(Status)) return Status;
// Update Shared Device Caps.
// Initialize User Screen.
// }
-// Create ThreadInfo for this Thread!
-// {
-
- /* Initialize the current thread */
- Status = InitThreadCallback(PsGetCurrentThread());
- if (!NT_SUCCESS(Status)) return Status;
-// }
// Set Global SERVERINFO Error flags.
// Load Resources.
if (gpsi->hbrGray == NULL)
{
hPattern55AABitmap = GreCreateBitmap(8, 8, 1, 1, (LPBYTE)wPattern55AA);
+ if (hPattern55AABitmap == NULL)
+ return STATUS_INSUFFICIENT_RESOURCES;
+
+ //NT_VERIFY(GreSetBitmapOwner(hPattern55AABitmap, GDI_OBJ_HMGR_PUBLIC));
gpsi->hbrGray = IntGdiCreatePatternBrush(hPattern55AABitmap);
GreDeleteObject(hPattern55AABitmap);
- GreSetBrushOwner(gpsi->hbrGray, GDI_OBJ_HMGR_PUBLIC);
+ if (gpsi->hbrGray == NULL)
+ return STATUS_INSUFFICIENT_RESOURCES;
}
return STATUS_SUCCESS;