R
Roger Levy
At startup my service must determine the IP addresses that have been assigned
via DHCP to two gigabit ethernet interfaces and then it starts broadcasting on
these interfaces. The service works correctly in XP Pro/SP2. Correct operation
depends on IP addresses being available. However with XPe/SP2 the service fails
to startup correctly because the DHCP client service does not complete prior to
my service's need of IP addresses. In fact I have determined that the DHCP
client protocol never starts until my service finishes its initialization, i.e.
reports SERVICE_RUNNING status to the SCM. This occurs even when I delay
reporting SERVICE RUNNING for one minute or more. In other words the DHCP
client service always executes in serial and after my service. Since I have not
placed my service in a load ordering group I believe my service should always
load after all standard services so I am at a loss to explain this behavior.
The major difference between the two XP environments is that the XPe system is a
minlogon, command shell environment. Should this have any impact on service
start order? I have seen the following sequence of events when the XPe system
boots:
1. Initial Windows splash screen and progress bar.
2. Blue startup screen until my service sends SERVICE_RUNNING. If I put
multiple minute delays into my service then the blue screen remains for multiple
minutes.
3. Command prompt.
4. DHCP protocol executes about 3 seconds after command prompt appears.
What could be responsible for the DHCP client service waiting for my service to
complete initialization?
Roger
via DHCP to two gigabit ethernet interfaces and then it starts broadcasting on
these interfaces. The service works correctly in XP Pro/SP2. Correct operation
depends on IP addresses being available. However with XPe/SP2 the service fails
to startup correctly because the DHCP client service does not complete prior to
my service's need of IP addresses. In fact I have determined that the DHCP
client protocol never starts until my service finishes its initialization, i.e.
reports SERVICE_RUNNING status to the SCM. This occurs even when I delay
reporting SERVICE RUNNING for one minute or more. In other words the DHCP
client service always executes in serial and after my service. Since I have not
placed my service in a load ordering group I believe my service should always
load after all standard services so I am at a loss to explain this behavior.
The major difference between the two XP environments is that the XPe system is a
minlogon, command shell environment. Should this have any impact on service
start order? I have seen the following sequence of events when the XPe system
boots:
1. Initial Windows splash screen and progress bar.
2. Blue startup screen until my service sends SERVICE_RUNNING. If I put
multiple minute delays into my service then the blue screen remains for multiple
minutes.
3. Command prompt.
4. DHCP protocol executes about 3 seconds after command prompt appears.
What could be responsible for the DHCP client service waiting for my service to
complete initialization?
Roger