哪些可能的情况可能导致 DisconnectNamedPipe 返回 false 和 GetLastError() 返回 1?

Xiaopo Yang - MSFT 12,736 信誉分 Microsoft 外部员工
2024-02-29T03:28:03.6433333+00:00

断开管道时发生错误。客户端的行为是主动断开管道。 客户端代码如下所示:  ![A computer code with text

Description automatically generated](/api/attachments/ed5a2d0e-a962-4653-8ba3-a99dfd94aa0e?platform=QnA) 客户端日志:  User's image   同时,管道服务器日志如下所示: User's image 哪些可能的情况可能导致 DisconnectNamedPipe 返回 false 和 GetLastError() 返回 1?   此问题由What are the possible situations that may cause DisconnectNamedPipe to return false and GetLastError() to return 1? - Microsoft Q&A 总结而来

Windows 开发 | Windows API - Win32
0 个注释 无注释
{count} 票

问题作者接受的答案
  1. Jeanine Zhang-MSFT 11,356 信誉分 Microsoft 外部员工
    2024-02-29T05:26:25.2833333+00:00

    你好,

    欢迎来到 Microsoft Q&A!

    GetLastError返回 1:ERROR_INVALID_FUNCTION,函数不正确。

    根据文档:DisconnectNamedPipe 函数

    DisconnectNamedPipe 函数将强制关闭命名管道的该端。 客户端下次尝试访问管道时收到错误。 通过 DisconnectNamedPipe 强制关闭管道的客户端仍必须使用 CloseHandle 函数来关闭其管道的末尾。

    我认为,您应该使用 CloseHandle 函数来关闭管道的末端。

    Thank you. Jeanine

    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助

你的答案

提问者可以将答案标记为“已接受”,版主可以将答案标记为“已推荐”,这有助于用户了解答案是否解决了提问者的问题。