Description:
The BiPlulg-in DLL sample demonstrate how the BiPlug-in interact with the printer driver.
The printer driver calls pre-defined functions from the Plug-in at each phase of printing. Developers have full access to the DLL and can insert their own custom code to each DLL function to perform a variety of tasks as required by their application.
Limitations:
The Standard DEVMODE data structure cannot be changed in the Plug-in DLL such as page resolution, orientation, and page size. Any change to the Standard DEVMODE data structure may cause printer crash.
The BiStartDoc function receives a different instance of the extended DEVMODE structure than BiStartPage and the other functions. You might need to reapply your changes to the DEVMODE structure in the BiStartPage function.
Compiling and Trying the Sample
The Plug-in (BiPlugin.dll) and BlackIceDEVMODE.dll component should be installed with the printer driver. The Plug-in (BiPlugin.dll) and BlackIceDEVMODE.dll component must be in the C:\windows\system32\ folder.
If there is an already installed Black Ice Printer Driver on the system, one can try the BiPlugin C++ sample by copying the (BiPlugin.dll) and BlackIceDEVMODE.dll component into the C:\windows\system32\ folder and print to the Black Ice Printer Driver.
During the printing the custom BiPlugin displays a window, where the user can enter a custom data:
The Printer Driver pass the entered custom data back to the BiPlugin.dll with each function call. The BiPlugin.dll displays a message box with the entered custom data for each function call.
System support:
Windows 11/10/8/7 and Windows 2022/2019/2016/2012 or Citrix Servers
The Plug-in sample application supports both 32 bit and 64 bit printer drivers.
Sample Source Code Folder Location:
<RTK Installation Folder>\<RTK 32/64 bit>\Samples\Sample Source Codes\C++\Plugin C++ Sample
Solution files |
Compilers |
Plugin C++ Sample_VS2015.sln |
Visual Studio 2015 |
Plugin C++ Sample _VS2017.sln |
Visual Studio 2017 |
Plugin C++ Sample _VS2019.sln |
Visual Studio 2019 |
Plugin C++ Sample _VS2022.sln |
Visual Studio 2022 |