gpt4 book ai didi

c++ - 尝试从命名管道读取时获取错误代码 998 对内存位置的访问无效

转载 作者:行者123 更新时间:2023-11-30 00:55:39 25 4
gpt4 key购买 nike

我使用 WCF 和 C# 创建了一个命名管道,以及一个连接到它的客户端,以便我知道它工作正常。现在我正在尝试创建一个 C++ 客户端。到目前为止,我已经能够获取管道的名称、连接到它并向其中写入一些数据。当我尝试读取它时,我得到了 error code 998 Invalid access to memory location。这是我正在使用的代码:

HANDLE hPipe = CreateFile(pipeName.c_str(), GENERIC_WRITE | GENERIC_READ, 2, NULL, OPEN_EXISTING, NULL, NULL);
BOOL bWrite = WriteFile(hPipe, &message, size, &bytesWritten, NULL);
LPVOID buffer = 0;
DWORD bytesRead;
BOOL bRead = ReadFile(hPipe, buffer, 10, &bytesRead, NULL);

我不确定我做错了什么。

最佳答案

没有为buffer分配内存,目前是一个空指针,代码要求将10字节的数据读入一个不存在的数组中。来自 ReadFile() :

lpBuffer [out]

A pointer to the buffer that receives the data read from a file or device.

纠正:

char buffer[10];

关于c++ - 尝试从命名管道读取时获取错误代码 998 对内存位置的访问无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11853478/

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