一段时间以来,我一直在为 VB6 命名管道而苦苦挣扎。这条线在很大程度上是有效的:
CallNamedPipe(szPipeName, Header(0), 2, bArray(0), numBytes, cbRead, 30000)
管道服务器确实收到了写入的 2 个字节。但是这个功能不是我想要使用的。我需要使用 CreateFile() + WriteFile() 组合。现在我无法让这个工作:
pipeHandle = CreateFile(szPipeName, GENERIC_READ Or GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0&)
它返回-1,表示失败。没有其他任何改变,所以我不明白为什么它会失败。然后我在现有文件 C:\test.txt 上尝试了它:
pipeHandle = CreateFile("C:\\test.txt", GENERIC_READ Or GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0&)
它仍然失败并返回-1。
我使用 CreateFile() 错误吗?