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