windows - 如何在 C/C++ 中检查 Windows 中管道的剩余缓冲区大小?

标签 windows named-pipes

顺便说一句,如果另一端从中读取数据,剩余缓冲区会自动增加,对吗?

最佳答案

PeekNamedPipe怎么样? ?似乎以下将返回要从管道中读取的剩余字节总数。

DWORD totalBytesAvailable;
BOOL WINAPI PeekNamedPipe(
  handle,                // __in       HANDLE hNamedPipe,
  NULL,                  // __out_opt  LPVOID lpBuffer,
  0,                     // __in       DWORD nBufferSize,
  NULL,                  // __out_opt  LPDWORD lpBytesRead,
  &totalBytesAvailable,  // __out_opt  LPDWORD lpTotalBytesAvail,
  NULL                   // __out_opt  LPDWORD lpBytesLeftThisMessage
);

关于windows - 如何在 C/C++ 中检查 Windows 中管道的剩余缓冲区大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3670712/

相关文章:

python - FIFO(命名管道)消息传递障碍

c++ - C++ 中的 "X does not name a type"错误

c# - 为什么我的 NamedPipeServerStream 不等待?

c - 使用命名管道在两个程序之间发送字符串

java - 如何使用 tomcat 在 Windows IIS 中托管 spring 项目?

linux - 命名管道是否清除读取数据

c# - C# 和 Python 之间的命名管道

windows - 获取 XP 64 位系统上的内核数

.net - EF 查询包含 "Distinct()"第一次慢

windows - 如何在自托管的WCF中获取多部分表单数据?