{
case SERVICE_CONTROL_SHUTDOWN:
case SERVICE_CONTROL_STOP:
+ if (ctrlCode == SERVICE_CONTROL_SHUTDOWN)
+ afsi_log("SERVICE_CONTROL_SHUTDOWN");
+ else
+ afsi_log("SERVICE_CONTROL_STOP");
+
ServiceStatus.dwCurrentState = SERVICE_STOP_PENDING;
ServiceStatus.dwWin32ExitCode = NO_ERROR;
ServiceStatus.dwCheckPoint = 1;
char NetbiosName[MAX_NB_NAME_LENGTH] = "";
int change = 0;
- if (SUCCEEDED(lana_GetUncServerNameEx(NetbiosName, &lanaNum, &bGateway,
- LANA_NETBIOS_NAME_FULL))) {
+ if (!powerStateSuspended &&
+ SUCCEEDED(lana_GetUncServerNameEx(NetbiosName, &lanaNum, &bGateway,
+ LANA_NETBIOS_NAME_FULL))) {
if (smb_LANadapter != lanaNum ||
isGateway != bGateway ||
strcmp(cm_NetbiosName, NetbiosName))
/* we're done with the NCB now */
FreeNCB(ncbp);
- return (lana_list.length > 0 ? 1 : 0);
+ return ((lana_list.length > 0 && smb_LANadapter != -1) ? 1 : 0);
}
void smb_StartListeners()
void smb_RestartListeners()
{
- if (!powerStateSuspended && smb_ListenerState == SMB_LISTENER_STOPPED) {
- if (smb_NetbiosInit())
- smb_StartListeners();
+ if (!powerStateSuspended) {
+ if (smb_ListenerState == SMB_LISTENER_STOPPED) {
+ if (smb_NetbiosInit())
+ smb_StartListeners();
+ }
+ if (smb_LANadapter == -1)
+ smb_LanAdapterChange();
}
}