簡體   English   中英

嘗試從命名管道讀取時,獲取錯誤代碼 998 對內存位置的訪問無效

[英]getting error code 998 Invalid access to memory location when trying to read from named pipe

我使用 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 [輸出]

指向接收從文件或設備讀取的數據的緩沖區的指針。

糾正:

char buffer[10];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM