腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
匿名
管道
的
ReadFile
函数
、
、
我有一个关于Windows
管道
的问题。在
ReadFile
中,编写了以下功能手册: 如果使用
匿名
管道
并关闭了写入句柄,当
ReadFile
尝试使用
管道
的相应读句柄读取时,函数返回FALSE,GetLastError返回ERROR_BROKEN_PIPE让我们假设每秒钟从
管道
读取数据。从上次读取操作开始,发生了以下情况:对
管道
操作的写入和写入处理程序的结束。根据上面的手册,该函数返回错误读取操作失败.我的问题是,对于未被读取的数据,会发生什么?
浏览 7
提问于2013-04-17
得票数 1
回答已采纳
1
回答
读取关闭的
匿名
管道
时,VC++
ReadFile
意外阻塞
、
、
、
、
我正在尝试创建一个运行任何exe命令的子进程,并通过
匿名
管道
将其所有stdio和stderr重定向到我的父进程。但是,当我的父进程在子进程终止后尝试在
匿名
管道
的读取端执行
ReadFile
()时,它只是阻塞,而不是返回错误。我的_tmain()创建一个子进程(我使用VC++ cl.exe命令作为测试),并将它的stdio和stderr重定向到一个
匿名
管道
的写句柄。我的父进程从同一
管道
的读句柄中读取。这些由我的_tmain()输出,表明
管道</em
浏览 11
提问于2011-10-13
得票数 0
回答已采纳
1
回答
Windows
匿名
管道
上的非阻塞io
、
、
、
我想在Windows
匿名
管道
上做非阻塞io。这是一个.NET项目,因此我计划在可能的情况下使用托管类。然而,来自:
匿名
管道
不支持异步(重叠)读和写操作。这意味着您不能在
匿名
管道
中使用ReadFileEx和WriteFileEx函数。此外,当这些函数与
匿名
管道
一起使用时,会忽略
ReadFile
和WriteFile的lpOverlapped参数。 所以我想知道托管异步方法是如何工作的?它们是否作为运行在io工作线程上的同步
浏览 1
提问于2016-10-25
得票数 2
回答已采纳
5
回答
如何将函数传递给
匿名
管道
WinAPI?
、
、
我需要写
匿名
管道
,比如double (*fun)(double),但下面的WriteFile(pipe, fun, 4, written_bytes, 0)在
ReadFile
(read_pipe, fun, 4, written_bytes, 0)时会在
管道
接收器中导致错误。(*f)(double);然后我把它写成WriteFile(hWritePipe_StdIN, &to_process, sizeof(Foo), &bytes, 0);,但是我有个问题,那个
管道
接收器永远不会
浏览 0
提问于2012-12-14
得票数 2
回答已采纳
1
回答
如何知道
管道
是否为空-- WIN32
、
、
我正在编写一个使用
匿名
管道
与其子进程通信的程序。我想知道管子里有没有我要读的内容。因为为空
管道
调用
ReadFile
将导致停止。 子进程是另一个软件,所以我不能更改它。我只能重定向它的i/o。
浏览 1
提问于2013-05-29
得票数 1
回答已采纳
3
回答
匿名
管道
上的重叠I/O
、
可以将重叠的I/O与
匿名
管道
一起使用吗?CreatePipe()没有任何指定FILE_FLAG_OVERLAPPED的方法,所以我假设
ReadFile
()会阻塞,即使我提供了一个重叠结构。
浏览 0
提问于2008-09-13
得票数 18
回答已采纳
1
回答
如何确保所有
管道
缓冲区都已被读取?
、
、
我在Windows上有一个应用程序,它有两个线程:Second one -使用
ReadFile
从
管道
读取信息,并对其进行一些操作我使用的是通过CreatePipe创建的普通
匿名
管道
。所以我的问题是-当我关闭写线程中的
管道
时,有时读线程还没有读完,这会导致
管道
断裂。那么,在关闭
管道
之前,如何确保所有写入的信息都已被读取?
浏览 0
提问于2015-04-02
得票数 0
2
回答
与子进程的stdin/stdout异步通信
、
、
、
、
事实证明,我必须创建一个命名
管道
来连接到标准输出,因为
匿名
管道
不支持异步读取。我知道函数CreateProcess、CreateNamedPipe、CreateFile和
ReadFile
,但是有没有一些样例代码可以将它们连接起来?我被参数的海洋所蒙蔽。
浏览 1
提问于2011-02-08
得票数 4
1
回答
在Windows中创建
匿名
管道
、
、
我刚刚开始学习
匿名
管道
通信。我的问题是AnonymousPipeStream和CreatePipe方法之间的区别是什么。现在,我使用CreatePipe()创建
管道
,并使用
ReadFile
()/WriteFile()函数读/写数据,它工作得很好。但是我看到在互联网上有很多使用streams以完全不同的方式创建
管道
的例子。参考文献:
浏览 2
提问于2013-05-25
得票数 1
回答已采纳
3
回答
WinAPI C++客户端在读取
匿名
管道
之前检测到写入
、
、
我正在编写一个C++ (Windows)客户端控制台应用程序,它从STDIN上的
匿名
管道
中读取。continue_reading = false; } } } 我知道,使用
匿名
管道
的唯一选择是使用
ReadFile
进行阻塞读取。如果我正确理解了如何调用它,
ReadFile
将继续从STDIN上的缓冲区读取数据,直到它检测到
管道
另一端的写入操作结束为止(启示录
浏览 3
提问于2013-01-23
得票数 3
回答已采纳
1
回答
在
匿名
管道
上使用WaitForMultipleObjects
、
、
、
我在
匿名
管道
上使用有一个问题。我的目标是等待
管道
同时编写和另一个对象。更准确地说,我正在使用
管道
作为本地IPC。我在堆栈溢出上看到了一种方法,您可以使用CreateEvent创建句柄,并在
管道
上有WriteFile操作时设置该事件,并在
ReadFile
之后重新设置该操作,但是这里有一个简单的单元测试,可以证明这种方法是不正确的WaitForMultipleObjects(1,lphandles,FALSE,INFINITE); if(obj == WAIT_OBJECT
浏览 9
提问于2022-06-17
得票数 0
回答已采纳
1
回答
管道
读数上的
ReadFile
悬挂
、
我目前有一个问题,所有的输出都在读取和处理中,但是对
ReadFile
()的最后调用是挂起的。四处搜索告诉我,在阅读之前,我需要关闭
管道
的写端,这是一个解决这个问题的方法,但我已经这样做了,而且仍然有问题。] = {};DWORD dwAvailable = 0;CloseHandle(hStdOutPipeWrite);{
浏览 0
提问于2019-04-23
得票数 1
1
回答
读取应用程序的输出
、
、
我有一个应用程序,我想从那里运行另一个基于exe的控制台,并读取该控制台应用程序的输出?假设控制台应用程序是使用printf编写的第三方exe。
浏览 1
提问于2013-12-19
得票数 0
2
回答
win32:如何停止
ReadFile
(Stdin
ReadFile
)
、
::
ReadFile
(stdinHandle, &ch, sizeof(ch), &readBytes, nullptr)) { return;那么我应该如何以while (!timeToExit)..方式阻止win32线程呢?Update我想过在调用
ReadFile
之前使用stdin和
ReadFile
作为参数,并在其他线
浏览 5
提问于2016-05-16
得票数 2
回答已采纳
1
回答
WaitForMultipleObjects总是以信号形式返回
管道
读取句柄。
、
我的问题是:如何使用WaitForMultipleObjects等待从
匿名
管道
中读取某些内容?下面的代码是一个最小的可重复示例,它显示了WaitForMultipleObjects的问题,它总是以
匿名
管道
读取句柄的形式返回,如果
管道
是空的,则为事件。该程序创建一个
匿名
管道
和一个工作线程,然后从控制台读取一个“命令”。有两个命令:“退出”退出程序;“写”将单个字节写入
管道
。线程调用WaitForMultipleObjects等待
管道
读取
浏览 4
提问于2022-05-10
得票数 0
1
回答
无法通过标准输出写入Windows
管道
、
、
、
当用于将stdout重定向到CreatePipe
管道
时,
ReadFile
不会捕获写入stdout的输出。//_write(fd, "_write", 6); // works
浏览 2
提问于2018-10-11
得票数 0
1
回答
ReadFileEx,可变长度-几个问题
、
、
、
、
我试图从stderr中读到一个子进程。数据是用sprintf(stderr, "some debug info\n")创建的文本行。我使用ReadFileEx和一个完成例程。我不知道有多少行文字或每一行的长度。那么,我把什么作为nNumberOfBytesToRead参数呢? 我的猜测是,我把我的缓冲区的最大大小,我将做4k;虽然我不知道这是否是一个最佳的大小。我猜,如果写入stderr的行短于4k,则完成例程不会触发。我猜想,当到达4k,但仍有更多数据时,我必须在完成例程中触发另一个ReadFileEx。我会知道情况是这样的,因为GetLastError将返回ERROR_MO
浏览 0
提问于2014-07-23
得票数 0
回答已采纳
1
回答
CreateProcess、PowerShell和WaitForSingleObject
我正在使用
管道
将cmd.exe输出输入到我的程序中。有时,我注意到如果cmd.exe请求用户输入(我创建了隐藏的cmd窗口),程序就会挂起,因为没有人会将输入放在窗口中,而cmd只会保留。end begin lReadFile:=
ReadFile
浏览 2
提问于2016-07-22
得票数 1
1
回答
管道
通信和命令参数
、
我的目的是创建
匿名
管道
和输入和输出句柄--一个作为命令参数传递给子进程,带有可继承选项。以下是Pascal (Lazarus)代码的摘录(没有启动
管道
编写的按钮.)。hin:= strtoint(paramstr(2)); end;
readfile
label1.caption:= inttostr(d)+ ' '+ inttostr(getlasterror);
浏览 7
提问于2016-08-12
得票数 0
回答已采纳
2
回答
WriteFile函数“冻结”
、
xCmd通过
管道
进行通信,它使用WriteFile()。ConnectToRemotePipes( 5, 1000 ) ) StdOutput( _T("Ok\n\n") );
ReadFile
浏览 1
提问于2009-11-20
得票数 2
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Python的匿名聊天——匿名函数
州晖管道:管道与成长
叔叔不约匿名聊天软件真的匿名吗?别再在匿名社交软件放飞自我了
江门非开挖管道修复 管道清淤 CCTV管道检测18861119327推荐商家
管道公司PIS管道地图APP上线
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
实时音视频
活动推荐
运营活动
广告
关闭
领券