c++ - 64位架构下的CreateService

标签 c++ winapi service 64-bit 32bit-64bit

CreateServicedwServiceType 参数的主要可接受值 WinAPI的函数是SERVICE_WIN32_OWN_PROCESSSERVICE_WIN32_SHARE_PROCESS。 至于“WIN32”的出现,这些值也适合64位软件吗?

一般来说,32 位和 64 位体系结构(例如,在 C++ 中)创建服务的例程是否不同?

最佳答案

短语“WIN32”适用于api层的名称,它与进程的位数没有任何关系。 Win32 是 Windows 3.x 中使用的 16 位 api 的后继者,Windows 3.x 是 NT 支持的三个子系统之一(Posix 和 OS/2 是被遗忘的子系统)。

显然,在 winapi 移植到 64 位后,这是一个困惑的根源,SO 上的 [win32] 标签现在重定向到 [winapi]。

不,创建 64 位服务并没有什么不同。只需在您的项目中添加“x64”平台目标并重新编译即可。只要您编写干净的代码,就可以工作,而无需进行任何更改。 YMMV。

关于c++ - 64位架构下的CreateService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20731075/

相关文章:

c++ - 假 ||在 MinGW 编译器 v 6.3.0-1 中给出 0

c++ - PACKET_TX_RING 只发送第一个数据包,然后不再做任何事情

c++ - 三和算法的时间复杂度是多少

c# - 确定 Windows 10 触摸键盘是可见还是隐藏

C++ 对齐字符以与实现的任何输入一起整齐地显示

c++ - 确定文件 HANDLE 是否为管道句柄

c++ - 为什么在 Windows 7 中调用 Beep 功能后听不到任何声音?

java - 是否可以从用户模式 ​​java 应用程序查询特权 Windows 服务?

java - 如何通过json将包含图像的对象发送到服务器

c# - 如何从引用的 nuget 包加载 azure 事件函数