jjzjj

totalBytesAvailable

全部标签

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

顺便说一句,如果另一端从中读取数据,剩余缓冲区会自动增加,对吗? 最佳答案 PeekNamedPipe怎么样??似乎以下将返回要从管道中读取的剩余字节总数。DWORDtotalBytesAvailable;BOOLWINAPIPeekNamedPipe(handle,//__inHANDLEhNamedPipe,NULL,//__out_optLPVOIDlpBuffer,0,//__inDWORDnBufferSize,NULL,//__out_optLPDWORDlpBytesRead,&totalBytesAvailable,

c - 如何在windows中检查WriteFile之前是否有足够的空间?

hPipe=CreateNamedPipe(lpszPipename,//pipenamePIPE_ACCESS_DUPLEX,//read/writeaccessPIPE_TYPE_MESSAGE|//messagetypepipePIPE_READMODE_MESSAGE|//message-readmodePIPE_WAIT,//blockingmodePIPE_UNLIMITED_INSTANCES,//max.instances100,//outputbuffersize100,//inputbuffersize0,//clienttime-outNULL);//defaul

c - PeekNamedPipe 总是为 totalBytesAvailable 返回 0

PeekNamedPipe(tmp_pipe,//__inHANDLEhNamedPipe,NULL,//__out_optLPVOIDlpBuffer,0,//__inDWORDnBufferSize,NULL,//__out_optLPDWORDlpBytesRead,&totalBytesAvailable,//__out_optLPDWORDlpTotalBytesAvail,NULL//__out_optLPDWORDlpBytesLeftThisMessage);我已将字节写入其他地方的管道,但totalBytesAvailable始终为0,为什么?