
GetPrinter
function GetPrinter(
hPrinter: THandle;
Level: DWORD;
pPrinter: Pointer;
cbBuf: DWORD;
pcbNeeded: PDWORD
): BOOL;
A függvény segítségével egy megadott nyomtatóról információkat kérdezhetünk le.
Paraméterek
hPrinter: THandle
A nyomtató azonosítója.
Level: DWORD
A lekérdezendő adatstruktúra típusa. Windows 95/98/ME esetén a megadható értékek: 1,2,5. NT alapú rendszerek esetében: 1,2,3,4,5,7,8,9.
pPrinter: Pointer
Itt egy struktúrát kell megadnunk, amelybe a lekérdezett információk kerülnek. A struktúrának elég nagynak kell lennie ahhoz, hogy az adatok beleférjenek. Ha a mérete kisebb a szükségesnél, az adatok nem kerülnek bele, a pcbNeeded paraméter pedig a szükséges méretet adja vissza. Ha például Nil értéket adunk meg, akkor a függvényt felhasználhatjuk arra, hogy a szükséges struktúraméretet meghatározzuk. Ilyenkor a függvény visszatérési értéke hamis lesz, de a pcbNeeded-ben megkapjuk a szükséges méretet.
cbBuf: DWORD
Az nPrinter struktúra mérete, bájtokban.
pcbNeeded: PDWORD
Itt egy változót kell megadnunk. A lekérdezett struktúra mérete a megadott változóba kerül. Ennek a méretnek nagyobbnak vagy egyenlőnek kell lennie a cbBuf-nál, vagy a függvény visszatérési értéke hamis lesz.
Visszatérési érték
Igaz, ha a struktúra meghatározása sikeres volt, ellenkező esetben hamis.
A GetPrinter függvény segítségével olyan adatokat kérdezhetünk le, amelyet a Level paraméterben kiválasztottunk. A lekérdezésben nyolcfajta struktúra közül választhatunk. A WinSpool unitban megtalálható az első 5 struktúra implementációja, de a 7-8-9 hiányzik, ezek deklarálásáról nekünk kell gondoskodnunk.
A struktúrák a következők.
PRINTER_INFO_1
Általános információkat kérdezhetünk le vele.
Információt szolgáltat a nyomtatóról. Az itt használható konstansok a WinSpool unitban találhatók, PRINTER_ENUM_* néven.
A nyomtató leírását tartalmazza.
A nyomtató neve.
Rövid leírás a nyomtatóról.
PRINTER_INFO_2
Részletes információk lekérdezésére szolgál.
A nyomtatót vezérlő szerver neve.
A nyomtató neve.
Az a név, amelyen a nyomtató meg van osztva.
Port neve, amelyhez a nyomtató csatlakozik.
Meghajtó neve.
Rövid leírás a nyomtatóról.
A nyomtató fizikai helye.
Egy beágyazott DEVMODE struktúra, amely további nyomtató adatokat szolgáltat, például a papír- és színkezelésről.
Annak a fájlnak a neve, amelyet a nyomtatóra küldött dokumentumok elválasztására használunk.
- pPrintProcessor: PAnsiChar;
A nyomtató processzor neve.
A nyomtatandó munkák adattípusa.
A nyomtató processzor paraméterei.
- pSecurityDescriptor: PSecurityDescriptor;
Egy beágyazott SECURITY_DESCRIPTOR struktúra.
A nyomtató tulajdonságait adja meg. Értéke több konstans kombinációja lehet. A konstansok a WinSpool unitban találhatók, PRINTER_ATTRIBUTE_* néven.
Az a prioritás érték, amellyel a nyomtatásvezérlő ellátja a nyomtatandó munkákat.
A nyomtatandó munkákhoz, alapértelmezésként rendelt prioritás.
Meghatározza a legkorábbi időt, amikor a nyomtató nyomtatni fog. Az időt percekben adja meg, a greenwich-i 12.00-tól számítva.
Meghatározza a legkésőbbi időpontot, amikor a nyomtató nyomtatni fog. Az időt percekben adja meg, a greenwich-i 12.00-tól számítva.
A nyomtató állapotát adja meg. Itt több konstans kombinációját is használhatjuk egyszerre. Ezek a konstansok a WinSpool unitban találhatóak, PRINTER_STATUS_* néven.
A nyomtatásra váró dokumentumok száma.
A kinyomtatott munkák átlagos lap/perc adata.
PRINTER_INFO_3
Biztonsági információk lekérdezésére szolgál.
- pSecurityDescriptor: PSecurityDescriptor;
Beágyazott SECURITY_DESCRIPTOR struktúra, amely a nyomtató biztonsági információit tartalmazza.
PRINTER_INFO_4
Minimális mennyiségű információ lekérdezésére alkalmas.
A nyomtató neve.
A nyomtatót tartalmazó szerver neve.
Értéke a következő lehet: PRINTER_ATTRIBUTE_LOCAL (helyi nyomtató), PRINTER_ATTRIBUTE_NETWORK (hálózati nyomtató).
PRINTER_INFO_5
Általános adatok és időtúllépési beállítások lekérdezésére szolgál.
A nyomtató neve.
Annak a portnak a neve, amelyhez a nyomtató csatlakoztatva van. Ha egy nyomtató egyszerre több porthoz csatlakozik, akkor a portok a következő módon kerülnek felsorolásra: pl. "LPT1:,LPT2:,LPT3:".
A nyomtató tulajdonságai. Az érték több konstans kombinációja is lehet. A konstansok a WinSpool unitban találhatóak, PRINTER_ATTRIBUTE_* néven.
- DeviceNotSelectedTimeout: DWORD;
Csak Win95/98/ME esetén van értelmezve. Meghatározza azt a maximális időt, ezredmásodpercekben, amely az eszköz kiválasztási próbálkozások között eltelhet.
- TransmissionRetryTimeout: DWORD;
Csak Win95/98/ME esetén van értelmezve. Meghatározza azt a maximális időt, ezredmásodpercekben, amely az adatátvitel próbálkozások között eltelhet.
PRINTER_INFO_7
Megnézhetjük vele, hogy a nyomtató szerepel-e a Directory Service-ben.
- pszObjectGUID: PAnsiChar;
A nyomtató GUID azonosítója.
Megadja, hogy a nyomtató szerepel-e a DS-ben. A következő értékeket tartalmazhatja: DSPRINT_PUBLISH, DSPRINT_UNPUBLISH, DSPRINT_UPDATE, DSPRINT_PENDING.
PRINTER_INFO_8
Globális nyomtató beállítások lekérdezésére használható.
Egy beágyazott DEVMODE struktúra, amely további nyomtató adatokat szolgáltat, például a papír- és színkezelésről.
PRINTER_INFO_9
Felhasználó specifikus beállítások lekérdezésére használható.
Egy beágyazott DEVMODE struktúra, amely további nyomtató adatokat szolgáltat, például a papír- és színkezelésről.