EnumPrinters

此頁沒有內(nèi)容條目
內(nèi)容

EnumPrinters

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ù)進一步的情況

Top