Dela via


Identifiera en skrivares färgkapacitet

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.

För att skilja mellan färg- och icke-färgenheter (monokrom eller gråskala) anropar Windows 2000- och senare NT-baserade operativsystemversioner funktionen DrvDeviceCapabilities och skickar DC_COLORDEVICE konstanten i anropet. Den här funktionen returnerar 1 om enheten stöder färg och 0 om enheten genererar monokroma eller gråskaleutdata. Det rekommenderas att alla skrivardrivrutiner stöder anrop till DrvDeviceCapabilities för konstanten DC_COLORDEVICE.

Det är mycket viktigt att drivrutiner implementerar funktionen DrvDeviceCapabilities. Annars är det svårare för operativsystemet att skilja mellan färg- och icke-färgenheter av följande skäl:

  • Ett anrop till funktionen GetDeviceCaps (beskrivs i Windows SDK-dokumentationen), där NUMCOLORS-konstanten skickas, resulterar vanligtvis i ett returvärde som är mindre än eller lika med 2 för de flesta icke-färgenheter och större än 2 för färgenheter. Operativsystemet kan inte skilja mellan monokroma och gråskaleenheter.

  • Värdet för dmColor medlem i DEVMODEW- struktur är inte en tillförlitlig indikator på om enheten är en färg- eller icke-färgenhet. Vissa skrivardrivrutiner ställer in den här medlemmen på DMCOLOR_COLOR även för enheter som inte kan producera färg.