SERVICE_DELAYED_AUTO_START_INFO 結構 (winsvc.h)
包含自動啟動服務的延遲自動啟動設定。
語法
typedef struct _SERVICE_DELAYED_AUTO_START_INFO {
BOOL fDelayedAutostart;
} SERVICE_DELAYED_AUTO_START_INFO, *LPSERVICE_DELAYED_AUTO_START_INFO;
成員
fDelayedAutostart
如果此成員為 TRUE,服務會在啟動其他自動啟動服務之後啟動,加上短暫的延遲。 否則,服務會在系統開機期間啟動。
除非服務是自動啟動服務,否則會忽略此設定。
備註
任何服務都可以標示為延遲的自動啟動服務;不過,除非服務是自動啟動服務,否則此設定沒有任何作用。 下次啟動系統時,變更會生效。
服務控制管理員 (SCM) 支援延遲的自動啟動服務,以改善開機時間的系統效能,而不會影響使用者體驗。 SCM 會在開機期間建立延遲的自動啟動服務清單,並在延遲通過之後一次啟動一個服務,並接受相依性。 服務啟動時沒有特定時間保證。 若要將對使用者的影響降到最低,服務的 ServiceMain 執行緒會以 THREAD_PRIORITY_LOWEST 啟動。 ServiceMain執行緒啟動的執行緒也應該以低優先順序執行。 當服務回報其已進入SERVICE_RUNNING狀態之後, ServiceMain 執行緒的優先順序會引發為THREAD_PRIORITY_NORMAL。
延遲的自動啟動服務不能是負載排序群組的成員。 它可以相依于另一個自動啟動服務。 自動啟動服務可以相依于延遲的自動啟動服務,但這通常不理想,因為 SCM 必須在開機時啟動相依延遲的自動啟動服務。
如果在開機後立即使用 StartService 函式來啟動延遲的自動啟動服務,系統會視需要啟動服務,而不是進一步延遲啟動服務。 如果這種情況可能會定期發生,則服務不應標示為延遲的自動啟動服務。
如果用戶端在載入之前呼叫延遲的自動啟動服務,呼叫就會失敗。 因此,用戶端應該準備好重試呼叫或要求啟動服務。
規格需求
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
標頭 | winsvc.h (包括 Windows.h) |