Windows Vista Tips

Windows Vista Tips > Newsgroups > Windows Vista Drivers > Caching for Vista Client-Side Print Spooler

Reply
Thread Tools Display Modes

Caching for Vista Client-Side Print Spooler

 
 
Dale Ziebarth
Guest
Posts: n/a

 
      05-05-2010
During development of a printer driver what appears to be a bug with Vista
spooler (client-side) caching of printer Bidirectional data was discovered.

I have a sample application which demonstrates the problem. Sharing a
printer from Vista to XP works fine, but sharing a printer from XP to Vista
experiences the problem.

The problem is that calling DeletePrinterData then GetPrinterData on the
client side results in a error code 2 (file not found). What should occur
however is that the client side spooler should RpcGetPrinterData to the
server side spooler and the server side perform the GetPrinterDataFromPort
call to the server side Language Monitor. It appears that the ChangeId (see
the MS-RPRN spec) has not been invalidated on the client side when the
registry key deletion occurs such that the next time GetPrinterData is called
the client side thinks that nothing changed on the server side and thus it
does not need to call the RpcGetPrinterData to get the data from the server
side.

I do not know if the same issue exists in Windows 7 or 2008 Server or not.
 
Reply With Quote
 
 
 
 
Dale Ziebarth
Guest
Posts: n/a

 
      05-05-2010
The question that I intended to ask was how I could invalidate the
bidirection data cache on the client side such that it thinks the ChangeId on
the server side does not match what the client thinks it is?

Thanks!

"Dale Ziebarth" wrote:

> During development of a printer driver what appears to be a bug with Vista
> spooler (client-side) caching of printer Bidirectional data was discovered.
>
> I have a sample application which demonstrates the problem. Sharing a
> printer from Vista to XP works fine, but sharing a printer from XP to Vista
> experiences the problem.
>
> The problem is that calling DeletePrinterData then GetPrinterData on the
> client side results in a error code 2 (file not found). What should occur
> however is that the client side spooler should RpcGetPrinterData to the
> server side spooler and the server side perform the GetPrinterDataFromPort
> call to the server side Language Monitor. It appears that the ChangeId (see
> the MS-RPRN spec) has not been invalidated on the client side when the
> registry key deletion occurs such that the next time GetPrinterData is called
> the client side thinks that nothing changed on the server side and thus it
> does not need to call the RpcGetPrinterData to get the data from the server
> side.
>
> I do not know if the same issue exists in Windows 7 or 2008 Server or not.

 
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
No network drive mapping after joining Active Directory ? Patrick Active Directory 29 05-05-2010 12:21 PM
Re: WinXP won't clear the DNS cache (can it be cleared manually)? Kat Rabun DNS Server 11 03-31-2010 05:24 AM
Print Spooler is AWOL McSmiley Windows Vista Printing / Faxing / Scanning 2 01-08-2010 03:40 PM
Shared Printer Error Dale Sampson Server Networking 2 12-16-2009 07:42 PM
RE: domain users can't print to shared printer but admin can Michael Kim Active Directory 0 12-16-2009 07:37 PM



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59