Zebediah Figura (@zfigura) commented about dlls/ntdll/tests/pipe.c:
+ { + WaitForSingleObject(event, INFINITE); + status = io.Status; + } + todo_wine_if(ft->status != STATUS_NOT_SUPPORTED && ft->status != STATUS_ACCESS_DENIED) + 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); + } + + status = NtReadFile(hdirectory, event, NULL, NULL, &io, buffer, sizeof(buffer), NULL, NULL); + todo_wine + ok(status == STATUS_INVALID_PARAMETER, "NtReadFile on \\Device\\NamedPipe: got %#lx\n", status); + + status = NtWriteFile(hdirectory, event, NULL, NULL, &io, buffer, sizeof(buffer), NULL, NULL); + ok(status == STATUS_ACCESS_DENIED, "NtWriteFile on \\Device\\NamedPipe: got %#lx\n", status); This is not exactly interesting, because we're opening the directory without write access. The same applies to some of the ioctls above.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/1070#note_10912