Converted a few more server requests to the new mechanism.

diff --git a/files/dos_fs.c b/files/dos_fs.c
index 2b21acc..d4dd2c3 100644
--- a/files/dos_fs.c
+++ b/files/dos_fs.c
@@ -698,8 +698,7 @@
  */
 static HANDLE DOSFS_CreateCommPort(LPCSTR name, DWORD access)
 {
-    struct create_serial_request *req = get_req_buffer();
-    DWORD r;
+    HANDLE ret = INVALID_HANDLE_VALUE;
     char devname[40];
 
     TRACE("%s %lx\n", name, access);
@@ -710,14 +709,22 @@
 
     TRACE("opening %s as %s\n", devname, name);
 
-    req->handle  = 0;
-    req->access  = access;
-    req->sharing = FILE_SHARE_READ|FILE_SHARE_WRITE;
-    lstrcpynA( req->name, devname, server_remaining(req->name) );
-    SetLastError(0);
-    r = server_call( REQ_CREATE_SERIAL );
-    TRACE("create_port_request return %08lX handle = %08X\n",r,req->handle);
-    return req->handle;
+    SERVER_START_REQ
+    {
+        size_t len = strlen(devname);
+        struct create_serial_request *req = server_alloc_req( sizeof(*req), len );
+
+        req->access  = access;
+        req->inherit = 0;  /*FIXME*/
+        req->sharing = FILE_SHARE_READ|FILE_SHARE_WRITE;
+        memcpy( server_data_ptr(req), devname, len );
+        SetLastError(0);
+        if (!(server_call( REQ_CREATE_SERIAL ))) ret = req->handle;
+    }
+    SERVER_END_REQ;
+
+    TRACE("return %08X\n", ret );
+    return ret;
 }
 
 /***********************************************************************