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

时间:2010-09-08 18:17:06

标签: windows named-pipes

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

1 个答案:

答案 0 :(得分:1)

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
);