Share via


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)

另請參閱

ChangeServiceConfig2

QueryServiceConfig2