QUERY_SERVICE_CONFIG

ADO数据库编程入门 liandong(原作) ADO数据库编程入门 李安东编写2002年2月28日摘要  本文简要介绍了在VC++ 6.0中使用 ADO进行客户端数据库编程的基本步骤,以及常见问题的解决方法,可供入门级的参考之用。关键字  ADO  VC++   数据库编程ADO 是目前在Windows环境中比较流行的客户端数据库编程技术。ADO是建立在OLE DB底层技术之上的高级编程接口,因而它兼具有强大的数据处理功能 阅读详情

QUERY_SERVICE_CONFIG

The QUERY_SERVICE_CONFIG structure is used by the QueryServiceConfig function to return configuration information about an installed service.

typedef struct _QUERY_SERVICE_CONFIG {
DWORD dwServiceType;
DWORD dwStartType;
DWORD dwErrorControl;
LPTSTR lpBinaryPathName;
LPTSTR lpLoadOrderGroup;
DWORD dwTagId;
LPTSTR lpDependencies;
LPTSTR lpServiceStartName;
LPTSTR lpDisplayName; } QUERY_SERVICE_CONFIG,
*LPQUERY_SERVICE_CONFIG;
Members
dwServiceType
Type of service. This member can be one of the following values.
ValueMeaning
SERVICE_FILE_SYSTEM_DRIVER
0x00000002
File system driver service.
SERVICE_KERNEL_DRIVER
0x00000001
Driver service.
SERVICE_WIN32_OWN_PROCESS
0x00000010
Service that runs in its own process.
SERVICE_WIN32_SHARE_PROCESS
0x00000020
Service that shares a process with other services.

If the value is SERVICE_WIN32_OWN_PROCESS or SERVICE_WIN32_SHARE_PROCESS, and the service is running in the context of the LocalSystem account, the following type may also be specified.

ValueMeaning
SERVICE_INTERACTIVE_PROCESS
0x00000100
The service can interact with the desktop.

For more information, see Interactive Services.

dwStartType
When to start the service. This member can be one of the following values.
ValueMeaning
SERVICE_AUTO_START
0x00000002
A service started automatically by the service control manager during system startup.
SERVICE_BOOT_START
0x00000000
A device driver started by the system loader. This value is valid only for driver services.
SERVICE_DEMAND_START
0x00000003
A service started by the service control manager when a process calls the StartService function.
SERVICE_DISABLED
0x00000004
A service that cannot be started. Attempts to start the service result in the error code ERROR_SERVICE_DISABLED.
SERVICE_SYSTEM_START
0x00000001
A device driver started by the IoInitSystem function. This value is valid only for driver services.
dwErrorControl
Severity of the error, and action taken, if this service fails to start. This member can be one of the following values.
ValueMeaning
SERVICE_ERROR_IGNORE
0x00000000
The startup (boot) program logs the error but continues the startup operation.
SERVICE_ERROR_NORMAL
0x00000001
The startup program logs the error and displays a message box pop-up but continues the startup operation.
SERVICE_ERROR_SEVERE
0x00000002
The startup program logs the error. If the last-known good configuration is being started, the startup operation continues. Otherwise, the system is restarted with the last-known-good configuration.
SERVICE_ERROR_CRITICAL
0x00000003
The startup program logs the error, if possible. If the last-known good configuration is being started, the startup operation fails. Otherwise, the system is restarted with the last-known good configuration.
lpBinaryPathName
Pointer to a null-terminated string that contains the fully qualified path to the service binary file.

The path can also include arguments for an auto-start service. These arguments are passed to the service entry point (typically the main function).

lpLoadOrderGroup
Pointer to a null-terminated string that names the load ordering group to which this service belongs. If the member is NULL or an empty string, the service does not belong to a load ordering group.

The startup program uses load ordering groups to load groups of services in a specified order with respect to the other groups. The list of load ordering groups is contained in the following registry value:

HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control/ServiceGroupOrder

