/*++ Copyright (c) 1997-1999 Microsoft Corporation --*/ #ifndef _PDEV_H #define _PDEV_H #include #include #include #define VALID_PDEVOBJ(pdevobj) \ ((pdevobj) && (pdevobj)->dwSize >= sizeof(DEVOBJ) && \ (pdevobj)->hEngine && (pdevobj)->hPrinter && \ (pdevobj)->pPublicDM && (pdevobj)->pDrvProcs ) #define ASSERT_VALID_PDEVOBJ(pdevobj) ASSERT(VALID_PDEVOBJ(pdevobj)) // Debug text. #define ERRORTEXT(s) "ERROR " DLLTEXT(s) // // OEM Signature and version. // #define OEM_SIGNATURE 'CNRS' // Canon/Qnix resource DLL #define DLLTEXT(s) "CNRS: " s #define OEM_VERSION 0x00010000L //////////////////////////////////////////////////////// // OEM UD Type Defines //////////////////////////////////////////////////////// typedef struct tag_OEM_EXTRADATA { OEM_DMEXTRAHEADER dmExtraHdr; // Private extention WORD wMediaType; WORD wPrintQuality; WORD wInputBin; } OEM_EXTRADATA, *POEM_EXTRADATA; //////////////////////////////////////////////////////// // OEM Command Callback ID definition //////////////////////////////////////////////////////// // Job Setup #define CMD_BEGIN_PAGE 1 // Media Type #define CMD_MEDIA_PLAIN 20 // Plain Paper #define CMD_MEDIA_COAT 21 // Coated Paper #define CMD_MEDIA_OHP 22 // Transparency #define CMD_MEDIA_BPF 23 // Back Print Film #define CMD_MEDIA_FABRIC 24 // Fabric Sheet #define CMD_MEDIA_GLOSSY 25 // Glossy Paper #define CMD_MEDIA_HIGHGLOSS 26 // High Gloss Paper #define CMD_MEDIA_HIGHRESO 27 // High Resolution Paper #define CMD_MEDIA_BJ 28 // BJ Cross #define CMD_MEDIA_JPNPST 29 // JapanesePostcard // Print Quality #define CMD_QUALITY_NORMAL 30 #define CMD_QUALITY_HIGHQUALITY 31 #define CMD_QUALITY_DRAFT 32 // Input Bin #define CMD_INPUTBIN_AUTO 40 #define CMD_INPUTBIN_MANUAL 41 //////////////////////////////////////////////////////// // OEM private extention index //////////////////////////////////////////////////////// // Media Type Index #define NUM_MEDIA 8 #define MEDIATYPE_PLAIN 0 #define MEDIATYPE_COAT 1 #define MEDIATYPE_OHP 2 #define MEDIATYPE_BPF 3 #define MEDIATYPE_FABRIC 4 #define MEDIATYPE_GLOSSY 5 #define MEDIATYPE_HIGHGLOSS 6 #define MEDIATYPE_HIGHRESO 7 #define MEDIATYPE_START CMD_MEDIA_PLAIN // PrintQuality Index #define NUM_QUALITY 3 #define PRINTQUALITY_NORMAL 0 #define PRINTQUALITY_HIGHQUALITY 1 #define PRINTQUALITY_DRAFT 2 #define PRINTQUALITY_START CMD_QUALITY_NORMAL // Input Bin Index #define NUM_INPUTBIN 2 #define INPUTBIN_AUTO 0 #define INPUTBIN_MANUAL 1 //////////////////////////////////////////////////////// // Command parameter table //////////////////////////////////////////////////////// static BYTE bPrintModeParamTable[NUM_QUALITY][NUM_MEDIA] = { // Quality Normal { 0x00, 0x10, 0x20, 0x30, 0x40, 0x50, 0x60, 0x70 }, // Quality High Quality { 0x01, 0x11, 0x21, 0x31, 0x41, 0x51, 0x61, 0x71 }, // Quality Draft { 0x02, 0x12, 0x22, 0x32, 0x42, 0x52, 0x62, 0x72 } }; static BYTE bInputBinMediaParamTable[NUM_MEDIA] = { 0x00, 0x10, 0x20, 0x20, 0x00, 0x10, 0x10, 0x00 }; #endif // _PDEV_H