|
Ózbekistan respublikasí informaciyalíq texnologiyalarí HÁm kommunikaciyalarín rawajlandíRÍw ministrligi
|
bet | 3/3 | Sana | 03.06.2024 | Hajmi | 190,5 Kb. | | #259778 |
Bog'liq Artikbaev M. Ornatlg\'an sistema 4-kursPrinter drayveri
Windows basıp shıǵarıw arxitekturası
Bul arxitekturanıń eń zárúrli komponentleri printer spoleri hám printer drayverlari kompleksi bolıp tabıladı.
Windows arxitekturasınıń strukturalıq bólegi bolıp, baspadan shıǵarıw gezekleri menen isleytuǵın baspadan shıǵarıw serveri bolıp tabıladı. Ol klient-server arxitekturasına iye.
Klient tómendegilerdi óz ishine aladı :
- chop etiw xızmetlerine mútáj bolǵan qosımsha yamasa spoler oǵan usınıwı múmkin bolǵan hár qanday tiyisli xızmetler; barlıq sorawlar programma tárepinen GDI ga jiberiledi (bul tómen aǵıs komponenti)
- Uinspul. drv - spoler tárepinen usınıs etilgen paydalanıwshı interfeysi. Bul komponent odan da tómenlew. Bul dizim degi barlıq komponentler joqarıdan tómengeshe sanap ótilgen.
Server komponentleri:
- Spoolsv. exe - spoler API serveri
- Spools. dll - spolerning " marshrutizatori". Oǵan kelgen sorawlardı analiz etedi hám olardı qaysı provayderga jóneltiriw kerekligini anıqlaydı.
Eń zárúrli komponent bul baspadan shıǵarıw provayderi - ol ushın belgilengen jergilikli hám aralıqtan baspadan shıǵarıw apparatları menen isleytuǵın komponent. Sonıń menen birge, baspadan shıǵarıw provayderi arqalı siz baspadan shıǵarıw gezekleri menen túrli ámellerdi orınlawıńız múmkin.
Baspadan shıǵarıw provayderlari tómendegi túrlerge bólinedi:
- mahalliy baspa provayder; fayl localspl. dll
- tarmaq basıp shıǵarıw provayderi; fayl - win 32 spl. dll
- Novell Baspadan shıǵarıw provayderi NetWare ; fayl - win 32 spl. dll
- HTTP menen isleytuǵın baspadan shıǵarıw provayderi ; fayl inetpp esaplanadı. dll
Jergilikli baspadan shıǵarıw provayderi.
Onıń tiykarǵı maqseti - basıp shıǵarıw menen baylanıslı sistema daǵı barlıq resursların basqarıw :
- chop etiw gezekleri
- printer drayveri
- printer wazıypaları
- portlar
Baspadan shıǵarıw provayderi tárepinen belgilengen barlıq funktsiyalar tómendegilerge bólinedi:
- iske túsiriw funktsiyaları
- printer drayverini, baspadan shıǵarıw gezeklerin, printer jumısların, portlardı, dizimge alıw kitapın hám basqalardı basqarıw funktsiyaları.
Bunnan tısqarı, XcvData funktsiyası da ámeldegi bolıp, ol server hám klient DLL -lari ortasındaǵı baylanıstı támiyinleydi - port monıtor kitapxanaları.
Jergilikli baspadan shıǵarıw provayderi standart funktsiyalar kompleksin qollap-quwatlawdan tısqarı, tómendegilerdi de qollap-quwatlawı kerek:
- printer drayverining arxitekturası DLL jergilikli printer interfeysine qońırawlar menen birge.
- islep shıǵarıwshı tárepinen usınıs etilgen basıp shıǵarıw protsessorining arxitekturası
- islep shıǵarıwshı tárepinen usınıs etilgen port monıtorınıń arxitekturası
Printer drayverleri
Windows printer drayverlarining bir neshe túrleri ámeldegi :
- Microsoft universal printer drayveri - universal aydawshı printer
- Microsoft PostScript printer drayveri PostScript printer ushın
- Microsoft Plotter aydawshı ushın plotter
Ulıwma drayverni jaratıw procesin ush komponentke bolıw hám olardı bólek ámelge asırıw tawıq hám bódeneden basqa quslardıń mákiyeni:
- Microsoft ushın plagin Render
- mini printer drayveri
- port monıtorı
Mini printer drayveri renderlash mexanizmine printer haqqında sıpatlama beriw ushın juwapker bolıp tabıladı. Renderer printer wazıypaların ustap, olardan bitmap sızıqların payda etedi hám keyin olardı spulerga uzatadı. Printer jumısların tuwrı qayta islew ushın printer haqqında maǵlıwmat kerek. Printer mini-drayveri DDK menen birge kelgen Unitool járdem programması járdeminde jaratılǵan. Oǵan raxmet, GPC maǵlıwmatları ( General Printer Bir yamasa bir neshe soǵan uqsas bitmap printerler ushın xarakterlew ) minidriverda anıqlanadı hám tártiplestiriledi.
Microsoft ushın plagin Render : Dizimnen ótken IPrintOemOnı :: FilterGraphics funksiyası ámeldegi bolıp, ol jaratılǵan bitmap sızıqlarına olar spulerga jiberilishidan aldın kirisiwedi. Bul jiberiwden aldın qatarlardı ózgertiw imkaniyatın beredi: shifrlaw, qısıw hám t.b.
Port monıtorı ( port monıtor ) Windows baspadan shıǵarıw tómen sisteması arxitekturasınıń bir bólegi bolıp tabıladı. Hár bir port monıtorı API funktsiyalarınıń standart kompleksin qollap -quwatlaydı. Spuler bul funksiyalardıń barlıǵın kerek bolǵanda shaqıradı.
LPMONITOREX
InitializePrintMonıtor ( LPWSTR pRegistryRoot );
Spuler jumısqa túsiriw waqtında bul funktsiyanı shaqıradı hám odan basqa funktsiyalar ushın kirisiw noqatların óz ishine alǵan strukturanı aladı. Port monıtorında tek eki kirisiw noqatı bar. Olardan biri bul funktsiyada, ekinshisi bolsa DllEntryPoint funktsiyasında. Port monıtorı spuler tárepinen qabıl etilgen struktura daǵı barlıq funksiyalardı kirip etedi. Bul funksiya Win 32 API funksiyası arqalı port monıtorın júklegende spuler tárepinen shaqırıladı LoadLibrary. Basqa jaǵdaylarda, ol spuler ushın DLL -ni yadqa júklew ushın kirisiw noqatı retinde isleydi hám basqa hesh nárse etpeydi.
Port printerge tayınlanǵanda spuler OpenPort funksiyasın shaqıradı. Bul funktsiya pName'dagi port deskriptorini qaytaradı. Spuler port monıtorına keyingi qońırawlarda funksiya tárepinen qaytarılǵan dásteni isletedi: StartDocPort, WritePort, ReadPort hám EndDocPort. Spuler, OpenPort funksiyasınıń maqul túsetuǵın waqtın (tabıslı yamasa áwmetsiz) atqarılıwın kutadi. Port monıtorında bolıwı múmkin bolǵan barlıq jumısqa túsiriw tártipleri bul funktsiyada ámelge asıriladı.
Hesh qanday printer hPort parametri menen belgilengen port menen baylanıspaǵan bolsa, ádetde ClosePort -ni shaqıradı.
printerge jumıstı jiberiwge tayın bolǵanda StartDocPort funksiyasın shaqıradı.
WritePort funktsiyası pBuffer -de kórsetilgen maǵlıwmatlardı printerge jiberedi. Eger tolıq jumıstı printerge jiberiw kerek bolsa, spuler bul funksiyanı shaqıradı. Biriktiruvchi blok kólemin cbBuf parametrinde ornatadı. Eger printerden juwap bolmasa, WritePort uyqas waqıt kutadi hám juwap almasa, FALSE ma`nisin qaytaradı. WritePort funktsiyası mudamı portqa jazıwǵa urınıwdan aldın pcbWritten ni nolǵa teńlestiriwi kerek. Eger portqa jazıwǵa urınıw tabıslı bolsa, pcbWritten jiberilgen báyitler sanın óz ishine aladı.
ReadPort ózgesheligi óz-ara baylanıstı támiyinleytuǵın printerlerdi qollap -quwatlaydı. Eger printer hesh nársege qıyanat etpese, ReadPort printerden hesh qanday maǵlıwmat joq ekenligin tekseriw ushın málim waqıt kutadi hám FALSE ni qaytaradı. ReadPort funksiyası printerden maǵlıwmatlardı alıwǵa urınıwdan aldın mudamı pcbReadni nolǵa teńlestiriwi kerek. Eger printerden alınǵan maǵlıwmatlardı oqıw tabıslı bolsa, pcbRead uzatılǵan báyitler sanın óz ishine aladı.
tawsılǵannan keyin printer EndDocPort funksiyasın shaqıradı. Monıtorlar jumıs tawsılǵanlıǵı haqqında spolerga xabar beriw ushın Win 32 SetJob funksiyasın shaqırıwları kerek. EndDocPort port monıtor funksiyası dwComand parametri JOB _ CONTROL _ SENT _ TO _ PRINTER ga ornatılǵan halda SetJob -ni shaqırıwı kerek. Printer iskerligi " til" monıtorınan ótkende, spuler port monıtorınan alınǵan hár qanday eskertiwlerge itibar bermeydi. Sol sebepli printer jumısınıń tawısıwın anıqlay alatuǵın monıtor printer jumıs tawsılǵanlıǵı haqqında signal bermaguncha SetJobga qońırawdı keshiktirishi kerek. Bul maqsette EndDocPort funksiyasınan paydalanıw múmkin. Til monıtorı printerden óz jumısın tamamlaǵanlıǵı haqqında bildiriw xatı alǵanında, JOB _ CONTROL _ Last _ PAGE _ ELECCTED ni jiberiwi kerek. Eger paydalanıwshı jumıstı alıp taslaǵan yamasa qayta baslaǵan bolsa, monıtorlar bunı ózgertiwi kerek bolıwı múmkin. Bul hádiysediń kelip shıǵıwın anıqlaw ushın GetJob Win 32 funksiyasına qońıraw etiń hám jumıs jaǵdayı JOB _ STATUS _ DELETING yamasa JOB _ STATUS _ RESTART ga ornatılǵanlıǵın tekseriń. EndDocPort funktsiyası, sonıń menen birge, StarDoc funktsiyası tárepinen ajıratılǵan hár qanday resursların shıǵarıwı kerek.
AddPort port jaratadı jáne onı spuler ortalıǵında kórsetilgen monıtor tárepinen házirde qollap -quwatlanatuǵın portlar dizimine qosadı. AddPort portlardı ınteraktiv qosıw imkaniyatın beredi. Monıtor paydalanıwshınan hWnd parametri menen baylanıslı bolǵan dialog aynasında port atınıń soranıwı kerek. AddPort funktsiyası kiritilgen port atınıń Win 32 EnumPorts funksiyasına qońıraw qılıw arqalı tekseriwi kerek, bul spuler ortalıǵında birdey nomerlerge iye portlar joq ekenligin tekseredi. Monıtor, sonıń menen birge, port qollap -quwatlaytuǵın port ekenligine isenim payda etiwi kerek.
porttı monıtor ortalıǵından alıp taslaw ushın DeletePort funksiyasın shaqıradı. Monıtor belgilengen porttı jaǵdayınan alıp taslawı kerek.
portlar dizimin alıw ushın EnumPorts -ga qońıraw etedi. Onı jumısqa túsiriw waqtında spuler ámeldegi portlar dizimin jaratıw ushın barlıq ornatılǵan port monıtorlarında EnumPorts -ni shaqıradı.
port konfiguratsiyasini ámelge asırıw ushın ConfigurePort funksiyasın shaqıradı. ConfigurePort paydalanıwshınan printerdi sazlaw ushın kerekli maǵlıwmatlardı tolıq yamasa tek bir bólegin alıw ushın dialog aynasın kórsetiwi múmkin.
SetPortTimeOuts funksiyası qálegen bolıp tabıladı; ol port juwabın kútiw waqtın belgileydi.
GetPrinterDataFromPort funksiyası da qálegen, ol porttan printer maǵlıwmatların aladı.
Juwmaq
Drayvlarni jazıw júdá quramalı, biraq soǵan qaramay, programmalastırıwdıń júdá qızıqlı hám tiyisli tarawı. Aydawshılardı jazıw texnologiyasınıń ayriqsha qásiyetlerin biliw júdá kóp múmkinshiliklerdi ashıp beredi - óndiriwshi tárepinen qollap -quwatlanmaydigan apparatlar ushın drayverlarni jazıw, drayverlari ele jazılmaǵan apparatlar ushın drayverlarni jazıw, drayverlardagi qátelerdi ońlaw, túrli sanaat apparatları ushın drayverlarni jazıw, hám basqalar.
Hár bir operatsion sistema ayriqsha ayrıqshalıqlarǵa iye, sol sebepli olar ushın drayverlarni jazıwdıń ayriqsha qásiyetleri. Tap sol zattı hár túrlı túrdegi úskeneler haqqında da búydew múmkin.
Paydalanılǵan ádebiyatlar
1. Yusupbekov N. R., Muxamedov B. I., Gulomov Sh. M. “Texnologiyalıq processlerdi baqlaw hám avtomatlashtirish” -Tashkent: Oqıtıwshı, 2011.
2. Abdullaev M. M., Názerov X. N., Abdullaeva S. B., Tolipov A. R., Matyoqubov N. R. “Esaplaw texnikası hám basqarıw sistemalarınıń elementleri hám apparatlari”. Lekciyalar teksti. Tashkent 2011.
3. Oljaev E. Ol.” Mikroprotsessorlar, mikro EHM tiykarlar”. Oqıw qóllanba. Tashkent. 2011.
4. vaxidov A. X., Abdullaev D. A. “Avtomatıkanıń texnikalıq quralları” Tashkent, 2012.
|
| |