GetMailslotInfo
利用邮槽实现进程间通信
Retrieves information about the specified mailslot.
VB定义
ageSize As Long, lpNextSize As Long, lpMessageCount As Long, lpReadTimeout As Long) As Long
VC定义
BOOL WINAPI GetMailslotInfo(
_In_HANDLE hMailslot,
_Out_opt_LPDWORD lpMaxMessageSize,
_Out_opt_LPDWORD lpNextSize,
_Out_opt_LPDWORD lpMessageCount,
_Out_opt_LPDWORD lpReadTimeout
);
参数说明
获取与一个邮路有关的信息
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
hMailslot Long,指定一个邮路的句柄, 由CreateMailslot创建
lpMaxMessageSize Long,指定一个长整数变量地址,用于装载这个邮路的最大消息长度
The maximum message size, in bytes, allowed for this mailslot. This value can be greater than or equal to the value specified in the cbMaxMsg parameter of the CreateMailslot function that created the mailslot. 这个参数可以为NULL。
lpNextSize Long,指定一个长整数变量地址,用于装载下一条消息的长度。如没有消息准备好,则可被为常数MAILSLOT_NO_MESSAGE。这个参数可以为NULL。
lpMessageCount Long,指定一个长整数变量地址,用于装载邮路中准备好的消息数量。这个参数可以为NULL。
lpReadTimeout Long,指定一个长整数变量地址,用于装载邮路的默认阅读超时。这个参数可以为NULL。
使用邮槽通信的进程分为服务端和客户端.
邮槽由服务端创建,在创建时需要指定邮槽名,创建后服务端得到邮槽的句柄.
在邮槽创建后,客户端可以通过邮槽名打开邮槽,在获得句柄后可以向邮槽写入消息.
邮槽通信是单向的,只有服务端才能从邮槽中读取消息,客户端只能写入消息.
消息是先入先出的,客户端先写入的消息在服务端先被读取.
邮槽除了在本机内进行进程间通信外,在主机间也可以通信.
但是在主机间进行邮槽通信,数据通过网络传播时使用的是数据报协议(UDP),所以是一种不可靠的通信.
Note:须包含头文件 #include
最新修订时间:2023-12-30 12:37
目录
概述
VB定义
VC定义
参考资料