Added window classes in the server, and support for inter-process
GetClassWord/Long (based on a patch by Mike McCormack).
Various fixes to the class instance handling.

diff --git a/server/trace.c b/server/trace.c
index 3405a00..97ec3f5 100644
--- a/server/trace.c
+++ b/server/trace.c
@@ -2096,6 +2096,7 @@
     fprintf( stderr, " parent=%p,", req->parent );
     fprintf( stderr, " owner=%p,", req->owner );
     fprintf( stderr, " atom=%04x,", req->atom );
+    fprintf( stderr, " instance=%p,", req->instance );
     fprintf( stderr, " extra=%d", req->extra );
 }
 
@@ -2503,6 +2504,45 @@
     dump_varargs_unicode_str( cur_size );
 }
 
+static void dump_create_class_request( const struct create_class_request *req )
+{
+    fprintf( stderr, " local=%d,", req->local );
+    fprintf( stderr, " atom=%04x,", req->atom );
+    fprintf( stderr, " style=%08x,", req->style );
+    fprintf( stderr, " instance=%p,", req->instance );
+    fprintf( stderr, " extra=%d,", req->extra );
+    fprintf( stderr, " win_extra=%d", req->win_extra );
+}
+
+static void dump_destroy_class_request( const struct destroy_class_request *req )
+{
+    fprintf( stderr, " atom=%04x,", req->atom );
+    fprintf( stderr, " instance=%p", req->instance );
+}
+
+static void dump_set_class_info_request( const struct set_class_info_request *req )
+{
+    fprintf( stderr, " window=%p,", req->window );
+    fprintf( stderr, " flags=%08x,", req->flags );
+    fprintf( stderr, " atom=%04x,", req->atom );
+    fprintf( stderr, " style=%08x,", req->style );
+    fprintf( stderr, " win_extra=%d,", req->win_extra );
+    fprintf( stderr, " instance=%p,", req->instance );
+    fprintf( stderr, " extra_offset=%d,", req->extra_offset );
+    fprintf( stderr, " extra_size=%d,", req->extra_size );
+    fprintf( stderr, " extra_value=%08x", req->extra_value );
+}
+
+static void dump_set_class_info_reply( const struct set_class_info_reply *req )
+{
+    fprintf( stderr, " old_atom=%04x,", req->old_atom );
+    fprintf( stderr, " old_style=%08x,", req->old_style );
+    fprintf( stderr, " old_extra=%d,", req->old_extra );
+    fprintf( stderr, " old_win_extra=%d,", req->old_win_extra );
+    fprintf( stderr, " old_instance=%p,", req->old_instance );
+    fprintf( stderr, " old_extra_value=%08x", req->old_extra_value );
+}
+
 static void dump_set_clipboard_info_request( const struct set_clipboard_info_request *req )
 {
     fprintf( stderr, " flags=%08x,", req->flags );
@@ -2726,6 +2766,9 @@
     (dump_func)dump_start_hook_chain_request,
     (dump_func)dump_finish_hook_chain_request,
     (dump_func)dump_get_next_hook_request,
+    (dump_func)dump_create_class_request,
+    (dump_func)dump_destroy_class_request,
+    (dump_func)dump_set_class_info_request,
     (dump_func)dump_set_clipboard_info_request,
     (dump_func)dump_open_token_request,
     (dump_func)dump_set_global_windows_request,
@@ -2908,6 +2951,9 @@
     (dump_func)dump_start_hook_chain_reply,
     (dump_func)0,
     (dump_func)dump_get_next_hook_reply,
+    (dump_func)0,
+    (dump_func)0,
+    (dump_func)dump_set_class_info_reply,
     (dump_func)dump_set_clipboard_info_reply,
     (dump_func)dump_open_token_reply,
     (dump_func)dump_set_global_windows_reply,
@@ -3090,6 +3136,9 @@
     "start_hook_chain",
     "finish_hook_chain",
     "get_next_hook",
+    "create_class",
+    "destroy_class",
+    "set_class_info",
     "set_clipboard_info",
     "open_token",
     "set_global_windows",