CreateService 的 dwServiceType 参数的主要可接受值 WinAPI的函数是SERVICE_WIN32_OWN_PROCESS
和SERVICE_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/