Print Server Data Filter DLL causes Access Violation in SNAPRINT (197437)



The information in this article applies to:

  • Microsoft SNA Server 3.0
  • Microsoft SNA Server 3.0 SP1
  • Microsoft SNA Server 3.0 SP2
  • Microsoft SNA Server 3.0 SP3
  • Microsoft SNA Server 4.0
  • Microsoft SNA Server 4.0 SP1

This article was previously published under Q197437

SYMPTOMS

Snaprint.exe generates an Access Violation when attempting to read (void*)NULL pointer (0x00000000) from the PrtFilterJobStart function in the Print Server Data Filter DLL.

MORE INFORMATION

The PrtFilterJobStart function returns a unique identifier (cast to a pointer to a void) if it wants the opportunity to filter the data for this print job. If the user DLL returns a NULL pointer, it is indicating that it is not interested in filtering this job. No further calls to the user DLL will be made for this print job.

If a FilterDLL is present, it can return a value to say "I don't want to filter this job's data." In the SNA Server SDK Documentation, this value is listed as NULL = 0. In the code, however, the code consistently checks against INVALID_HANDLE_VALUE = -1. The code is fixed so that now a returned value of NULL is updated to INVALID_HANDLE_VALUE.

RESOLUTION

SNA Server 3.0

To resolve this problem, obtain the latest service pack for SNA Server version 3.0. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

184307 How to Obtain the Latest SNA Server Version 3.0 Service Pack



SNA Server 4.0



This problem was corrected in the latest SNA Server version 4.0 U.S. Service Pack. For information on obtaining this Service Pack, query on the following word in the Microsoft Knowledge Base (without the spaces):

S E R V P A C K


STATUS

Microsoft has confirmed this to be a problem in Microsoft SNA Server versions 3.0 and SNA Server version 4.0. This problem was first corrected in SNAServer 3.0 Service Pack 4.

Modification Type:MajorLast Reviewed:6/28/2004
Keywords:kbbug kbfix KB197437