server: Implement more FSCTLs on \Device\NamedPipe and \Device\NamedPipe\.

This commit is contained in:
Jinoh Kang 2024-10-19 20:14:15 +09:00 committed by Alexandre Julliard
parent 663bc96653
commit 962017beef
Notes: Alexandre Julliard 2024-11-04 22:25:34 +01:00
Approved-by: Elizabeth Figura (@zfigura)
Approved-by: Alexandre Julliard (@julliard)
Merge-Request: https://gitlab.winehq.org/wine/wine/merge_requests/498
2 changed files with 11 additions and 1 deletions

View file

@ -2731,7 +2731,6 @@ static void subtest_empty_name_pipe_operations(HANDLE handle)
WaitForSingleObject(event, INFINITE);
status = io.Status;
}
todo_wine_if(ft->status != STATUS_NOT_SUPPORTED)
ok(status == ft->status || (ft->status_broken && broken(status == ft->status_broken)),
"NtFsControlFile(%s) on \\Device\\NamedPipe: expected %#lx, got %#lx\n",
ft->name, ft->status, status);

View file

@ -1506,9 +1506,20 @@ static void named_pipe_device_ioctl( struct fd *fd, ioctl_code_t code, struct as
switch(code)
{
case FSCTL_PIPE_WAIT:
case FSCTL_PIPE_LISTEN:
case FSCTL_PIPE_IMPERSONATE:
set_error( STATUS_ILLEGAL_FUNCTION );
return;
case FSCTL_PIPE_DISCONNECT:
case FSCTL_PIPE_TRANSCEIVE:
set_error( STATUS_PIPE_DISCONNECTED );
return;
case FSCTL_PIPE_QUERY_CLIENT_PROCESS:
set_error( STATUS_INVALID_PARAMETER );
return;
default:
default_fd_ioctl( fd, code, async );
}