邮槽和Microsoft LAN Manager 2.x

【勇芳软件工作室】汉化HomePreviousNext

Windows使用类似于为Microsoft LAN Manager 2.0开发的邮槽。使用LAN Manager 2的应用程序。【x】邮槽可以轻松地与Windows创建的邮槽进行交互。然而,在基于Windows的邮槽和LAN Manager邮槽之间存在显着差异:

*基于Windows的邮件槽都有相同的类__没有“第一类”和“二类”邮槽。

*所有基于Windows的邮件槽消息具有相同的优先级,并且始终附加到邮槽缓冲区。当基于Windows的邮件槽消息被写入需要消息优先级的计算机上的邮槽时,系统将优先级设置为最低值(0)。

*对本地计算机上的基于Windows的邮槽的编写操作会在发生错误时返回错误值。对远程基于Windows的邮件槽的写操作在失败时不返回错误值。(因为没有内置的限制邮箱的大小,缓冲区的故障不大可能。)

*如果消息不能附加到邮槽缓冲区(例如缓冲区太小),则对基于Windows的邮槽的写入操作将立即失败。立即失败使写入超时无关紧要;与LAN Manager邮槽相反,基于Windows的邮件槽没有写入超时。

*创建基于Windows的邮槽的进程可以指定邮件槽句柄由其子进程继承。(LAN Manager中的邮槽控制台无法继承。)

过程通过使用标准文件输入和输出功能将消息写入基于Windows的邮槽。下表显示了LAN Manager邮槽功能及其相应的Windows功能。

LAN Manager功能Windows功能
DosDeleteMailslotCloseHandle
DosMailslotInfoGetMailslotInfo
DosMakeMailslotCreateMailslot
DosReadMailslotReadFile
DosWriteMailslotWriteFile