Uzyskiwanie dostępu do interfejsów sterowników drukarki z Plug-Ins
Ważne
Nowoczesna platforma drukowania jest preferowanym sposobem komunikacji z drukarkami w systemie Windows. Zalecamy używanie sterownika klasy skrzynki odbiorczej IPP firmy Microsoft wraz z aplikacjami do obsługi drukowania (PSA), aby dostosować środowisko drukowania w systemie Windows 10 i 11 na potrzeby opracowywania urządzeń drukarki.
Aby uzyskać więcej informacji, zobacz przewodnik dotyczący projektowania aplikacji obsługującej druk .
Jeśli wtyczka wywołuje metody należące do dostarczonych przez sterownik interfejsów IPrintOemDriverUI, IPrintCoreHelperPS, IPrintCoreHelperUni, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPSlub IPrintCorePS2 COM, z uzyskaniem wskaźnika interfejsu ze sterownika trzeba postąpić w następujący sposób:
Wtyczka musi implementować metodę PublishDriverInterface interfejsu IPrintOemUI, IPrintOemUni, IPrintOemUni2, IPrintOemPS lub IPrintOemPS2.
Gdy sterownik (Unidrv lub Pscript5) wywołuje metodę PublishDriverInterface wtyczki, dostarcza wskaźnik do interfejsu IPrintOemDriverUI, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPSlub IPrintCorePS2 interfejsu wystąpienia IUnknown.
Wtyczka musi używać wskaźnika interfejsu IUnknown do wywoływania IUnknown::QueryInterface, określając identyfikator interfejsu, który reprezentuje żądaną wersję interfejsu IPrintOemDriverUI, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPSlub IPrintCorePS2. (Aby uzyskać więcej informacji, zobacz Identyfikatory interfejsu dla sterowników drukarek.)
Jeśli wtyczka określa identyfikator interfejsu reprezentujący wersję interfejsu obsługiwaną przez sterownik, QueryInterface zwraca wskaźnik do IPrintOemDriverUI, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPSlub interfejs IPrintCorePS2. Należy pamiętać, że sterownik wywołuje metodę AddRef interfejsu (opisaną w dokumentacji zestawu Windows SDK), zanim zwróci wskaźnik interfejsu do wtyczki. Wtyczka powinna zapisać ten wskaźnik, aby użyć go później do wywołania metod interfejsu.
Gdy wskaźnik interfejsu IPrintOemDriverUI, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPSlub IPrintCorePS2 nie jest już potrzebny, wtyczka musi wywołać metodę Release interfejsu (opisaną w dokumentacji Windows SDK).
W przypadku wtyczek do korzystania z nowego interfejsu interfejsu IPrintCoreHelper PS IPrintCoreHelperPS lub interfejsu IPrintCoreHelper Uni, wtyczka musi dodać obsługę OEMGI_GETREQUESTEDHELPERINTERFACES w IPrintOemUI::GetInfo, IPrintOemPS::GetInfolub IPrintOemUni::GetInfo metody.