Article ID: 323571 - View products that this article applies to.
This article was previously published under Q323571
In certain instances, a Still Image Architecture (STI) application that successfully locked a device may stop responding (hang) indefinitely when you use the UnLockDevice method to try to unlock the device.
This problem occurs because the Windows Image Acquisition (WIA) service is deadlocked at this time and cannot process any more WIA or STI requests.
To resolve this problem, obtain the latest service pack for Windows XP. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
322389The English version of this fix has the file attributes (or later) that are listed in the following table. The dates and times for these files are listed in coordinated universal time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.
(http://support.microsoft.com/kb/322389/EN-US/ )How to Obtain the Latest Windows XP Service Pack
Date Time Version Size File Name ----------------------------------------------------- 11-Jun-2002 10:29 126.96.36.199 3,584 Spmsg.dll 19-Jun-2002 15:48 5.1.2600.48 61,952 Sti.dll 11-Jun-2002 15:50 5.1.2600.48 314,368 Wiaservc.dll
Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Windows XP Service Pack 1.
This problem occurs because of a bad assumption about which thread ID the lock belongs to. The WIA service uses the thread ID of the remote procedure call (RPC) instead of the thread ID of the client. Because RPC uses a thread pool, incoming requests may be processed on different threads, which causes the thread ID mismatch.