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 は、起動中に遅延した自動開始サービスの一覧を作成し、遅延が経過した後に一度に 1 つずつ起動し、依存関係を尊重します。 サービスがいつ開始されるのかについては、特定の時間保証はありません。 ユーザーへの影響を最小限に抑えるために、 サービスの ServiceMain スレッドが THREAD_PRIORITY_LOWEST で開始されます。 ServiceMain スレッドによって開始されるスレッドも、低い優先度で実行する必要があります。 サービスがSERVICE_RUNNING状態に入ったと報告すると、 ServiceMain スレッドの優先度が THREAD_PRIORITY_NORMAL に引き上げられます。

遅延自動開始サービスは、読み込み順序付けグループのメンバーにすることはできません。 これは、別の自動開始サービスに依存できます。 自動開始サービスは遅延自動開始サービスに依存する可能性がありますが、SCM が起動時に依存する遅延自動開始サービスを開始する必要がある場合は、通常、これは望ましくありません。

起動直後に StartService 関数を使用して遅延自動開始サービスが需要開始された場合、システムは開始をさらに遅らせるのではなく、オンデマンドでサービスを開始します。 この状況が定期的に発生する可能性がある場合は、サービスを遅延自動開始サービスとしてマークしないでください。

クライアントが読み込まれる前に遅延自動開始サービスを呼び出すと、呼び出しは失敗します。 そのため、クライアントは、呼び出しを再試行するか、サービスを開始するように準備する必要があります。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
Header winsvc.h (Windows.h を含む)

関連項目

ChangeServiceConfig2

QueryServiceConfig2