Aracılığıyla paylaş


Dinamik Olarak Oluşturulan Yazıcı Komutları

Önemli

Modern yazdırma platformu, Windows'un yazıcılarla iletişim kurmak için tercih ettiği araçlardır. Yazıcı cihazı geliştirme için Windows 10 ve 11'deki yazdırma deneyimini özelleştirmek için Yazdırma Desteği Uygulamaları (PSA) ile birlikte Microsoft'un IPP gelen kutusu sınıf sürücüsünü kullanmanızı öneririz.

Daha fazla bilgi için bkz. Yazdırma Desteği Uygulaması v1 ve v2 tasarım kılavuzu.

Unidrv minidriver için bir GPD dosyasında yazıcı komutu her belirttiğinizde, aşağıdaki iki yöntemden birini kullanabilirsiniz:

  • Komut dizesini GPD dosyasına yerleştirin.

    Komut dizesini bir GPD dosyasına yerleştirdiğinizde, Unidrv komutu uygun zamanda yazıcı biriktiricisine gönderir. Bu komut dizeleri, Unidrv'in komutu göndermeden önce değerlendirdiği standart değişkenleri içerebilir.

  • Geri çağırma işlevi sağlayın.

    Geri çağırma işlevi sağlarsanız, Unidrv komutu göndermenin vakti geldiğinde işlevi çağırır ve komutu yazdırma biriktiricisine göndermekten işlev sorumludur. Bu, dinamik olarak bir komut dizesi oluşturan ve ardından bunu yazıcıya gönderen kodu eklemenize olanak tanır.

GpD dosyasına bir komut dizesi yerleştirmek için, komutun *Command girdisine *Cmd özniteliği eklemeniz gerekir.

Dinamik olarak bir komut dizesi oluşturan kodu sağlamak için aşağıdakileri yapmanız gerekir:

  • IPrintOemUni::CommandCallback yöntemini uygulayan bir işleme eklentisi sağlayın.

  • GPD dosyasında komutun *Command girdisine bir *CallbackID komut özniteliği ve isteğe bağlı olarak bir *Params özniteliği ekleyin.

Unidrv bir yazıcı komutu yayınlamaya hazır olduğunda, minidriver veritabanını denetleyerek komutun *Cmd özniteliğiyle mi yoksa *CallbackID özniteliğiyle mi belirtildiğini belirler. Önceki örnekte, Unidrv komut dizesini yazdırma biriktiricisine gönderir. İkinci durumda Unidrv, giriş bağımsız değişkenleri olarak *CallbackID ve *Params değerlerini geçirerek IPrintOemUni::CommandCallback yöntemini çağırır.