Dela via


Gränssnittsidentifierare för skrivardrivrutiner

Important

Den moderna utskriftsplattformen är Windows bästa sätt att kommunicera med skrivare. Vi rekommenderar att du använder Microsofts IPP-drivrutin för inkorgsklass tillsammans med Print Support Apps (PSA) för att anpassa utskriftsupplevelsen i Windows 10 och 11 för enhetsutveckling av skrivare.

Mer information finns i designguiden för utskriftssupportapp v1 och v2.

En uppsättning GUID:er definieras i prcomoem.h. Var och en av dessa GUID:er är ett gränssnittsidentifierare för ett av COM-gränssnitten som används för kommunikation mellan skrivardrivrutinerna (Unidrv och Pscript5) och plugin-program.

För Windows 2000 och Windows XP definieras följande GUID:

IID_IPrintOemUIIID_IPrintOemUI2 (Pscript5 UI-plugin-program i Windows XP och senare versioner av Windows-operativsystemet) IID_IPrintOemDriverUIIID_IPrintCoreUI2 (Pscript5 UI-plugin-program i Windows XP och senare versioner av Windows-operativsystemet) IID_IPrintOemUniIID_IPrintOemUni2 (Unidrv renderar plugin-program i Windows XP och senare versioner av Windows-operativsystemet) IID_IPrintOemUni3 (Unidrv renderar plugin-program i Windows Vista och senare versioner av Windows-operativsystemet) IID_IPrintOemDriverUniIID_IPrintOemPSIID_IPrintOemPS2 (Pscript5 rendera plugin-program i Windows XP och senare versioner av Windows-operativsystemet) IID_IPrintOemDriverPSIID_IPrintCorePS2 (Pscript5 rendera plugin-program i Windows XP och senare versioner av Windows-operativsystemet) Identifierar varje GUID en version av ett gränssnitt. Om en ny version av ett gränssnitt har definierats läggs ett nytt GUID till i listan.

Insticksprogram för användargränssnitt och återgivning måste identifiera de gränssnittsversioner de stöder. Skrivardrivrutinen (Unidrv eller Pscript5) anropar ett plugin-programs IUnknown::QueryInterface-metod (beskrivs i Windows SDK-dokumentationen) och anger ett gränssnittsidentifierare som indata. Om plugin-programmet stöder den angivna versionen måste metoden returnera en pekare till gränssnittet tillsammans med en returstatus för S_OK. Annars måste den returnera E_NOINTERFACE. Drivrutinen börjar med gränssnittsidentifieraren för den senaste versionen och fortsätter att anropa QueryInterface med tidigare versionsidentifierare tills metoden returnerar S_OK eller om drivrutinen töms listan över versionsidentifierare.

På samma sätt tillhandahåller Unidrv och Pscript5 IUnknown::QueryInterface-metoder för COM-gränssnitten IPrintOemDriverUI, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPS eller IPrintCorePS2 . Plugin-program bör anropa lämpligt gränssnitts QueryInterface-metod för att fastställa vilken gränssnittsversion som stöds av drivrutinen och för att ta emot en gränssnittspekare.