複数のサービスの単一の実行可能部分が必要です。つまり、サービスの名前は異なりますが、実行可能ファイルは異なります。どのサービスが呼び出されているかを特定するにはどうすればよいですかServiceMain
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 に答える