dwTagId
Unique tag value for this service in the group specified by the lpLoadOrderGroup parameter. A value of zero indicates that the service has not been assigned a tag. You can use a tag for ordering service startup within a load order group by specifying a tag order vector in the registry located at:

HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control/GroupOrderList

Tags are only evaluated for SERVICE_KERNEL_DRIVER and SERVICE_FILE_SYSTEM_DRIVER type services that have SERVICE_BOOT_START or SERVICE_SYSTEM_START start types.

lpDependencies
Pointer to an array of null-separated names of services or load ordering groups that must start before this service. The array is doubly null-terminated. If the pointer is NULL or if it points to an empty string, the service has no dependencies. If a group name is specified, it must be prefixed by the SC_GROUP_IDENTIFIER (defined in Winsvc.h) character to differentiate it from a service name, because services and service groups share the same name space. Dependency on a service means that this service can only run if the service it depends on is running. Dependency on a group means that this service can run if at least one member of the group is running after an attempt to start all members of the group.
lpServiceStartName
Pointer to a null-terminated string. If the service type is SERVICE_WIN32_OWN_PROCESS or SERVICE_WIN32_SHARE_PROCESS, this is the name of the account that the service process will be logged on as when it runs. This name can be of the form DomainName/Username". If the account belongs to the built-in domain, the name can be of the form "./Username". The name can also be "LocalSystem" if the process is running under the LocalSystem account.

If the service type is SERVICE_KERNEL_DRIVER or SERVICE_FILE_SYSTEM_DRIVER, this name is the driver object name (that is, /FileSystem/Rdr or /Driver/Xns) which the input and output (I/O) system uses to load the device driver. If this member is NULL, the driver is to be run with a default object name created by the I/O system, based on the service name.

lpDisplayName
Pointer to a null-terminated string that specifies the display name to be used by service control programs to identify the service. This string has a maximum length of 256 characters. The name is case-preserved in the service control manager. Display name comparisons are always case-insensitive.
Remarks

The configuration information for a service is initially specified when the service is created by a call to the CreateService function. The information can be modified by calling the ChangeServiceConfig function.

Requirements
ClientRequires Windows XP, Windows 2000 Professional, or Windows NT Workstation.
ServerRequires Windows Server 2003, Windows 2000 Server, or Windows NT Server.
Header

Declared in Winsvc.h; include Windows.h.

Unicode

Implemented as QUERY_SERVICE_CONFIGW (Unicode) and QUERY_SERVICE_CONFIGA (ANSI).

Visual C++ ADO数据库编程入门  ADO 是目前在Windows环境中比较流行的客户端数据库编程技术。ADO是建立在OLE DB底层技术之上的高级编程接口,因而它兼具有强大的数据处理功能(处理各种不同类型的数据源、分布式的数据处理等等)和极其简单、易用的编程接口,因而得到了广泛的应用。而且按微软公司的意图,OLE DB和ADO将逐步取代 ODBC和DAO。现在介绍ADO各种应用的文章和书籍有很多,本文着重站在初学者的角度 阅读详情

相关推荐

VC++宾馆管理系统开发实战:MFC架构、ADO数据库与业务逻辑实现

桌面应用开发是理解软件工程原理的重要实践领域,其核心在于将业务逻辑通过编程语言和框架转化为可运行的软件系统。在Windows平台,Visual C++(VC++)配合MFC(Microsoft Foundation Classes)框架曾是最经典的桌面开发范式之一,它深度融合了C++的底层控制能力与Windows GUI的快速构建特性。这种技术组合的价值在于能够高效实现单机版客户端/服务器(C/S)架构应用,尤其适合需要复杂表单交互、实时数据展示和强事务一致性的业务场景,如酒店管理、库存系统等。通过MFC的

weixin_28829339的博客 225

关于VisualSVN server安装的一些细节问题

     作为菜鸟,最近在安装VisualSVN Server3.8.0时出现了一个小问题,cannot query service config ,(无法查询相关的服务配置)搞了一下,只需要把 location:安装路径选好,repositories仓库位置选好即可(先建立仓库然后在选着到建立的仓库)server port 不能是已经被占用了的!...

