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 |
||
說(shuō)明 |
||
這個(gè)函數(shù)由一個(gè)希望通過(guò)管道通信的一個(gè)客戶進(jìn)程調(diào)用。如有可能,它就同一個(gè)管道連接(在必要的情況下等候管道可用)。隨后,它對(duì)指定的數(shù)據(jù)進(jìn)行讀寫,然后將管道關(guān)閉 |
||
返回值 |
||
Long,非零表示成功,零表示失敗。會(huì)設(shè)置GetLastError |
||
參數(shù)表 |
||
參數(shù) |
類型及說(shuō)明 |
|
lpNamedPipeName |
String,欲打開管道的名稱 |
|
lpInBuffer |
Any,包含了要寫入管道的數(shù)據(jù)的一個(gè)內(nèi)存緩沖區(qū) |
|
nInBufferSize |
Long,lpInBuffer緩沖區(qū)中的字符數(shù)量 |
|
lpOutBuffer |
Any,指定一個(gè)內(nèi)存緩沖區(qū),用于裝載從管道中讀出的數(shù)據(jù) |
|
nOutBufferSize |
Long,指定一個(gè)長(zhǎng)整數(shù)變量,用于裝載來(lái)自管道的數(shù)據(jù) |
|
lpBytesRead |
Long,指定從管道中讀出的字節(jié)數(shù)。會(huì)閱讀單條消息。如lpOutBuffer的容量不夠大,不能容下整條消息,則函數(shù)會(huì)返回FALSE,而且GetLastError會(huì)設(shè)為ERROR_MORE_DATA(消息中留下的任何字節(jié)都會(huì)丟失) |
|
nTimeOut |
Long,下述常數(shù)之一: |
|
NMPWAIT_NOWAIT |
如管道不可用,則立即返回一個(gè)錯(cuò)誤 |
|
NMPWAIT_WAIT_FOREVER |
永遠(yuǎn)等候管道可用 |
|
NMPWAIT_USE_DEFAULT_WAIT |
使用管道的默認(rèn)超時(shí)設(shè)置,這個(gè)設(shè)置是用CreateNamedPipe函數(shù)指定的 |