我在 Windows 7 上的 Visual Studio 2008 中有一个 C++ 项目,我尝试在其中启动一项新服务。我正在以管理员身份运行 Visual Studio。我无法启动服务(甚至没有调用 serviceMain)。
这是我的主要功能:
wchar_t str[] = {'s','e','s','m'};
int _tmain(int argc, _TCHAR* argv[])
{
SERVICE_TABLE_ENTRY dispTable[] =
{
{(wchar_t*)str, ServiceWork::ServiceMain},
{NULL, NULL}
};
int i = StartServiceCtrlDispatcher(dispTable);
int j = GetLastError();
return 0;
}
输出是:
. . .
“SessionMonitor.exe”:已加载“C:\Windows\SysWOW64\cryptbase.dll”
“SessionMonitor.exe”:已加载“C:\Windows\SysWOW64\imm32.dll”
“SessionMonitor.exe”:已加载“C:\Windows\SysWOW64\msctf.dll”
SessionMonitor.exe 中 0x7638b9bc 处的第一次机会异常:0x00000005:访问被拒绝。线程“Win32 线程”(0x129c) 已退出,代码为 0 (0x0)。程序“[2492] SessionMonitor.exe: Native”已退出,代码为 0 (0x0)。
在调试时,j 是 1063 - ERROR_FAILED_SERVICE_CONTROLLER_CONNECT
有没有人遇到过这个问题?任何解决方案?
谢谢你,里龙