How to use SimplePipelineFilter with my Monolithic configuration module
- We have a Monolithic Config Module with IPrintTicketProvider. And this is working fine with our Monolithic GDI-based driver.Now we want to use the same Config Module with the SimplePipelineFilter (which comes with the WDK 5384).Could you please let us know how to integrate our UI with this SimplePipelineFilter.Thanks and regards,Mridu
Answers
I have been able to fix the problem. Thought should share it. I took the INF file that comes with WDK 5384 and tailored it a bit .And the INF file now looks like:
[INSTALL_XDSMPL_FILTERS]
CopyFiles=XPSDrvSample,ConfigPlugin
DriverFile=mxdwdrv.dll
ConfigFile=myui.dll
HelpFile=my.hlp
DataFile=XDSmpl.GPD
Include=NTPRINT.INF
Needs=UNIDRV.OEM, XPSDRV.OEM
[DestinationDirs]
DefaultDestDir=66000[ConfigPlugin]
my.ini
myui.dll[XPSDrvSample]
xdsmpl.gpd
WdkPipelineFilter.dll
SimplePipelineConfig.xml
my.hlp[SourceDisksNames.x86]
1 = %Location%,,
2 = %Location%,,,\objfre_wlh_x86\i386[SourceDisksFiles]
xdsmpl.gpd = 1
SimplePipelineConfig.xml = 1
my.ini = 1
WdkPipelineFilter.dll = 1
my.hlp = 1I could not remove 1. Needs=UNIDRV.OEM 2. DataFile=XDSmpl.GPD 3. Include=NTPRINT.INF
If I remove these 3 items, the driver does not install. Do let me know how I can remove them.The Filter config file should look like:
<Filters>
<Filter dll = "WdkPipelineFilter.dll"
clsid = "{8267d291-6ddd-4972-a94e-3ce88149a1fa}"
name = "Pipeline filter">
<Input guid = "{b8cf8530-5562-47c4-ab67-b1f69ecf961e}" comment="IID_IPrintReadStream"/>
<Output guid = "{4368d8a2-4181-4a9f-b295-3d9a38bb9ba0}" comment="IID_IPrintWriteStream"/>
</Filter>
</Filters>Hope this is useful.
-Mridu
All Replies
I have been able to fix the problem. Thought should share it. I took the INF file that comes with WDK 5384 and tailored it a bit .And the INF file now looks like:
[INSTALL_XDSMPL_FILTERS]
CopyFiles=XPSDrvSample,ConfigPlugin
DriverFile=mxdwdrv.dll
ConfigFile=myui.dll
HelpFile=my.hlp
DataFile=XDSmpl.GPD
Include=NTPRINT.INF
Needs=UNIDRV.OEM, XPSDRV.OEM
[DestinationDirs]
DefaultDestDir=66000[ConfigPlugin]
my.ini
myui.dll[XPSDrvSample]
xdsmpl.gpd
WdkPipelineFilter.dll
SimplePipelineConfig.xml
my.hlp[SourceDisksNames.x86]
1 = %Location%,,
2 = %Location%,,,\objfre_wlh_x86\i386[SourceDisksFiles]
xdsmpl.gpd = 1
SimplePipelineConfig.xml = 1
my.ini = 1
WdkPipelineFilter.dll = 1
my.hlp = 1I could not remove 1. Needs=UNIDRV.OEM 2. DataFile=XDSmpl.GPD 3. Include=NTPRINT.INF
If I remove these 3 items, the driver does not install. Do let me know how I can remove them.The Filter config file should look like:
<Filters>
<Filter dll = "WdkPipelineFilter.dll"
clsid = "{8267d291-6ddd-4972-a94e-3ce88149a1fa}"
name = "Pipeline filter">
<Input guid = "{b8cf8530-5562-47c4-ab67-b1f69ecf961e}" comment="IID_IPrintReadStream"/>
<Output guid = "{4368d8a2-4181-4a9f-b295-3d9a38bb9ba0}" comment="IID_IPrintWriteStream"/>
</Filter>
</Filters>Hope this is useful.
-Mridu
Has anybody tried this since the last post ?
Because I basically see the same problem, but his fix/workaround doesn't work for me using WDK 6000.
Thanks.
yeah, it is all right...
- Proposed As Answer bynaaryan Tuesday, October 13, 2009 12:43 PM
- hi every body,i am working on XPSDrv printer driver.my query are here.1. how to hook output of one Filter before it passed to another Filter in Filter pipeline Manager service.2. what is significance of Input guid and Out guid in "xdsmpl-PipelineConfig.xml" file. detail given below
<Filter dll = "WdkPipelineFilter.dll" clsid = "{5f5460d2-b313-44ca-82e4-37f83d793999}" name = "Page Scaling filter"> <Input guid = "{b8cf8530-5562-47c4-ab67-b1f69ecf961e}" comment="IID_IPrintReadStream"/> <Output guid = "{4368d8a2-4181-4a9f-b295-3d9a38bb9ba0}" comment="IID_IPrintWriteStream"/> </Filter>please help me to fixed it.Thanks & RegardsNaaryan


