• windows服务


    windows服务被设计用于在后台运行的应用程序以及实现没有用户交互的任务
    一个程序可能包含若干个服务,每个服务都必须列于专门的分派表中,这个表中的每一项都是SERVICE_TABLE_ENTRY结构
    typedef struct _SERVICE_TABLE_ENTRYW
    {
    LPWSTR lpServiceName;
    LPSERVICE_MAIN_FUNCTIONW lpServiceProc;
    }SERVICE_TABLE_ENTRYW, *LPSERVICE_TABLE_ENTRYW;
    分派表的最后一项必须是服务名和服务主函数域的NULL指针

    服务控制管理器(SCM:Services Control Manager)是一个管理系统所有服务的进程
    ServiceMain要尽可能早的为服务注册控制处理器,通过调用RegisterServiceCtrlHadler函数
    注册完控制处理器后,获得状态句柄hStatus,通过调用SetServiceStatus函数,用hStatus想SCM报告服务状态

    typedef struct _SERVICE_STATUS
    {
    DWORD dwServiceType;//指示服务类型,创建win32服务,赋值SERVICE_WIN32
    DWORD dwCurrentState;//指定服务的当前状态
    DWORD dwControlsAccepted;//通知SCM服务接收哪个域
    DWORD dwWin32ExitCode;//在终止服务并报告退出细节时有用
    DWORD dwServiceSpecificExitCode;//同上
    DWORD dwCheckPoint;//表示初始化某个服务进行需要30s以上
    DWORD dwWaitHint;
    } SERVICE_STATUS, *LPSERVICE_STATUS;

  • 相关阅读:
    聊聊、最新 IDEA 2019.3.3 版本 注册码 有效期 2089
    聊聊、Spring自动扫描器
    聊聊、JVM 第一篇
    聊聊、AES 和 DES
    聊聊、Spring WebApplicationInitializer
    聊聊、Java SPI
    聊聊、Spring ServletContainerInitializer
    《Redis
    《Redis
    《Redis
  • 原文地址:https://www.cnblogs.com/xiaoxiaocaicai/p/3595250.html
Copyright © 2020-2023  润新知