WinAPI命名管道位置

Jac*_*ieg 2 c windows winapi named-pipes

HANDLE pipe = CreateFile( L"\\\\.\\pipe\\my_pipe",
                              GENERIC_READ, // only need read access
                              FILE_SHARE_READ | FILE_SHARE_WRITE,
                              NULL,
                              OPEN_EXISTING,
                              FILE_ATTRIBUTE_NORMAL,
                              NULL );
Run Code Online (Sandbox Code Playgroud)

我是新手赢得api,我想知道硬盘上创建的"my_pipe"文件在哪里?我无法在二进制文件或源附近找到它

Mat*_*lia 6

Windows不遵循UNIX哲学"一切都是文件",因此使用内核API创建的命名对象不是文件,而是各种NT对象命名空间中的对象.您可以使用WinObj等工具查看它们.

您可能希望查看有关Windows中对象管理器的文章.

  • @JohnSmith:很抱歉,这是一个愚蠢的评论."一切都是文件"的想法在技术上是有争议的(例如`/ proc` FS对我来说感觉就像一个可怕的API),而Dave Cutler(NT内核结构之间的主要设计者)无疑是一个*伟大的*OS设计师.我很欣赏并主要使用Linux,但这并不意味着OS设计中的其他选择都不合理. (2认同)