[win32] Service onder windows, ServiceName

Pagina: 1
Acties:

  • leuk_he
  • Registratie: Augustus 2000
  • Laatst online: 29-08 20:52

leuk_he

1. Controleer de kabel!

Topicstarter
Ik ben een service onder windows aan het maken.

Als ik 1 executable had en dit 1 service moest worden had ik geen probleem gehad. Echter 1 executale moet meer keer draaien, elke keer als service , met een eigen configuratie.

Dit onderscheid maak ik nu door hem meer keer te instaleren, elke keer met een andere servicenaam.

Hoe weet ik nu welke "service" is opgestart, met andere woorden hoe bepaal ik mijn eigen "SERVICENAME": in onderstaand voorbeeld.


#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <process.h>

void main(int argc, char **argv)
{

....
install code als -install parameter
else:
....

SERVICE_TABLE_ENTRY dispatchTable[] =
{
{TEXT(SERVICENAME), (LPSERVICE_MAIN_FUNCTION) ServiceMain},{NULL, NULL}
};

/* SCM is starting service; call StartServiceCtrlDispatcher */
StartServiceCtrlDispatcher(dispatchTable);
}

Need more data. We want your specs. Ik ben ook maar dom. anders: forum, ff reggen, ff topic maken
En als je een oplossing hebt gevonden laat het ook ujb ff in dit topic horen.


Verwijderd

Neem aan dat dat gewoon 'n constante is die je ook mag vervangen door iets anders..

  • leuk_he
  • Registratie: Augustus 2000
  • Laatst online: 29-08 20:52

leuk_he

1. Controleer de kabel!

Topicstarter
Verwijderd schreef op 01 november 2002 @ 11:54:
Neem aan dat dat gewoon 'n constante is die je ook mag vervangen door iets anders..
Nee.

als ik
#define SERVICENAME "leukheservice"

doe dan kan ik in "ServiceMain()" niet bepalen welke configuratie ik uit moet lezen.
Ik heb een functie nodig als "GetMyServiceName"

Need more data. We want your specs. Ik ben ook maar dom. anders: forum, ff reggen, ff topic maken
En als je een oplossing hebt gevonden laat het ook ujb ff in dit topic horen.


Verwijderd

Gewoon iedere servicenaam een eigen servicemain geven?

  • leuk_he
  • Registratie: Augustus 2000
  • Laatst online: 29-08 20:52

leuk_he

1. Controleer de kabel!

Topicstarter
Verwijderd schreef op 01 november 2002 @ 12:05:
Gewoon iedere servicenaam een eigen servicemain geven?
Ik weet niet hoevaak de service gaat draaien. dit kan 2x zijn maar ook 30x, en ik weet niet met welke configuraties. Dat werkt dus niet.

1 oplossing is elke service zijn eigen ".exe" te geven en deze te kopieren tijdens de install. Vindt ik niet echt mooi, aangezien je dan een helehoel identieke .exe files hebt (met een andere naam). Alleen om argv[0] in main een servicenaam te geven.

[ Voor 0% gewijzigd door leuk_he op 01-11-2002 12:14 . Reden: spelfaut ]

Need more data. We want your specs. Ik ben ook maar dom. anders: forum, ff reggen, ff topic maken
En als je een oplossing hebt gevonden laat het ook ujb ff in dit topic horen.


  • leuk_he
  • Registratie: Augustus 2000
  • Laatst online: 29-08 20:52

leuk_he

1. Controleer de kabel!

Topicstarter
.

[ Voor 0% gewijzigd door leuk_he op 01-11-2002 12:14 . Reden: dubbelpost ]

Need more data. We want your specs. Ik ben ook maar dom. anders: forum, ff reggen, ff topic maken
En als je een oplossing hebt gevonden laat het ook ujb ff in dit topic horen.


Verwijderd

En je kan niet gewoon 1 service maken die voor elke config die je wil draaien 'n nieuwe thread afkciked ofzo (duno wat je probeert te doen dus roep ook maar wat)

  • leuk_he
  • Registratie: Augustus 2000
  • Laatst online: 29-08 20:52

leuk_he

1. Controleer de kabel!

Topicstarter
Verwijderd schreef op 01 november 2002 @ 12:23:
En je kan niet gewoon 1 service maken die voor elke config die je wil draaien 'n nieuwe thread afkciked ofzo (duno wat je probeert te doen dus roep ook maar wat)
Zou kunnen, dan heb je 1 service met een heleboel threaths (mijn programma is niet threath save maar alla), Ik wil een heleboel services met elk 1 threath.

