Implemented GetNamedPipeInfo.
diff --git a/server/named_pipe.c b/server/named_pipe.c
index bc068a5..497e641 100644
--- a/server/named_pipe.c
+++ b/server/named_pipe.c
@@ -237,6 +237,15 @@
if(!pipe)
return;
+ if (get_error() != STATUS_OBJECT_NAME_COLLISION)
+ {
+ pipe->insize = req->insize;
+ pipe->outsize = req->outsize;
+ pipe->maxinstances = req->maxinstances;
+ pipe->timeout = req->timeout;
+ pipe->pipemode = req->pipemode;
+ }
+
user = create_pipe_user (pipe, -1);
if(user)
@@ -403,3 +412,20 @@
}
release_object(user);
}
+
+DECL_HANDLER(get_named_pipe_info)
+{
+ struct pipe_user *user;
+
+ user = get_pipe_user_obj(current->process, req->handle, 0);
+ if(!user)
+ return;
+
+ req->flags = user->pipe->pipemode;
+ req->maxinstances = user->pipe->maxinstances;
+ req->insize = user->pipe->insize;
+ req->outsize = user->pipe->outsize;
+
+ release_object(user);
+}
+