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