Joker_robot的博客 1229

VC++ 6.0与Access数据库图书管理系统实战开发指南

数据库编程是软件开发的核心基础,它涉及数据的存储、组织、访问和管理。其基本原理是通过结构化查询语言(SQL)对数据库进行增删改查(CRUD)操作,实现数据的持久化。在桌面应用开发中,数据库技术是实现业务逻辑和数据管理的基石,其价值在于将用户界面操作与后端数据存储无缝衔接,构建出功能完整的应用程序。典型的应用场景包括各类信息管理系统,如图书管理、库存管理等。本文以经典的图书管理系统为例,深入剖析如何使用VC++ 6.0的MFC框架与Access数据库进行实战开发。文章将详细拆解从环境搭建、数据库设计、ADO连

weixin_30527323的博客 392

SC添加修改Windows服务- -

如果要删除一个系统服务,可以使用 SC delete       [服务名称],比如删除messager服务,输入SC DELETE MESSAGER。      SC使用这样的语法:       1. SC [Servername] command Servicename [Optionname= Optionvalue]       2. SC [command]       这里使用第一种语

畅想程序 5486

VC++深入详解第三卷PDF获取与高效学习指南

在软件开发领域,PDF电子书作为一种经典的知识载体,因其便携性和离线可查性,成为开发者构建个人离线知识库的重要资源。其核心价值在于将系统化的知识体系进行结构化封装,便于进行问题导向的精准检索与深度学习。对于涉及Windows平台底层开发、遗留系统维护或特定工业软件二次开发的技术人员而言,掌握高效获取与利用高质量技术PDF的方法,是一项关键的工程实践能力。这不仅能帮助解决诸如“Flutter打包如何集成VC++运行时库”等实际部署问题,也能为理解类似PDF.js等现代组件的底层原理提供坚实的知识背景。本文以经

weixin_30448603的博客 486

VC++ COM自动化读取Excel数据与GDI+图形化绘制实战指南

在Windows平台软件开发中,数据可视化是连接数据处理与用户交互的关键环节。其核心原理在于将抽象数据映射为直观的图形元素,以辅助决策与分析。对于追求高性能、原生集成与稳定部署的C++项目,直接利用Windows平台的原生技术栈成为优选方案。通过COM(组件对象模型)技术,程序可以高效、精准地与Microsoft Excel交互,实现复杂数据的读取与解析,这尤其适用于工业控制与数据分析等对数据保真度要求高的场景。随后,借助GDI+图形接口强大的2D渲染能力,开发者能够在桌面应用中构建出自定义、高性能的图表,

weixin_29597551的博客 260

Visual SVN Server启动失败0x8007042a错误

今天在程序VisualSVNServer界面中启动服务时,报错如下:       VisualSVNServerServer service failed to start:服务已返回特定的服务器错误代码:(0x8007042a),Please check VisualSVNServer log in Event Viewer for more details。      点击左下角事件查看器

老毕专栏 1万+

VC++实现SolidWorks二次开发:从环境搭建到插件实战

CAD软件二次开发是提升设计自动化与定制化能力的关键技术,其核心原理在于通过软件提供的API接口,以编程方式扩展原生功能。在众多开发语言中,VC++凭借其原生代码的高性能和对COM接口的底层控制力,在处理复杂几何运算、海量数据及需要与特定硬件交互的工业场景中具有独特优势。对于SolidWorks这类主流三维CAD软件,基于VC++的二次开发能够实现深度集成与高效插件开发,尤其适合已有C++技术栈的团队复用资产,降低技术切换成本。本文聚焦于VC++进行SolidWorks二次开发的完整流程,涵盖环境配置、CO

weixin_33829657的博客 369

C++ 实现对计算机服务的一系列操作

