Sample Code
Windows Driver Samples/ MSPLOT Plotter Driver Sample/ C++/ plotui/ upgrade.c/
/*++ Copyright (c) 1990-2003 Microsoft Corporation Module Name: upgrade.c Abstract: This module contains upgrade functions Author: 09-Feb-1996 Fri 12:37:01 created [Environment:] Windows 2000, Windows XP and Windows Server 2003 - Common Printer Driver UI DLL [Notes:] Revision History: --*/ #include "precomp.h" #pragma hdrstop #define DBG_PLOTFILENAME DbgUpgrade extern HMODULE hPlotUIModule; #define DBG_UPGRADE 0x00000001 DEFINE_DBGVAR(0); BOOL WINAPI DrvUpgradePrinter( _In_range_(1, 2) DWORD Level, _When_(Level == 1, _In_reads_bytes_opt_(sizeof(DRIVER_UPGRADE_INFO_1))) _When_(Level == 2, _In_reads_bytes_opt_(sizeof(DRIVER_UPGRADE_INFO_2))) LPBYTE pDriverUpgradeInfo ) /*++ Routine Description: Arguments: Return Value: Author: 09-Feb-1996 Fri 12:37:46 created Revision History: --*/ { PDRIVER_UPGRADE_INFO_1 pDUI1 = NULL; HANDLE hPrinter; PRINTER_DEFAULTS PrinterDef = { NULL, NULL, PRINTER_ALL_ACCESS }; BOOL Ok = FALSE; if ((Level == 1) && (pDUI1 = (PDRIVER_UPGRADE_INFO_1)pDriverUpgradeInfo) && (OpenPrinter(pDUI1->pPrinterName, &hPrinter, &PrinterDef))) { PPRINTERINFO pPI; if (pPI = MapPrinter(hPrinter, NULL, NULL, MPF_DEVICEDATA)) { Ok = AddFormsToDataBase(pPI, TRUE); UnMapPrinter(pPI); } ClosePrinter(hPrinter); } else { PLOTERR(("DrvConvertDevMode: OpenPrinter(%ws) failed.", pDUI1->pPrinterName)); SetLastError(ERROR_INVALID_DATA); } return(Ok); }
Our Services
-
What our customers say about us?
Read our customer testimonials to find out why our clients keep returning for their projects.
View Testimonials