我想拥有多个服务的单个可执行部分。即服务的名称会不同,但可执行文件会不同。如何识别调用了哪个服务ServiceMain
问问题
93 次
1 回答
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 将调用正确的函数。
于 2012-07-10T21:24:45.963 回答