hur.cn - 华软网

 热门搜索

在64位系统上面编译64位的程序,注册一个Service的时候,SERVICE_STATUS取什么值? 好像只有32位的啊。

  作者:未知    来源:网络    更新时间:2011/7/15
MSDN里面:
C++">
typedef struct _SERVICE_STATUS {  DWORD dwServiceType;  DWORD dwCurrentState;  DWORD dwControlsAccepted;  DWORD dwWin32ExitCode;  DWORD dwServiceSpecificExitCode;  DWORD dwCheckPoint;  DWORD dwWaitHint;
} SERVICE_STATUS, *LPSERVICE_STATUS;
Members
dwServiceType 
Type of service. This member can be one of the following values. Value Meaning 
SERVICE_FILE_SYSTEM_DRIVER  0x00000002 The service is a file system driver. 
SERVICE_KERNEL_DRIVER       0x00000001 The service is a device driver. 
SERVICE_WIN32_OWN_PROCESS   0x00000010 The service runs in its own process. 
SERVICE_WIN32_SHARE_PROCESS 0x00000020 The service shares a process with other services 


这个对应的有64位的版本么? 这些常量定义在WinNT.h里面,但是我在此头文件中没有找到类似SERVICE_WIN64之类的变量声明
---华软 网友回答---
 schService = CreateService(
            schSCManager,               // SCManager database
            TEXT(theApp.SZSERVICENAME),        // name of service
            TEXT(theApp.SZSERVICEDISPLAYNAME), // name to display
            SERVICE_ALL_ACCESS,         // desired access
            SERVICE_WIN32_OWN_PROCESS|SERVICE_INTERACTIVE_PROCESS,  // service type
            SERVICE_AUTO_START,         // start type
            SERVICE_ERROR_NORMAL,       // error control type
            szPath,                     // service's binary
            NULL,                       // no load ordering group
            NULL,                       // no tag identifier
            TEXT(theApp.SZDEPENDENCIES),// dependencies
            NULL,                       // LocalSystem account
            NULL);                      // no password

这个和64位没关系,你编译64位版本的时候只需要使用x64的编译环境就可以了      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。