+
+#define SERVER_TO_CLIENT(ptr) \
+ ((PVOID)((ULONG_PTR)ptr - pUserConnect->siClient.ulSharedDelta))
+
+ ASSERT(gpsi);
+ ASSERT(gHandleTable);
+
+ pUserConnect->siClient.psi = SERVER_TO_CLIENT(gpsi);
+ pUserConnect->siClient.aheList = SERVER_TO_CLIENT(gHandleTable);
+ pUserConnect->siClient.pDispInfo = NULL;
+
+ // NOTE: kernel server should also have a SHAREDINFO gSharedInfo;
+ // FIXME: These USER window-proc data should be used somehow!
+
+ pUserConnect->siClient.DefWindowMsgs.maxMsgs = 0;
+ pUserConnect->siClient.DefWindowMsgs.abMsgs = NULL;
+ pUserConnect->siClient.DefWindowSpecMsgs.maxMsgs = 0;
+ pUserConnect->siClient.DefWindowSpecMsgs.abMsgs = NULL;
+
+ for (i = 0; i < ARRAYSIZE(pUserConnect->siClient.awmControl); ++i)
+ {
+ pUserConnect->siClient.awmControl[i].maxMsgs = 0;
+ pUserConnect->siClient.awmControl[i].abMsgs = NULL;
+ }
+#undef SERVER_TO_CLIENT