windows-nt/Source/XPSP1/NT/printscan/print/spooler/splsetup/data.c
2020-09-26 16:20:57 +08:00

112 lines
5.6 KiB
C

/*++
Copyright (c) 1995 Microsoft Corporation
All rights reserved.
Module Name:
Data.c
Abstract:
Driver Setup data
Author:
Muhunthan Sivapragasam (MuhuntS) 28-Mar-1997
Revision History:
--*/
#include "precomp.h"
#define offsetof(type, identifier) (ULONG_PTR)(&(((type)0)->identifier))
ULONG_PTR LocalDataOffsets[]={offsetof(PPSETUP_LOCAL_DATA, DrvInfo.pszInfName),
offsetof(PPSETUP_LOCAL_DATA, DrvInfo.pszModelName),
offsetof(PPSETUP_LOCAL_DATA, DrvInfo.pszDriverSection),
offsetof(PPSETUP_LOCAL_DATA, DrvInfo.pszHardwareID),
offsetof(PPSETUP_LOCAL_DATA, DrvInfo.pszManufacturer),
offsetof(PPSETUP_LOCAL_DATA, DrvInfo.pszOEMUrl),
offsetof(PPSETUP_LOCAL_DATA, DrvInfo.pszProvider),
offsetof(PPSETUP_LOCAL_DATA, DrvInfo.pszzPreviousNames),
(ULONG_PTR)-1};
ULONG_PTR InfInfoOffsets[]={offsetof(PPARSEINF_INFO, pszInstallSection),
offsetof(PPARSEINF_INFO, pszzICMFiles),
offsetof(PPARSEINF_INFO, pszPrintProc),
offsetof(PPARSEINF_INFO, pszVendorSetup),
offsetof(PPARSEINF_INFO, pszVendorInstaller),
offsetof(PPARSEINF_INFO, DriverInfo6.pName),
offsetof(PPARSEINF_INFO, DriverInfo6.pDriverPath),
offsetof(PPARSEINF_INFO, DriverInfo6.pConfigFile),
offsetof(PPARSEINF_INFO, DriverInfo6.pDataFile),
offsetof(PPARSEINF_INFO, DriverInfo6.pHelpFile),
offsetof(PPARSEINF_INFO, DriverInfo6.pDependentFiles),
offsetof(PPARSEINF_INFO, DriverInfo6.pMonitorName),
offsetof(PPARSEINF_INFO, DriverInfo6.pDefaultDataType),
(ULONG_PTR)-1};
//
// This array has the offsets of the elements that are shared in various structures
//
ULONG_PTR SharedInfInfoOffsets[] = {
offsetof(PPARSEINF_INFO, DriverInfo6.pszzPreviousNames),
offsetof(PPARSEINF_INFO, DriverInfo6.pszMfgName),
offsetof(PPARSEINF_INFO, DriverInfo6.pszOEMUrl),
offsetof(PPARSEINF_INFO, DriverInfo6.pszHardwareID),
offsetof(PPARSEINF_INFO, DriverInfo6.pszProvider),
(ULONG_PTR)-1};
ULONG_PTR PnPInfoOffsets[]={offsetof(PPNP_INFO, pszPortName),
offsetof(PPNP_INFO, pszDeviceInstanceId),
(ULONG_PTR)-1};
#if DBG
//
// The following are to catch any inconsistency in splsetup.h
// Which can break the printui/ntprint interface
//
pfPSetupCreatePrinterDeviceInfoList _pfn1 = PSetupCreatePrinterDeviceInfoList;
pfPSetupDestroyPrinterDeviceInfoList _pfn2 = PSetupDestroyPrinterDeviceInfoList;
pfPSetupSelectDriver _pfn3 = PSetupSelectDriver;
pfPSetupCreateDrvSetupPage _pfn4 = PSetupCreateDrvSetupPage;
pfPSetupGetSelectedDriverInfo _pfn5 = PSetupGetSelectedDriverInfo;
pfPSetupDestroySelectedDriverInfo _pfn6 = PSetupDestroySelectedDriverInfo;
pfPSetupInstallPrinterDriver _pfn7 = PSetupInstallPrinterDriver;
pfPSetupIsDriverInstalled _pfn8 = PSetupIsDriverInstalled;
pfPSetupIsTheDriverFoundInInfInstalled _pfn9 = PSetupIsTheDriverFoundInInfInstalled;
pfPSetupRefreshDriverList _pfn10 = PSetupRefreshDriverList;
pfPSetupThisPlatform _pfn11 = PSetupThisPlatform;
pfPSetupGetPathToSearch _pfn12 = PSetupGetPathToSearch;
pfPSetupDriverInfoFromName _pfn13 = PSetupDriverInfoFromName;
pfPSetupPreSelectDriver _pfn14 = PSetupPreSelectDriver;
pfPSetupCreateMonitorInfo _pfn15 = PSetupCreateMonitorInfo;
pfPSetupDestroyMonitorInfo _pfn16 = PSetupDestroyMonitorInfo;
pfPSetupEnumMonitor _pfn17 = PSetupEnumMonitor;
pfPSetupInstallMonitor _pfn18 = PSetupInstallMonitor;
//
// removed because unnecessary
//
// pfPSetupIsMonitorInstalled _pfn19 = PSetupIsMonitorInstalled;
pfPSetupProcessPrinterAdded _pfn20 = PSetupProcessPrinterAdded;
pfPSetupBuildDriversFromPath _pfn21 = PSetupBuildDriversFromPath;
pfPSetupSetSelectDevTitleAndInstructions _pfn22 = PSetupSetSelectDevTitleAndInstructions;
pfPSetupInstallPrinterDriverFromTheWeb _pfn23 = PSetupInstallPrinterDriverFromTheWeb;
pfPSetupIsOemDriver _pfn24 = PSetupIsOemDriver;
pfPSetupGetLocalDataField _pfn25 = PSetupGetLocalDataField;
pfPSetupFreeDrvField _pfn26 = PSetupFreeDrvField;
pfPSetupIsCompatibleDriver _pfn27 = PSetupIsCompatibleDriver;
pfPSetupAssociateICMProfiles _pfn28 = PSetupAssociateICMProfiles;
pfPSetupInstallICMProfiles _pfn29 = PSetupInstallICMProfiles;
pfPSetupFreeMem _pfn30 = PSetupFreeMem;
pfPSetupFindMappedDriver _pfn31 = PSetupFindMappedDriver;
pfPSetupInstallInboxDriverSilently _pfn32 = PSetupInstallInboxDriverSilently;
#endif