Dela via


Gränssnittsidentifierare för skrivardrivrutiner

Viktig

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 Print-supportappen.

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-tillägg i Windows XP och senare versioner av Windows-operativsystemet) IID_IPrintOemDriverUIIID_IPrintCoreUI2 (Pscript5 UI-tillägg i Windows XP och senare versioner av Windows-operativsystemet) IID_IPrintOemUniIID_IPrintOemUni2 (Unidrv renderingstillägg i Windows XP och senare versioner av Windows-operativsystemet) IID_IPrintOemUni3 (Unidrv renderingstillägg i Windows Vista och senare versioner av Windows-operativsystemet) IID_IPrintOemDriverUniIID_IPrintOemPSIID_IPrintOemPS2 (Pscript5 renderingstillägg i Windows XP och senare versioner av Windows-operativsystemet) IID_IPrintOemDriverPSIID_IPrintCorePS2 (Pscript5 renderingstillägg i Windows XP och senare versioner av Windows-operativsystemet) Varje GUID identifierar 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 en 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 drivrutinen töms listan över versionsidentifierare.

På samma sätt tillhandahåller Unidrv och Pscript5 IUnknown::QueryInterface metoder för IPrintOemDriverUI, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPSeller IPrintCorePS2 COM-gränssnitt. 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.