Windows命名管道上的非阻塞读取

时间:2018-04-24 10:52:34

标签: windows winapi named-pipes

我需要使用Python(ctypes)从Windows命名管道实现非阻塞读写。 如果管道在服务器模式下打开,我能够实现这一点。 但是,当使用CreateFile打开带有客户端的管道时,我无法做到这一点。

ReadFile块,无论管道是由服务器进程使用PIPE_NOWAIT创建的。 我正在尝试在windll.kernel32.CreateFileW返回的句柄上使用windll.kernel32.SetNamedPipeHandleState,但得到错误ERROR_ACCESS_DENIED

SetNamedPipeHandleState的描述表明它必须具有GENERIC_READ和FILE_WRITE_ATTRIBUTES访问权限才能获得只读管道。

打开文件时如何设置这些标志?它真的有助于解决我的问题吗?

0 个答案:

没有答案