1.枚举服务信息 LPENUM_SERVICE_STATUS st;//服务状态结构体变量 st = (LPENUM_SERVICE_STATUS)LocalAlloc(LPTR, 64 * 1024); //注意分配足够的空间 DWORD ret = 0; DWORD size = 0; SC_HANDLE sc = OpenSCManager(NULL, NULL, SC_MANAG

叶阳的博客 848

VC++6.0安装配置全攻略:解决现代系统兼容性问题

C++作为经典的面向对象编程语言,其开发环境的选择直接影响项目的构建与维护。Visual C++ 6.0作为一款历史悠久的集成开发环境(IDE),虽然发布于1998年,但其在工业控制、嵌入式系统和遗留代码维护等场景中仍有不可替代的价值。其核心原理在于提供了完整的编译、链接和调试工具链,并与MFC框架深度集成,确保了特定场景下的二进制兼容性。从技术价值看,掌握VC6环境搭建是理解Windows平台软件开发演进、处理历史技术债务的重要实践。本文聚焦于解决VC6在现代Windows系统上的安装与配置难题,通过详细

weixin_30387799的博客 274

《Visual C++开发实战1200例》配套光盘资源解析与高效使用指南

在Windows桌面应用开发领域,Visual C++与MFC框架是构建图形用户界面和系统级程序的核心技术。其原理基于Windows API和消息驱动机制,通过封装提供高效的开发体验。掌握其技术价值在于能够深入操作系统底层,开发高性能、高稳定性的原生应用。在数据库连接、多线程管理、网络通信等复杂应用场景中,Visual C++展现出强大的控制力。本文聚焦于经典学习资源《Visual C++开发实战1200例》的配套光盘,针对开发者在利用此类**配套资源**时常遇到的**工程配置**与编译问题,提供从环境准备

weixin_30908941的博客 347

VC++门禁管理上位机系统开发:架构设计与关键技术实践

在工业控制与安防监控领域,上位机系统作为核心控制单元,需要处理与多种硬件设备的底层通信,对实时性、稳定性和资源控制力有极高要求。其技术原理通常涉及高效的多线程通信、数据库访问优化以及稳定的运行时环境管理。这类系统的技术价值在于能够实现对硬件资源的精细控制,确保在资源受限的工控环境下长期可靠运行。应用场景广泛覆盖门禁管理、安防监控、工业自动化等需要高可靠性的领域。本文以VC++结合MFC框架为例,深入探讨了如何构建一个高性能的门禁管理上位机系统,其中涉及的多线程通信和微软VC++运行库的部署与优化,是保障系统

weixin_29170327的博客 286

动态调试实战:从OD到x64DBG的脱壳技巧与优化

本文深入探讨了使用OllyDBG(OD)与x64DBG进行动态调试的实战脱壳技巧。文章详细介绍了从基础调试操作、断点设置艺术到以UPX为例的经典脱壳流程,包括ESP定律应用、内存转储与导入表修复。同时,针对现代系统特性如ASLR提供了解决方案,并对比了OD与x64DBG在不同场景下的优劣,为逆向工程和安全研究人员提供了从入门到进阶的实用指南。

Jerry的专栏 226

C++ ADO远程访问Oracle数据库:环境配置、核心代码与性能优化

在企业级应用开发中,数据库远程访问是构建分布式系统的核心技术之一。其原理是通过网络协议在客户端与数据库服务器之间建立安全、可靠的数据通道,实现跨网络的数据交互。这项技术的价值在于支持地理分布的业务部署、提升系统可扩展性,并确保数据在复杂网络环境下的稳定传输。在Windows平台的历史遗留系统和高性能中间件场景中,C++与Oracle数据库的组合因其卓越的性能表现和底层控制能力而备受青睐。通过ADO(ActiveX Data Objects)技术封装OLE DB接口,开发者能以统一的编程模型高效访问Oracl

weixin_31887307的博客 317

跨越时代兼容:在Windows 7/10/11 x64系统上部署VB6.0与CodeSMART的实战指南