Wat doet windows, die geeft voor elke service de zelfde executable een trap. enne die ececutale kent zijn service naam niet.

Need more data. We want your specs. Ik ben ook maar dom. anders: forum, ff reggen, ff topic maken
En als je een oplossing hebt gevonden laat het ook ujb ff in dit topic horen.


  • johnwoo
  • Registratie: Oktober 1999
  • Laatst online: 17:11

johnwoo

3S-GTE

Geef gewoon bij het registreren van de service een parameter mee, dus voor de eerste service "MyService.exe /config:1", voor de tweede "MyService.exe /config:2" etc... Dan kun je gewoon naar argv kijken.

4200Wp ZO + 840Wp ZW + 1680Wp NW | 14xIQ7+ + 1xDS3-L | MTVenusE | HWP1


  • leuk_he
  • Registratie: Augustus 2000
  • Laatst online: 29-08 20:52

leuk_he

1. Controleer de kabel!

Topicstarter
johnwoo schreef op 01 november 2002 @ 13:40:
Geef gewoon bij het registreren van de service een parameter mee, dus voor de eerste service "MyService.exe /config:1", voor de tweede "MyService.exe /config:2" etc... Dan kun je gewoon naar argv kijken.
Hoe? ik mis dat "een parameter" iets. In create service kun je geen parameters meegeven. en de "startup parameters" in de "control panels -> services" houd zijn data niet vast.

ik neem aan dat je bij "registreren van een service" de "create service"

En terwijl ik dit tik besef ik:

in kan die parameter in de szpath van createservice stoppen.
probeer...
klaar. Probleem opgelost.

Need more data. We want your specs. Ik ben ook maar dom. anders: forum, ff reggen, ff topic maken
En als je een oplossing hebt gevonden laat het ook ujb ff in dit topic horen.


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

leuk_he schreef op 01 november 2002 @ 11:48:
Ik ben een service onder windows aan het maken.

Als ik 1 executable had en dit 1 service moest worden had ik geen probleem gehad. Echter 1 executale moet meer keer draaien, elke keer als service , met een eigen configuratie.

Dit onderscheid maak ik nu door hem meer keer te instaleren, elke keer met een andere servicenaam.
Misschien een stomme opmerking, maar heb je al eens overwogen om het ding gewoon multithreaded te maken tbv. overzichtelijkheid en controleerbaarheid?

Professionele website nodig?


  • leuk_he
  • Registratie: Augustus 2000
  • Laatst online: 29-08 20:52

leuk_he

1. Controleer de kabel!

Topicstarter
curry684 schreef op 01 november 2002 @ 14:13:
[...]

Misschien een stomme opmerking, maar heb je al eens overwogen om het ding gewoon multithreaded te maken tbv. overzichtelijkheid en controleerbaarheid?
Ja maar,
1. dat lostte mijn initiele probleem niet op.
2. het is unix software die geport wordt, en daar is 1 proces = 1 instance veel handiger, zo werkt die software nu eenmaal.
3. Ik gebruik een communicatie librarie waarvan ik niet kan verfieeren of deze threath safe is.


Dus ja, het is een domme opmerking. 8-)

[ Voor 0% gewijzigd door leuk_he op 01-11-2002 14:25 . Reden: smile toegevoegd ]

Need more data. We want your specs. Ik ben ook maar dom. anders: forum, ff reggen, ff topic maken
En als je een oplossing hebt gevonden laat het ook ujb ff in dit topic horen.


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

leuk_he schreef op 01 november 2002 @ 14:24:
Ja maar,
1. dat lostte mijn initiele probleem niet op.
Dan heb je iets fout aangepakt. Alles wat afhankelijk is van 10 identieke processen kan ook met 10 threads gedaan worden. Ik vind zelfs dat dit zou moeten maja wie ben ik... :Y)
2. het is unix software die geport wordt, en daar is 1 proces = 1 instance veel handiger, zo werkt die software nu eenmaal.
Porten betekent niet dat je het niet mag verbeteren en/of optimaliseren/wijzigen voor het doelplatform.
3. Ik gebruik een communicatie librarie waarvan ik niet kan verfieeren of deze threath safe is.
Dat hoeft ook niet, zolang jij 'm maar threadsafe gebruikt.

:z

Professionele website nodig?

Pagina: 1