gpt4 book ai didi

c# - CallNamedPipe & NamedPipeServerStream,访问被拒绝?

转载 作者:行者123 更新时间:2023-11-30 02:12:59 28 4
gpt4 key购买 nike

我正在尝试在托管和非托管进程之间执行一些 IPC。我选择了命名管道。

我正在托管代码中启动一个线程,使用 NamedPipeServerStream :

using (NamedPipeServerStream stream = new NamedPipeServerStream("MyPipe", PipeDirection.In))
{
while (true)
{
stream.WaitForConnection();
stream.Read(buffer, 0, size);
//Handle buffer values
}
}

在非托管方面,我使用的是 CallNamedPipe :

CallNamedPipe(TEXT("\\\\.\\pipe\\MyPipe"), NULL, 0, pData, dataSize, NULL, NMPWAIT_WAIT_FOREVER);

但是,CallNamedPipe 失败,GetLastError 为 5(拒绝访问)。知道为什么吗?

最佳答案

这是获胜的代码行:

NamedPipeServerStream pipeServer = new NamedPipeServerStream("MyPipe", PipeDirection.InOut, 1, PipeTransmissionMode.Message, PipeOptions.None)

它应该是双面的,即使你只将它用于传出数据

关于c# - CallNamedPipe & NamedPipeServerStream,访问被拒绝?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1175317/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com