funkció startservice

[A] Fogantyú szolgáltatást. Ez a kar által visszaadott funkció vagy OpenService CreateService. és biztosítani kell a jogot, hogy hozzáférj SERVICE_START. További információkért lásd a cikk védelmi szolgáltatások és a hozzáférési jogokat.

[A] A sorok száma a tömbben lpServiceArgVectors. Ha lpServiceArgVectors van értéke NULL (NULL), ez a paraméter lehet null.

[A] mutató egy tömb mutatókat NULL-lezárt karakterlánc amelyet át, mint egy szolgáltatási paramétereket. Pilóta szolgáltatások nem kapnak ezek a lehetőségek. Ha nincsenek paraméterek továbbítják a szolgáltatást, ez a paraméter lehet NULL érték (NULL). Szolgáltatás utal ezek a lehetőségek révén a funkcióját ServiceMain. Az első paraméter (argv [0]) - ez az alapértelmezett szolgáltató nevét, majd a paramétereket, ha van ilyen, a tömbben lpServiceArgVectors.

Ha a függvény sikeres, a visszatérési érték nulla.

Ha a funkció nem működik, a visszatérési érték - nulla. Ahhoz, hogy a kiterjesztett hiba információért hívja GetLastError.

A következő hibakódok lehet telepíteni a Service Control Manager. Mások lehet beállítani a registry funkciókat által hívott service control manager.

Az eljárás a szolgáltatás már elkezdődött, de ez nem okozott StartServiceCtrlDispatcher funkciót. vagy menet, hogy hívások blokkolva StartServiceCtrlDispatcher funkció feldolgozási kezelési program.

Amikor a vezető megkezdi a szolgáltatást, a StartService függvény nem ad vissza, amíg az eszközmeghajtó befejezte inicializálása.

Ha a szolgáltatás indításakor a Service Control Manager (SCM). ha szükséges, létrehoz egy szolgáltatási folyamat. Ha a megadott szolgáltatást részvények folyamat egyéb szolgáltatások elvégzésére a folyamat már léteznek. StartService funkció nem várja meg az első frissítés állapotáról az új szolgáltatást, mert hosszabb időt vehet igénybe. Ehelyett, a visszatérési érték, ha a Service Control Manager (SCM) értesíti Service Control Manager, hogy ServiceMain áramlási ezt a szolgáltatást sikeresen létrejött.

A Service Control Manager (SCM) beállítja az alapértelmezett érték a következő állapot visszatérése előtt a függvény értékét StartService.

  • A jelenlegi állapot a szolgáltatás beállítása SERVICE_START_PENDING.
  • Vezérlő eszköz elfogadásra kerül, nem meghatározott (nulla).
  • CheckPoint érték nullára van állítva.
  • WaitHint beállított idő 2 másodperc.

A hívó folyamat lehet meghatározni, hogy az új szolgáltatás befejezte az inicializálási időközönként hívja a funkció QueryServiceStatus. hogy a vizsgálat az állapota a szolgáltatást.

A szolgáltatás nem okoz StartService betöltés közben. Ennek az az oka, hogy a Service Control Manager (SCM) inicializálás során blokk bázis szolgáltatás vezérlési adatokat, így a hívás StartService blokkolja. Ha a szolgáltató tájékoztatja a Service Control Manager (SCM). hogy sikeresen elindította, a szolgáltatás is okozhat StartService.

Ahogy ControlService. StartService funkció blokkolva lesz 30 másodpercig, ha a szolgáltatás elfoglalva az ellenőrző kódot. Ha egy zsúfolt irodában még nem tért vissza függvényt, amikor a szünet véget ér, a StartService függvény sikertelen ERROR_SERVICE_REQUEST_TIMEOUT. Ez akkor fordul elő, mert a Service Control Manager (SCM) egyidejűleg dolgozza csak egy értesítő szolgáltatást.

Kapcsolódó cikkek