Added exception handling wrapper to a number of server requests.
Changed a few requests to use the new vararg mechanism.

diff --git a/scheduler/pipe.c b/scheduler/pipe.c
index 6b018c7..3d83e53 100644
--- a/scheduler/pipe.c
+++ b/scheduler/pipe.c
@@ -16,11 +16,18 @@
 BOOL WINAPI CreatePipe( PHANDLE hReadPipe, PHANDLE hWritePipe,
                           LPSECURITY_ATTRIBUTES sa, DWORD size )
 {
-    struct create_pipe_request *req = get_req_buffer();
+    BOOL ret;
+    SERVER_START_REQ
+    {
+        struct create_pipe_request *req = server_alloc_req( sizeof(*req), 0 );
 
-    req->inherit = (sa && (sa->nLength>=sizeof(*sa)) && sa->bInheritHandle);
-    if (server_call( REQ_CREATE_PIPE )) return FALSE;
-    *hReadPipe  = req->handle_read;
-    *hWritePipe = req->handle_write;
-    return TRUE;
+        req->inherit = (sa && (sa->nLength>=sizeof(*sa)) && sa->bInheritHandle);
+        if ((ret = !server_call( REQ_CREATE_PIPE )))
+        {
+            *hReadPipe  = req->handle_read;
+            *hWritePipe = req->handle_write;
+        }
+    }
+    SERVER_END_REQ;
+    return ret;
 }