OEMDLL

[This is preliminary documentation and subject to change.]

SUMMARY

The OEMPS, OEMUI, OEMUNI, CUSTHLP, ThemeUI, PSUIRep, 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 demonstrate the User 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.  ThemeUI sample demonstrates how to use theming (i.e. comctl v6) for print driver UI. PSUIRep sample demonstrates how to completely replace the standard printer driver UI for PostScript driver plug-ins.

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.

 

BUILDING THE SAMPLE

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.

 

CODE TOUR

File Manifest

 
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
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
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
PSUIRep       The directory that contains the PS Standard UI Replacement sample source code
 
 
OEMPS directory:
 
Files         Description
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
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
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
 
 
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
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
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
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
 
 
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
Oem.h         The header that contains common defines between the OEM UI and rendering modules
 
 
WaterMark\WMARKPS directory:
 
Files         Description
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
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.

 

Top of page

 

 

 
 

© 1999 - 2003 Microsoft Corporation