zoukankan      html  css  js  c++  java
  • 加载驱动的相关函数

    1:打开SCM管理器函数
    SC_HANDLE OpenSCManager(LPCTSTR lpszMachineName,//计算机名称
    LPCTSTR lpszDatabaseName,//scm数据库名称
    DWORD fdwDesiredAccess); // 使用权限
    ----Open SCManager 函数打开指定计算机上的service control manager database。其中参数lpszMac
    hineName指定计算机名,若为空则指定为本机。参数lpszDatabaseName指定要打开的service control m
    anager database,默认为空。
    ----参数fdwDesiredAccess指定操作的权限,可以为下面取值之一
    SC_MANAGER_ALL_ACCESS //所有权限
    SC_MANAGER_CONNECT //允许连接service control manager
    SC_MANAGER_CREATE_SERVICE //允许创建服务对象并把它加入service control manager database
    SC_MANAGER_ENUMERATE_SERVICE //允许枚举service control manager database中的服务
    SC_MANAGER_LOCK //允许锁住service control manager database
    SC_MANAGER_QUERY_LOCK_STATUS //允许获取servicecontrolmanagerdatabase的封锁信息
    ----函数返回值:函数执行成功则返回一个指向service control manager database的句柄,失败则返回
    NULL。

    2: 关闭服务句柄
    BOOL CloseServiceHandle(SC_HANDLE hSCObject)//要关闭的句柄

    3: 创建服务
    SC_HANDLE CreateService(
    SC_HANDLE hSCManager, //服务控制管理程序维护的登记数据库的句柄,由系统函数OpenSCManager 返回
    LPCTSTR lpServiceName, //以NULL 结尾的服务名,用于创建登记数据库中的关键字
    LPCTSTR lpDisplayName, //以NULL 结尾的服务名,用于用户界面标识服务
    DWORD dwDesiredAccess, //指定服务返回类型
    DWORD dwServiceType, //指定服务类型
    DWORD dwStartType, //指定何时启动服务
    DWORD dwErrorControl, //指定服务启动失败的严重程度
    LPCTSTR lpBinaryPathName, //指定服务程序二进制文件的路径
    LPCTSTR lpLoadOrderGroup, //指定顺序装入的服务组名
    LPDWORD lpdwTagId, //忽略,NULL
    LPCTSTR lpDependencies, //指定启动该服务前必须先启动的服务或服务组
    LPCTSTR lpServiceStartName, //以NULL 结尾的字符串,指定服务帐号。如是NULL,则表示使用LocalSystem帐号
    LPCTSTR lpPassword //以NULL 结尾的字符串,指定对应的口令。为NULL表示无口令。但使用LocalSystem时填NULL
    );

    4: 打开服务
    SC_HANDLE OpenService(SC_HANDLE schSCManager,//scm数据库的句柄
    LPCTSTR lpszServiceName,//服务名称
    DWORD fdwDesiredAccess);//访问权限
    ----OpenService函数打开指定的Service。
    ----其中参数schSCManager是指向service control manager database的句柄,由OpenSCManager函数返回。
    ----参数lpszServiceName要打开的服务的名字,注意大小写。
    ----参数fdwDesiredAccess指定操作的权限,可以为下面取值之一
    SERVICE_ALL_ACCESS //所有权限
    SERVICE_CHANGE_CONFIG //允许更改服务的配置
    SERVICE_ENUMERATE_DEPENDENTS //允许获取依赖于该服务的其他服务
    SERVICE_INTERROGATE //允许立即获取服务状态
    SERVICE_PAUSE_CONTINUE //允许暂停和唤醒服务
    SERVICE_QUERY_CONFIG //允许获取服务配置
    SERVICE_QUERY_STATU //允许通过访问service control manager获取服务状态
    SERVICE_START //允许启动服务
    SERVICE_STOP //允许停止服务
    SERVICE_USER_DEFINE_CONTROL //允许用户指定特殊的服务控制码
    ----函数返回值:函数执行成功则返回指向某项服务的句柄,失败则返回NULL。

    5: 控制服务
    BOOL ControlService(SC_HANDLE hService,
    DWORD dwControl,
    LPSERVICE_STATUS lpServiceStatus);
    ----ControlService函数向Win32service发送控制码。
    ----其中参数hService是指向某项服务的句柄,由OpenService函数返回。
    ----参数dwControl为控制码,常用的有
    SERVICE_CONTROL_STOP //停止服务
    SERVICE_CONTROL_PAUSE //暂停服务
    SERVICE_CONTROL_CONTINUE //唤醒暂停的服务
    SERVICE_CONTROL_INTERROGATE//刷新某服务的状态
    ----参数lpServiceStatus指向SERVICE_STATUS结构,用于存放该服务最新的状态信息。
    ----函数返回值:函数执行成功则返回True,失败则返回False。

  • 相关阅读:
    Win10安装.NetFamework3.5
    SAN和NAS的区别
    raid10模型比raid01模型的冗余度高
    Linux——查找占用磁盘体积最大的前10个文件
    Nginx——端口负载均衡
    oneinstack——证书更新
    SpringBoot——IDEA使用 Spring Initializer快速创建项目【四】
    Nginx——请求head被过滤
    Linux—— 记录所有登陆用户的历史操作记录
    Nginx——跨域造成的504问题
  • 原文地址:https://www.cnblogs.com/enjoy-life-everyday/p/3472687.html
Copyright © 2011-2022 走看看