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函数指定的 |