VB聲明 |
||
Declare Function EnumPrinters Lib "winspool.drv" Alias "EnumPrintersA" (ByVal flags As Long, ByVal name As String, ByVal Level As Long, pPrinterEnum As Byte, ByVal cdBuf As Long, pcbNeeded As Long, pcReturned As Long) As Long |
||
說(shuō)明 |
||
枚舉系統(tǒng)中安裝的打印機(jī) |
||
返回值 |
||
Long,非零表示成功,零表示失敗。會(huì)設(shè)置GetLastError |
||
參數(shù)表 |
||
參數(shù) |
類(lèi)型及說(shuō)明 |
|
flags |
Long,一個(gè)或多個(gè)下述標(biāo)志 |
|
PRINTER_ENUM_LOCAL |
枚舉本地打印機(jī)(包括Windows 95中的網(wǎng)絡(luò)打印機(jī))。名字會(huì)被忽略 |
|
PRINTER_ENUM_NAME |
枚舉由name參數(shù)指定的打印機(jī)。其中的名字可以是一個(gè)供應(yīng)商、域或服務(wù)器。如name為NULL,則枚舉出可用的打印機(jī) |
|
PRINTER_ENUM_SHARE |
枚舉共享打印機(jī)(必須同其他常數(shù)組合使用) |
|
PRINTER_ENUM_CONNECTIONS |
枚舉網(wǎng)絡(luò)連接列表中的打印機(jī)(即使目前沒(méi)有連接——僅適用于NT) |
|
PRINTER_ENUM_NETWORK |
枚舉通過(guò)網(wǎng)絡(luò)連接的打印機(jī)。級(jí)別(Level)必須為1。僅適用于NT |
|
PRINTER_ENUM_REMOTE |
枚舉通過(guò)網(wǎng)絡(luò)連接的打印機(jī)和打印服務(wù)器。級(jí)別必須為1。僅適用于NT |
|
name |
String,vbNullString表示枚舉同本機(jī)連接的打印機(jī)。否則由標(biāo)志和級(jí)別決定 |
|
Level |
Long,1,2,4或5(4僅適用于NT;5僅適用于Win95和NT 4.0),指定欲枚舉的結(jié)構(gòu)的類(lèi)型。如果是1,則name參數(shù)由標(biāo)志設(shè)置決定。如果是2或5,那么name就代表欲對(duì)其打印機(jī)進(jìn)行枚舉的服務(wù)器的名字;或者為vbNullString。如果是4,那么只有PRINTER_ENUM_LOCAL和PRINTER_ENUM_CONNECTIONS才有效。名字必須是vbNullString |
|
pPrinterEnum |
Byte,包含PRINTER_ENUM_x結(jié)構(gòu)的緩沖區(qū),其中的x代表級(jí)別(Level) |
|
cbBuf |
Long,pPrinterEnum緩沖區(qū)中的字符數(shù)量 |
|
pcbNeeded |
Long,指向一個(gè)Long型變量的指針,該變量用于保存請(qǐng)求的緩沖區(qū)長(zhǎng)度,或者實(shí)際讀入的字節(jié)數(shù)量 |
|
pcReturned |
Long,載入緩沖區(qū)的結(jié)構(gòu)數(shù)量(用于那些能返回多個(gè)結(jié)構(gòu)的函數(shù)) |
|
注解 |
||
第4和第5級(jí)將它們的結(jié)構(gòu)建立在系統(tǒng)注冊(cè)表的基礎(chǔ)上,而且比第2級(jí)快得多。后者要求每臺(tái)打印機(jī)都處于打開(kāi)狀態(tài) 請(qǐng)參考微軟Win32手冊(cè),了解這個(gè)函數(shù)進(jìn)一步的情況 |