HRESULT GrabberCB :: SampleCB ( double SampleTime , IMediaSample * pSample ) {
How to send the pSample content via pipe?
}
我知道在阅读此示例后如何string
发送/接收WriteFile/ReadFile
:
http://msdn.microsoft.com/en-us/library/aa365592%28v=VS.85%29.aspx
但是如何发送pSample
?
答案 0 :(得分:1)
在通过任何传输发送之前,您需要serialize数据,而在另一端,您需要反序列化数据以将其转换回来。根据您的数据的简单/复杂,有很多方法可以做到这一点。
您可以自己动手或使用某种类型的框架,例如Google Protocol Buffers或COM。没有正确答案,这完全取决于您要做什么,数据有多复杂以及您需要什么样的性能。
答案 1 :(得分:0)
为什么要尝试将其发送到管道上?如果管道阅读器是一个COM对象而且你只是让COM框架处理所有事情,那将会容易得多。话虽这么说,您可以使用CoMarshalInterface将COM对象编组为流(甚至是进程外);也许你可以通过管道发送该流并用CoUnmarshalInterface重构它。