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?

© 2011-2024 All Rights Reserved. Joya Systems. 4425 South Mopac Building II Suite 101 Austin, TX 78735 Tel: 800-DEV-KERNEL

Privacy Policy. Terms of use. Valid XHTML & CSS