我想拥有多个服务的Single Executable部分。即服务名称将不同,但可执行文件将不同。
如何识别ServiceMain
答案 0 :(得分:3)
你不能。 您应该为每个服务提供自己的ServiceMain功能。
http://msdn.microsoft.com/en-us/library/windows/desktop/bb540475%28v=vs.85%29.aspx给出了一个例子。
当使用" INSTALL"运行此应用程序时参数,它使用CreateService函数将自身注册为服务。如果您的可执行文件提供多种服务,则需要多次调用CreateService。
当应用程序运行时没有" INSTALL"参数,它填充DispatchTable并将其传递给StartServiceCtrlDispatcher。如果您的可执行文件支持多个服务,则DispatchTable将包含多个条目。为每个条目提供不同的ServiceMain函数,Windows将调用正确的函数。