CallNamedPipe

CallNamedPipe

VB声明

Declare Function CallNamedPipe Lib "kernel32" Alias "CallNamedPipeA" (ByVal lpNamedPipeName As String, lpInBuffer As Any, ByVal nInBufferSize As Long, lpOutBuffer As Any, ByVal nOutBufferSize As Long, lpBytesRead As Long, ByVal nTimeOut As Long) As Long

说明

这个函数由一个希望通过管道通信的一个客户进程调用。如有可能,它就同一个管道连接(在必要的情况下等候管道可用)。随后,它对指定的数据进行读写,然后将管道关闭

返回值

Long,非零表示成功,零表示失败。会设置GetLastError

参数表

参数

类型及说明

lpNamedPipeName

String,欲打开管道的名称

lpInBuffer

Any,包含了要写入管道的数据的一个内存缓冲区

nInBufferSize

Long,lpInBuffer缓冲区中的字符数量

lpOutBuffer

Any,指定一个内存缓冲区,用于装载从管道中读出的数据

nOutBufferSize

Long,指定一个长整数变量,用于装载来自管道的数据

lpBytesRead

Long,指定从管道中读出的字节数。会阅读单条消息。如lpOutBuffer的容量不够大,不能容下整条消息,则函数会返回FALSE,而且GetLastError会设为ERROR_MORE_DATA(消息中留下的任何字节都会丢失)

nTimeOut

Long,下述常数之一:

NMPWAIT_NOWAIT

如管道不可用,则立即返回一个错误

NMPWAIT_WAIT_FOREVER

永远等候管道可用

NMPWAIT_USE_DEFAULT_WAIT

使用管道的默认超时设置,这个设置是用CreateNamedPipe函数指定的

Top