`
emowuyi
  • 浏览: 1486401 次
文章分类
社区版块
存档分类
最新评论

Windows 命名管道2

 
阅读更多

Windows 命名管道 - 服务器端


以下代码为DLL库中的单元文件。


服务器代码:

UnmpSrv.pas


首先,CreateNamedPipe函数在API中的定义如下:

HANDLE WINAPI CreateNamedPipe(
  __inLPCTSTR lpName,
  __inDWORD dwOpenMode,
  __inDWORD dwPipeMode,
  __inDWORD nMaxInstances,
  __inDWORD nOutBufferSize,
  __inDWORD nInBufferSize,
  __inDWORD nDefaultTimeOut,
  __in_optLPSECURITY_ATTRIBUTES lpSecurityAttributes
);

参数:

lpName: 管道名称;

dwOpenMode: 打开模式; 有三种模式:双向(server <-> client)、单向1(server <- client)、单向2(server -> client )

dwPipeMode: 管道的数据流模式; 有两种:PIPE_TYPE_BYTE和PIPE_TYPE_MESSAGE。使用字符串多一些的时候建议使用Message模式。

nMaxInstances: 可以连接的客户端数量;范围为1~255。

nOutBufferSize: 缓冲输出大小;

nInBufferSize: 缓冲输入大小;因为使用单向,所以设为0;

nDefaultTimeOut: 超时设定;单位为毫秒。

最后一个参数为可选。设为空。


如果实例值等于0或者无效,则关闭句柄,并返回0;

test命名管道,如果存在,是否存在错误,不存在关闭句柄,并返回0;


返回实例句柄,以供调用。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics