关于Windows:Win32:匿名管道上的交易

Win32: transactions on anonymous pipes

TransactNamedPipe函数的文档声称"此参数也可以是由CreatePipe函数返回的匿名管道的句柄。"这意味着可以在匿名管道上使用事务。据我了解,事务是读/写操作,匿名管道是读或写-对我来说没有意义。

  • 真的可以使用带有匿名管道的事务吗?
  • 如果是,怎么办?例如,应该从对CreatePipe的调用获得的两个句柄中,哪个应该传递给TransactNamedPipe?


    注意:我还没有尝试过。但是,CreatePipe的MSDN文档包含证实其可能起作用的确证。这些文档在这一点上已经非常成熟-命名管道是Windows的早期传输-如果这是不正确的,这会让我感到惊讶。

    Anonymous pipes are implemented using
    a named pipe with a unique name.
    Therefore, you can often pass a handle
    to an anonymous pipe to a function
    that requires a handle to a named
    pipe.

    这与上面提供的引用相结合,表明了这一点。将工作。不确定您将使用CreatePipe中的哪个句柄(读或写)-也许任何一个都可以,因为这是一个在封面下命名的单双工管道。