[This is preliminary documentation and subject to
change.]
The four samples demonstrate the use of COM OEM Printer
Customization DLLs.
The OEMPS, OEMUI, OEMUNI, CUSTHLP and SYNCSET samples do not
affect the printer output. They are only examples of how to build OEM
Customization DLLs of their respective types: PostScript rendering, User
Interface, and Unidrv rendering modules. The OEMUI sample does demonstrate
common UI tasks such as adding additional elements to the UI (that is, items
and pages). These samples also demonstrate both User Mode and Kernel Mode COM
OEM Printer Customization DLLs. The CUSTHLP sample demonstrate adding OEM help
to your customization and how to replace standard Microsoft supplied help with
customized help. The SYNCSET sample demonstrate how to synchronies driver
settings between the OEM customization page and the standard device settings
page.
The WaterMark sample demonstrates a PS OEM rendering
module used in conjunction with a UI OEM module to produce customizable
watermark page simulation by controlling PostScript injected in the printing
stream by the PS OEM rendering module. The samples demonstrate the required COM
interface, required functions with sample code, and how to use the OEM’s
private DEVMODE section to communicate between the UI and rendering modules.
NOTE: The WaterMark sample is not
designed as a kernel mode printer driver plug-in sample nor will it work as a
kernel mode printer driver plug-in as provided, without changes.
To build the samples, run build from this
directory. The DLLs will be placed in the appropriate platform directory (that
is, i386 or Alpha). To create a version with verbose debug output, add _DEBUG
to the compile defines in the sources file.
After building the samples, they may be installed by using
the Add Printer Wizard. Select the local printer, then select Have Disk,
and point to the directory containing the Oemdll.inf
file. The Windows 2000 drivers do not need to be copied to the local directory
containing Oemdll.inf. However, the Windows NT® 4.0 printer driver
files will either need to be copied to the local directory containing Oemdll.inf, or during installation, you will need to point
to the location where these files may be found. For the kernel-mode samples to
work, the kernel-mode drivers (the Windows NT 4.0 drivers) used most support
COM OEM Printer Customization DLL extensions, while the driver files in Windows
NT 4.0 Service Pack 4 and earlier do not.
NOTE: when building driver samples for use with NT4, the
WINNT_40 environment variable should be define to only use the code and header
sections compatible with NT 4.0.
Root:
Files Description
OEMdll.htm The documentation for this sample (this file)
Dirs The file the lists the subdirectories to build
OEMdll.inf The printer INF that will install the OEM and WaterMark Customization samples once built
uisamples.inf The printer INF that will install the SYNCSET and CUSTHLP Customization samples once built
winxp.inf The printer INF that will install the ThemeUI, and PSUIRep samples once built
OEMps.ini The printer ini file that specifies the OEM Customization DLLs for the OEMPS sample
OEMui.ini The printer ini file that specifies the OEM Customization DLLs for the OEMUI sample
OEMuni.ini The printer ini file that specifies the OEM Customization DLLs for the OEMUNI sample
Wmark.ini The printer ini file that specifies the OEM Customization DLLs for the WaterMark sample
Koemps.ini The printer ini file that specifies the OEM Customization DLLs for the kernel mode OEMPS sample
Koemuni.ini The printer ini file that specifies the OEM Customization DLLs for the kernel mode OEMUNI sample
custhlp.ini The printer ini file that specifies the OEM Customization DLLs for the user mode CUSTHLP sample
syncset.ini The printer ini file that specifies the OEM Customization DLLs for the user mode SYNCSET sample
ThemeUI.ini The printer ini file that specifies the OEM Customization DLLs for the user mode ThemeUI sample
PSUIRep.ini The printer ini file that specifies the OEM Customization DLLs for the user mode PSUIRep sample
OEM.gpd The generic PCL5 GPD file for the samples that use Unidrv
OEM.ppd The generic PostScript PPD file for samples that use PostScript
syncset.gpd The PCL5 GPD file for the sample SYNCSET that use Unidrv
custhlp.gpd The PCL5 GPD file for the sample CUSTHLP that use Unidrv
NT4 The directory that contains files needed for building for or in NT 4 environment.
OEMPS The directory that contains the OEMPS sample source code
OEMUI The directory that contains the OEMUI sample source code
OEMUNI The directory that contains the OEMUNI sample source code
WaterMark The directory that contains the WaterMark sample source code
CUSTHLP The directory that contains the CUSTHLP sample source code
SYNCSET The directory that contains the SYNCSET sample source code
ThemeUI The directory that contains the ThemeUI sample source code
ThemeUI The directory that contains the PS Standard UI Replacement sample source code
NT4 directory:
Files Description
Inc Directory that contains header files needed for building for or in NT 4 environment.
OEMDll.inf The INF file that will install OEM Customization samples for NT4.
OEMPS directory:
Files Description
Dirs The file the lists the subdirectories to build
Sources.inc The generic file for building the code sample
Command.cpp Source module for OEM customized Commands
Command.h The header for command.cpp
DDIHook.cpp Source module for functions that are hooked from the driver
Debug.cpp The code for debugging functions
Debug.h The header for debug.cpp
Devmode.cpp The code for the OEM Devmode functions
Devmode.h The header for devmode.cpp
DLLEntry.cpp Source module for DLL entry function
Intrface.cpp Source module that implements the OEM COM Printer Customization rendering interface
Intrface.h The header for Intrface.cpp
Kmode.h The header file that allows the source code to build a Kernel mode OEM DLL
Oem.h The header that contains common defines between the OEM UI and rendering modules
Oemps.rc The resource file for the rendering module
Resource.h The header for the rendering module’s resources
Precomp.h The header that includes the headers to precompile
Umode The directory that contains the User Mode-specific sources file
Kmode The directory that contains the Kernel Mode specific sources file
OEMPS\UMode
Files Description
Sources The generic file for building the code sample for User Mode
Makefile The generic file for building the code sample
Oemps.def The file that list the exported functions
OEMPS\KMode
Files Description
Sources The generic file for building the code sample for Kernel Mode
Makefile The generic file for building the code sample
Koemps.def The file that list the exported functions
OEMUI directory:
Files Description
Sources The generic file for building the code sample
Makefile The generic file for building the code sample
Debug.cpp The code for debugging functions
Debug.h The header for Debug.cpp
Devmode.cpp The code for the OEM Devmode functions
Devmode.h The header for Devmode.cpp
DLLEntry.cpp Source module for DLL entry function
Globals.cpp Source module that implements the global variables for the UI module
Globals.h The header for Globals.cpp
OEMUI.cpp Source module for the OEM code that customizes the Printer Properties UI
OEMui.h The header for OEMui.cpp
Intrface.cpp Source module that implements the OEM COM Printer Customization rendering interface
Intrface.h The header for Intrface.cpp
Oemui.def The file that list the exported functions
Oemui.rc The resource file for the rendering module
Resource.h The header for the rendering module’s resources.
Precomp.h The header that includes the headers to pre-compile.
OEMUNI directory:
Files Description
Dirs The file the lists the subdirectories to build
SOURCES.INC The generic file for building the code sample
Command.cpp Source module for OEM customized Commands
Command.h The header for command.cpp
DDIHook.cpp Source module for functions that are hooked from the driver
Debug.cpp The code for debugging functions
Debug.h The header for debug.cpp
Devmode.cpp The code for the OEM Devmode functions
Devmode.h The header for devmode.cpp
DLLEntry.cpp Source module for DLL entry function
Intrface.cpp Source module that implements the OEM COM Printer Customization rendering interface
Intrface.h The header for Intrface.cpp
Kmode.h The header file that allows the source code to build a Kernel mode OEM DLL
Oem.h The header that contains common defines between the OEM UI and rendering modules
oemuni.rc The resource file for the rendering module
Resource.h The header for the rendering module’s resources
Precomp.h The header that includes the headers to precompile
Umode The directory that contains the User Mode specific sources file
Kmode The directory that contains the Kernel Mode-specific sources file
OEMUNI\UMode
Files Description
Sources The generic file for building the code sample for User Mode
Makefile The generic file for building the code sample
Oemuni.def The file that list the exported functions
OEMUNI\KMode
Files Description
Sources The generic file for building the code sample for Kernel Mode
Makefile The generic file for building the code sample
Koemuni.def The file that list the exported functions
SYNCSET directory:
Files Description
Dirs The file the lists the subdirectories to build
SOURCES The generic file for building the code sample
Makefile The generic file for building the code sample
Debug.cpp The code for debugging functions
Debug.h The header for debug.cpp
Devmode.cpp The code for the OEM Devmode functions
Devmode.h The header for devmode.cpp
DLLEntry.cpp Source module for DLL entry function
Globals.cpp Source module that implements the global variables for the UI module
Globals.h The header for Globals.cpp
OEMUI.cpp Source module for the OEM code that customizes the Printer Properties UI
OEMui.h The header for OEMui.cpp
Intrface.cpp Source module that implements the OEM COM Printer Customization rendering interface
Intrface.h The header for Intrface.cpp
Oem.h The header that contains common defines between the OEM UI and rendering modules
Resource.h The header for the rendering module’s resources
Precomp.h The header that includes the headers to precompile
syncset.def The file that list the exported functions
Oemui.rc The resource file for the rendering module
CUSTHLP directory:
Files Description
Dirs The file the lists the subdirectories to build
SOURCES The generic file for building the code sample
Makefile The generic file for building the code sample
Debug.cpp The code for debugging functions
Debug.h The header for debug.cpp
Devmode.cpp The code for the OEM Devmode functions
Devmode.h The header for devmode.cpp
DLLEntry.cpp Source module for DLL entry function
Globals.cpp Source module that implements the global variables for the UI module
Globals.h The header for Globals.cpp
OEMUI.cpp Source module for the OEM code that customizes the Printer Properties UI
OEMui.h The header for OEMui.cpp
Intrface.cpp Source module that implements the OEM COM Printer Customization rendering interface
Intrface.h The header for Intrface.cpp
Oem.h The header that contains common defines between the OEM UI and rendering modules
Resource.h The header for the rendering module’s resources
Precomp.h The header that includes the headers to precompile
custhlp.def The file that list the exported functions
Oemui.rc The resource file for the rendering module
WaterMark directory:
Files Description
Dirs The file the lists the subdirectories to build
Common The directory that contains common components between OEMPS and OEMPSUI modules
WMARKPS The directory that contains the PS WaterMark rendering module source code
WMARKUI The directory that contains the WaterMark UI module source code
WaterMark\common directory:
Files Description
Debug.cpp The code for debugging functions
Debug.h The header for debug.cpp
Devmode.cpp The code for the OEM Devmode functions
Devmode.h The header for devmode.cpp
Kmode.h The header file that allows the source code to build a Kernel mode OEM DLL
Oem.h The header that contains common defines between the OEM UI and rendering modules
WaterMark\WMARKPS directory:
Files Description
Sources.inc The generic file for building the code sample
Command.cpp Source module for OEM customized Commands
Command.h The header for command.cpp
DLLEntry.cpp Source module for DLL entry function
Fdebug.cpp Source module that includes debug.cpp from the common directory
Fdevmode.cpp Source module that includes devmode.cpp from the common directory
Intrface.cpp Source module that implements the OEM COM Printer Customization rendering interface
Intrface.h The header for Intrface.cpp
Wmarkps.rc The resource file for the rendering module
Resource.h The header for the rendering module’s resources
Precomp.h The header that includes the headers to pre-compile
Drawmark.ps The PostScript to inject at the start of each page to draw the water mark
Wmark.ps The PostScript to inject at the header of the document that defines how to draw the water mark
Umode The directory that contains the user-mode-specific sources file
Kmode The directory that contains the kernel-mode-specific sources file
Watermark\WMARKPS\UMode
Files Description
Sources The generic file for building the code sample for User Mode
Makefile The generic file for building the code sample
Wmarkps.def The file that list the exported functions
WaterMark\WMARKUI directory:
Files Description
Sources The generic file for building the code sample
Makefile The generic file for building the code sample
DLLEntry.cpp Source module for DLL entry function
Fdebug.cpp Source module that includes debug.cpp from the common directory
Fdevmode.cpp Source module that includes devmode.cpp from the common directory
Globals.cpp Source module that implements the global variables for the UI module
Globals.h The header for Globals.cpp
Wmarkui.cpp Source module for the OEM code that customizes the Printer Properties UI
Wmarkui.h The header for Wmarkui.cpp
Intrface.cpp Source module that implements the OEM COM Printer Customization rendering interface
Intrface.h The header for Intrface.cpp
Wmarkui.def The file that list the exported functions
Wmarkui.rc The resource file for the rendering module
Resource.h The header for the rendering module’s resources
Precomp.h The header that includes the headers to pre-compile
ThemeUI directory:
Files Description
Sources The generic file for building the code sample
Makefile The generic file for building the code sample
Debug.cpp The code for debugging functions
Debug.h The header for Debug.cpp
Devmode.cpp The code for the OEM Devmode functions
Devmode.h The header for Devmode.cpp
DLLEntry.cpp Source module for DLL entry function
FusUtils.cpp Source file for Side-by-side component sharing helper functions.
FusUtils.h The header for FusUtils.cpp
Globals.cpp Source module that implements the global variables for the UI module
Globals.h The header for Globals.cpp
OEMUI.cpp Source module for the OEM code that customizes the Printer Properties UI
OEMui.h The header for OEMui.cpp
Intrface.cpp Source module that implements the OEM COM Printer Customization rendering interface
Intrface.h The header for Intrface.cpp
Oemui.rc The resource file for the rendering module
Resource.h The header for the rendering module’s resources.
Precomp.h The header that includes the headers to pre-compile.
ThemeUI.def The file that defines the exports for the DLL.
ThemeUI.Manifest Resource file that contains the manifest which describes to used ComCtrl v6.
PSUIRep directory:
Files Description
Sources The generic file for building the code sample
Makefile The generic file for building the code sample
Debug.cpp The code for debugging functions
Debug.h The header for Debug.cpp
Devmode.cpp The code for the OEM Devmode functions
Devmode.h The header for Devmode.cpp
DLLEntry.cpp Source module for DLL entry function
Features.cpp Source file for wrapper classes for driver and ppd features and options.
Features.h Header file for wrapper classes for driver and ppd features and options.
Globals.cpp Source module that implements the global variables for the UI module
Globals.h The header for Globals.cpp
Helper.cpp Source file for wrapper class for calling core driver UI callback.
Helper.h Header file for wrapper class for calling core driver UI callback.
OEMUI.cpp Source module for the OEM code that customizes the Printer Properties UI
OEMui.h The header for OEMui.cpp
Intrface.cpp Source module that implements the OEM COM Printer Customization rendering interface
Intrface.h The header for Intrface.cpp
Oemui.rc The resource file for the rendering module
Precomp.h The header that includes the headers to pre-compile.
PSUIRep.def The file that defines the exports for the DLL.
Resource.h The header for the rendering module’s resources.
StringUtils.cpp The source file for string utilities.
StringUtils.h The header file for string utilites.
|
©
1999 - 2001 Microsoft Corporation