欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

进程间通信(7) “剪贴板“、“匿名管道“、“命名管道“、“邮槽“4种方式总结

发布时间:2025/3/21 编程问答 38 豆豆
生活随笔 收集整理的这篇文章主要介绍了 进程间通信(7) “剪贴板“、“匿名管道“、“命名管道“、“邮槽“4种方式总结 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1.

  • 剪贴板和匿名管道只能同一-台机器上

  • 命名管道和邮槽还可以实现跨网络的进程间通信;

    • 邮槽是基于广播通信的,可以一对多的单向通信, 数据量较小,通常都是在424字节以下
    • 命名管道只能点对点的单一的通信

2. ReadFile、CreateFile、WriteFile3个核心函数

读取数据:

BOOL ReadFile(HANDLE hFile,LPVOID lpBuffer,DWORD nNumberOfBytesToRead,LPDOWRD lpNumberOfBytesRead,LPOVERLAPPED lpOverlapped);第一个参数:句柄。第二个参数:缓存地址。第三个参数:消息的长度。第四个参数:实际读取的长度。第五个参数:一般设置为NULL

打开对象:

BOOL CreateFile(LPCTSTR lpFileName,DWORD dwDesiredAccess,DWORD dwShareMode,LPSECURITY_ATTRIBUTES lpSecurityAttributes,DWORD dwCreationDisposition,DWORD dwFlagsAndAttributes,HANDLE hTemplateFile );第一个参数:文件指针。第二个参数:访问模式。第三个参数:共享模式。第四个参数:安全属性指针。第五个参数:创建选项。第六个参数:文件属性。第七个参数:用于复制文件句柄。

写入数据:

BOOL WriteFile(HANDLE hFile,LPCVOID lpBuffer,DWORD nNumberOfBytesToWrite,LPDWORD lpNumberOfBytesWritten,LPOVERLAPPED lpOverlapped);第一个参数:文件句柄。第二个参数:数据缓冲区指针。第三个参数:写入字节数。第四个参数:返回实际写入字节数。第五个参数:结构体指针,一般置NULL

总结

以上是生活随笔为你收集整理的进程间通信(7) “剪贴板“、“匿名管道“、“命名管道“、“邮槽“4种方式总结的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。