Article ID: 258943
Article Last Modified on 2/12/2007
APPLIES TO
- Microsoft Windows NT Server 4.0 Standard Edition
- Microsoft Windows NT Workstation 4.0 Developer Edition
- Microsoft Windows 2000 Standard Edition
This article was previously published under Q258943
SYMPTOMS
When the Distributed Component Object Model (DCOM) client is implemented as a service, the CoCreateInstance call is made when the service is in the SERVICE_START_PENDING state. The service is configured to automatically start at boot time. When the computer is restarted, the CoCreateInstance call stops responding until the following error message occurs from the Service Control Manager:
After this error appears, the CoCreateInstance call then returns successfully.
CAUSE
When a service is in the SERVICE_START_PENDING state, the Service Control Manager is locked and does not start other services. This prevents dependent services from getting started. As a result of the CoCreateInstance call to activate a remote Component Object Model (COM) server, Rpcss.exe makes Synchronization Service Provider (SSP) calls, which in turn try to start the Microsoft Windows NT LAN Manager (NTLM) SSP (NtLmSsp) service. The CoCreateInstance call blocks until the NtLmSsp service starts. This creates a deadlock until the Service Control Manager times out as it tries to start the DCOM client service. After the Service Control Manager times out and then starts the NtLmSsp service, the CoCreateInstance call returns successfully.
RESOLUTION
You can add NtLmSsp as a dependency of the DCOM client service to resolve the problem. You can do this in the CreateService call. See the documentation for CreateService in the Platform software development kit (SDK) in the MSDN Library.
CreateService
CreateService">http://www.msdn.microsoft.com/library/?url=/library/en-us/dllproc/services_3p9h.asp">CreateService
NOTE: In Windows 2000, NTLM is the default. However, NTLM is not the only Security Support Provider Interface (SSPI). You must understand what the common security providers are and then make adjustments if appropriate.
STATUS
This behavior is by design.
REFERENCES
Visit the following MSDN Web site to learn more about Windows NT Services and to view the documentation in the Platform SDK.
Keywords: kbclient kbdcom kbprb kbservice KB258943