Makale numarası: 160129 - Son Gözden Geçirme: 21 Kasım 2006 Salı - Gözden geçirme: 4.1 Yazıcı ve yazdırma işinin durumunu nasıl edinilir
Bu SayfadaÖzetYazıcıları ve yazdırma işlerinin durumunu güncelleştirilir tarafından Win32 biriktirici yazdırma işi despool ilgili olarak sırasında. Yazıcı despooling olur ve hiçbir durum bilgisini raporlar, tüm diğer zamanlarda, yazıcının hazır ve boşta kalma kabul edilir. Daha fazla bilgiWin32 APı'tarafından başvurulan gibi "yazıcı" yazıcı sürücüsü, yazdırma sırasını ve giriş/çıkış yolu fiziksel yazıcı için oluşur. Işletim sistemi, fiziksel bir yazıcı tarafından oluşturulan ve bir yazıcı olarak bu makalenin geri kalanında olarak anılacaktır "Yazıcı" bir sistem geçtiğini yazdırma işinin yalnızca hedef olarak değerlendirir. En görünür bir yazıcı yazdırma sırasının parçasıdır. Yazdırma Yöneticisi'ni veya Windows 95 stili kullanıcı arabirimleri yazıcı klasörlerinde tarafından yönetiliyor. Yazıcı sürücüsü DC'ler yazıcı ile yazdırma işlerini oluşturmak için kullanılan uygulama tarafından yazıcıya arabirimdir. Bir yazıcı için g/Ç yolu sistem kod ile bir bağlantı noktası izleyicisini culminating birkaç katmanları içerir. Bağlantı noktası izleyicisi bir sistem yazıcı aşağı akış sonunda fiziksel yazıcı için bir arabirim ve fiziksel yazıcı için ne olursa olsun bağlantı var üzerinden yazdırma işinin veri aktarmak için sorumludur. Çift yönlü yazıcı bağlantı noktası izleyicisi ve fiziksel yazıcı için veri aktarmak için sorumlu olur. Bu bağlantıyı ve fiziksel yazıcıda, burada hataları oluşuyor var. Bu, bu hataları bildirmek için bağlantı noktası izleyicisi'nin işi olur. Biriktirici yazıcı bağlı olduğu fiziksel yazıcının durumunu sorgula. Bunun yerine, bağlantı noktası izleyicisini despooled anda yazdırma işinin başarılı bir fiziksel yazıcının durumunu belirler. Bu işlem sırasında bazı hata ortaya çıkarsa, hata bağlantı noktası izleyicisi tarafından bildirilen ve yazdırma projenin durum bilgileri kaydedilir. Biriktirici, sırayla, yazıcı sırası için uygun hata bilgilerini yayar. Sonuç olarak, yazıcı sırası boş olduğunda bir sistem yazıcı yok durumu bildirdi. Bu durumda, yazıcı, yazdırma işlerini kabul etmeye hazır varsayılır. Fiziksel yazıcıda bir hata olsa bile, bu geçerli bir varsayımı, çevrimdışı olarak belirtin. Işletim sistemi herhangi bir nedenle fiziksel yazıcı için teslimat tamamlanamıyor olsa bile, yazdırma işlerini kabul etmeye hazır yazıcı dikkate alır. Işlemin üstlenmesine böyle bir durum, bir kullanıcı tarafından belirtilen işletim sistemi hata durumunda olarak kabul edilir. Bu hata, yazdırma işini biriktirme işleminin başarıyla tamamlanabilmesi için izin verilen uygulama reportable nitelendirilmez. Bir fiziksel yazıcının durumunu belirlemeBir fiziksel yazıcının durumunu belirlemek için doğru olması gereken bir temel premise vardır: Biriktirici fiziksel yazıcıya yazdırma işi göndermek çalışıyor gerekir. Bu yazıcının durumunu bağlantı noktası izleyicisi tarafından bildirilen tek zamandır. Buna ek olarak, bazı bağlantı noktası izleyicisi bu değerleri doğrudan ayarladınız, çünkü en anlamlı bilgiler bir JOB_INFO yapısı, belirli bir yazdırma işinin durumunu üyeleri raporlanabilir.JOB_INFO yapıları Durum üye ve pStatus üye içerir. Her iki üyesi, bağlantı noktası izleyicisi tarafından bildirilen bir yazdırma işinin durumu bilgilerini içerir. Hemen hemen her şeyi içerebilir dize işaretçisi pStatus üye olduğu sırada, önceden belirlenmiş değerleri içeren bir bit alanı durumları Durum üyesiyse, bu iki üye farklı. Bu değerler, Win32 SDK ve WinSpool.h üstbilgi dosyası belgelenmiştir. Bazen, ancak her zaman pStatus üye bir tanımlayıcı durum dizesi olarak ayarlanır. Bu dize içeriği, her bağlantı noktası izleyicisi tarafından tanımlanır. Iki API işlevi tarafından döndürülen JOB_INFO yapıları: GetJob ve EnumJobs. EnumJobs JOB_INFO yapıları dizisi gerek kalmadan, arayanın başvurusunu belirli bir iş yazıcı sırasında verir. Geçerli (yazdırma) despooling yazdırma işini, durum bilgileri içerir. Bu işlem dizesi içinde bulmak için <a0></a0>, yazdırma işini JOB_STATUS_PRINTING bit kümesi olan durum üyenin bulmaya JOB_INFO yapıları dizisi arayın. Yazıcı durumu belirleme bir daha kolay PRINTER_INFO yapısının durum üye incelemek için yöntemidir. Bu yapı GetPrinter işlevi tarafından döndürülür. Daha ayrıntılı veya kapsamlı durum bilgileri sağlayabilir PRINTER_INFO yapısında hiçbir pStatus dize üyesini, bu yaklaşımın bir olumsuz yanı vardır. Ancak, bir yararı yoktur, bir bağlantı noktası izleyicisi daha kapsamlı yazıcı bazıları PRINTER_INFO yapısının durum bitleri ayarlanmış. Ancak, Windows varsayılan bağlantı noktası monitörü genellikle en az bir yazıcının durum üyenin PRINTER_STATUS_ERROR kill bitini ayarlamaz olduğunu unutmayın. Not yapıları ya da bir dizi durum üyeleri kesinlikle fiziksel yazıcı için ilgili durum bilgilerini içerebilir. Örneğin, durumu üye PRINTER_INFO yapıları PRINTER_STATUS_PAUSED veya yazdırma sırası için kesinlikle ilgili PRINTER_STATUS_PENDING_DELETION, ayarlanmış olabilir. Ayrıca, durum üye JOB_INFO yapısının JOB_STATUS_PAUSED veya yalnızca o belirli yazdırma işleriyle ilgili olmayan JOB_STATUS_DELETING, durum değerleri içerebilir. Ayrıca, despooled ve JOB_STATUS_PRINTED durumuyla sol sonra yazdırma işlerini bir yazdırma sırasına birikebilecek unutmayın. Bu işlevlerden her biri için bir yazıcı istediğiniz yazıcı tanımlamak için bir tanıtıcı gerektirir. Bu tanıtıcı, yazıcının adını içeren bir dize olarak kabul eden OpenPrinter işlevinden alınır. Bu adı ya da yerel ad yazıcının olabilir veya bir UNC adı bir ağ yazıcısına paylaşın. Aşağıdaki örnek kodu JOB_INFO yapılarını düzgün almaya EnumJobs işlevini çağırın ve PRINTER_INFO yapıları almak için GetPrinter işlevini çağırmak üzere gösterir: Örnek kodReferanslarBu makaledeki bilginin uygulandığı durum:
Otomatik TercümeÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir. Makalenin İngilizcesi aşağıdaki gibidir:160129
(http://support.microsoft.com/kb/160129/en-us/
)
| Diğer Kaynaklar Diğer Destek Siteleri
ToplulukMakale çevirileri
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Üste