本文详细介绍了在Windows 7/10/11 x64系统上部署VB6.0与CodeSMART的实战指南,涵盖注册表权限、UAC兼容性、数据访问组件等关键问题的解决方案,并分享了CodeSMART插件的优化配置技巧,帮助开发者高效维护遗留系统。

weixin_29284201的博客 395

Hyper-V虚拟机 安装 银河麒麟V10桌面版

如何在windows 11 Hyper-V 虚拟机中 安装 银河麒麟V10桌面版。

m0_46756112的博客 3425

VC++ ODBC数据库编程实战:从原理到高性能应用开发

数据库连接是应用程序与数据存储交互的核心技术,其底层原理基于客户端-服务器架构和标准化的数据访问接口。ODBC(开放数据库互连)作为微软Windows平台的数据访问基石,通过驱动程序管理器与特定数据库驱动分离的架构,实现了跨数据库的统一编程接口。这项技术的核心价值在于提供直接、高效且可控的底层数据访问能力,避免了ORM框架的抽象层性能损耗,特别适合对性能和稳定性要求极高的工业控制、金融交易等遗留系统。在VC++开发场景中,ODBC通过纯C语言API提供了从连接管理、SQL执行到结果集处理的完整控制,开发者可

weixin_34367257的博客 316

基于STM32的便携式心率血氧监测系统 | 保姆式教程 开源可复刻

本项目基于STM32F103C8T6核心控制器,完整实现了便携式心率血氧监测系统的全功能开发,覆盖MAX30102光电传感器驱动、PPG信号处理、心率血氧解算算法、人机交互、数据存储、报警保护、低功耗管理等核心功能,全程采用无跳步保姆式教学,从硬件选型、接线、CubeMX配置、代码开发、调试优化全流程拆解,跟着步骤一步步操作,就能顺利完成项目复刻

ZhongWeiXiang9的博客 768

Visual C++ VC程序开发宝典:Windows平台遗留系统维护与实战指南

在Windows平台软件开发领域,Visual C++(VC)作为经典的开发环境,其核心价值在于对底层系统资源的直接控制和高性能计算能力。其技术原理基于微软的C++编译器与Windows API的深度集成,通过MFC框架和Win32 API提供了构建稳定桌面应用的成熟方案。这一技术栈在工业控制、嵌入式上位机、图形处理及驱动开发等特定领域具有不可替代的工程价值,尤其适用于维护和升级遗留系统。本书聚焦于VC开发中的环境配置、项目迁移、MFC/Win32 API精要及工程化实践等核心议题,旨在帮助开发者系统掌握在

搜索 350

Windows下用Anaconda安装d2l库避坑指南(附PermissionError解决方案)

本文详细介绍了在Windows系统下使用Anaconda安装d2l库的完整指南,特别针对常见的PermissionError问题提供了多种解决方案。从环境准备到库安装,再到VSCode配置和数据路径处理,帮助读者顺利搭建深度学习环境并运行《动手学深度学习》的代码示例。

3a9bq4r8t2y的博客 226

一文吃透 SAP IDoc 状态码:从 TEDS1 到 WE02 排障,再到 ABAP 自动化监控

在 SAP 集成场景里,IDoc 往往是最常见、也最容易被低估的一条生命线:采购订单、发票、主数据、库存移动……只要系统之间要稳定地交换结构化业务数据,IDoc 就经常登场。真正让人头疼的,并不是 IDoc 本身,而是它在链路里到底走到了哪一步、卡在了哪里、该找谁背锅。这篇文章把常用的 IDoc 状态码按出站、入站拆开讲清楚,并且把每个状态对应的真实世界故障现象、排查入口、以及可以落地的 ABAP 监控代码串起来,让你看到状态码就能想到动作。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 409
上一篇: ENUM_SERVICE_STATUS_PROCESS
下一篇: QUERY_SERVICE_LOCK_STATUS
普通网友
博客等级 码龄22年 1万+粉丝 3156原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值