Sample Code
Windows Driver Samples/ Print Driver INF Sample/ C++/ PackageAware/ PackageAware.inf/
; This inf file provides the general structure for using the ; new printer INF keywords needed in order to support Package ; Point-and-Print on Vista and above. ; ; This example not only uses the inbox Core Printer Drivers, ; but also defines its own Core Printer Driver for the file ; OEMCORE.DLL. This is typically a file which is shared by a ; large number of different drivers. ; ; Note: This INF can only be used to install printer drivers ; on a machine running Vista or later (since the new printer ; INF keywords is only supported on Vista and later). For a ; sample on how to include drivers for multiple versions of ; Windows, please refer to the MultiOS INF sample. ; ; Copyright 2005 Microsoft Corporation [Version] Signature="$Windows NT$" ClassGUID={4D36E979-E325-11CE-BFC1-08002BE10318} Class=Printer Provider="OEM Company" CatalogFile=PackageAware.cat ; Single Catalog file for all OS versions DriverVer=10/10/2005, 1.2.3.4 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Manufacturer and Models Sections ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;Use decorations and platform extensions to differentiate between different platforms [Manufacturer] "OEM Company" = Company, NTx86.6.0, NTamd64.6.0, NTia64.6.0 ;Models section for installation of x86 driver on Windows Vista and above [Company.NTx86.6.0] "My Device Description" = DriverInstall_Vista, OEM_Company_NameABC_640A, ABC_UniDrv5_Printer "{BD1D2EBA-CE77-4d4f-89D8-A5BF1CE00EB3}" = {BD1D2EBA-CE77-4d4f-89D8-A5BF1CE00EB3}, {BD1D2EBA-CE77-4d4f-89D8-A5BF1CE00EB3} ;Models section for installation of x64 driver on Windows Vista and above [Company.NTamd64.6.0] "My Device Description" = DriverInstall_Vista, OEM_Company_NameABC_640A, ABC_UniDrv5_Printer "{BD1D2EBA-CE77-4d4f-89D8-A5BF1CE00EB3}" = {BD1D2EBA-CE77-4d4f-89D8-A5BF1CE00EB3}, {BD1D2EBA-CE77-4d4f-89D8-A5BF1CE00EB3} ;Models section for installation of ia64 driver on Windows Vista and above [Company.NTia64.6.0] "My Device Description" = DriverInstall_Vista, OEM_Company_NameABC_640A, ABC_UniDrv5_Printer "{BD1D2EBA-CE77-4d4f-89D8-A5BF1CE00EB3}" = {BD1D2EBA-CE77-4d4f-89D8-A5BF1CE00EB3}, {BD1D2EBA-CE77-4d4f-89D8-A5BF1CE00EB3} ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;DDInstall Sections for Windows Vista and above ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [DriverInstall_Vista] [email protected],@OEMABC.GPD DataFile=OEMABC.GPD CoreDriverSections="{D20EA372-DD35-4950-9ED8-A6335AFE79F0},UNIDRV.OEM,UNIDRV_DATA,TTFSUB.OEM","{BD1D2EBA-CE77-4d4f-89D8-A5BF1CE00EB3},OEMCORE" ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;"Fake" DDInstall section for OEM's own Core Printer Driver. ;This section must reference all files used by the Core Printer Driver (in this case OEMCORE.DLL) ;to ensure that the driver will be correctly imported into the Driver Store. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [{BD1D2EBA-CE77-4d4f-89D8-A5BF1CE00EB3}] DriverVer=11/25/2005,2.3.4.5 CopyFiles=OEMCORE_FILES ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Core Printer Driver Section ; ;Note: in this case the Core Printer Driver Section contains only the CopyFiles keyword. ;In the general case however this section can contain any of the printer specific INF ;keywords such as DataFile, DriverFile, ConfigFile, LanguageMonitor ... ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [OEMCORE] CopyFiles=OEMCORE_FILES ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;Note: in this case it may not be necessary to define a new section for the files, ;however in the general case this section may contain many core printer driver files ;in which case defining a unique section is of more value. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [OEMCORE_FILES] OEMCORE.DLL ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;These sections are to identify the Vista drivers as "Package Aware" to allow them to ;take advantage of features such as "Package Point-and-Print" in Vista and above ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [PrinterPackageInstallation.x86] PackageAware=TRUE CoreDriverDependencies={D20EA372-DD35-4950-9ED8-A6335AFE79F0},{BD1D2EBA-CE77-4d4f-89D8-A5BF1CE00EB3} [PrinterPackageInstallation.ia64] PackageAware=TRUE CoreDriverDependencies={D20EA372-DD35-4950-9ED8-A6335AFE79F0},{BD1D2EBA-CE77-4d4f-89D8-A5BF1CE00EB3} [PrinterPackageInstallation.amd64] PackageAware=TRUE CoreDriverDependencies={D20EA372-DD35-4950-9ED8-A6335AFE79F0},{BD1D2EBA-CE77-4d4f-89D8-A5BF1CE00EB3} ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;This will ensure that the OEM's own Core Printer Driver is never displayed in the UI ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [ControlFlags] AlwaysExcludeFromSelect={BD1D2EBA-CE77-4d4f-89D8-A5BF1CE00EB3} ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Source Media Information Sections ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [DestinationDirs] DefaultDestDir=66000 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;Specify different paths for different processor architectures. ;Note that these paths are relative to the root of the physical media, ; e.g. the location where the INF is located. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [SourceDisksNames.x86] 1 = %MediaDescription%,,,"I386" [SourceDisksNames.amd64] 1 = %MediaDescription%,,,"Amd64" [SourceDisksNames.ia64] 1 = %MediaDescription%,,,"IA64" ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;Since we do not specify a path in SourceDisksFiles the path used will be relative ;to the source media as specified in the [SourceDisksNames] sections. ;Since the SourceDisksNames use a different root for each processor architecture ; we do not need to make that differentiation here. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [SourceDisksFiles] OEMRES.DLL = 1 OEMABC.GPD = 1 OEMCORE.DLL = 1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Strings Sections ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;Base strings section for use on US English language systems ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [Strings] MediaDescription = "Description for Vendor provided media" ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;French strings section to be used on French language systems ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [Strings.040c] ;Substitute French translations for English language text below, as appropriate. MediaDescription = "Description for Vendor provided media" ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;German strings section to be used on German language systems ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [Strings.0407] ;Substitute German translations for English language text below, as appropriate. MediaDescription = "Description for Vendor provided media"
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