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 を含む) |