Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az ebben a szakaszban található témakörök teljes körű szolgáltatásmintát alkotnak:
- Sample.mc (hibaüzeneteket tartalmaz)
- Svc.cpp (a szolgáltatáskódot tartalmazza)
- SvcConfig.cpp (szolgáltatáskonfigurációs kódot tartalmaz)
- SvcControl.cpp (szolgáltatásvezérlő kódot tartalmaz)
A szolgáltatás felépítése
Az alábbi eljárás azt ismerteti, hogyan hozhatja létre a szolgáltatást, és regisztrálhatja az eseményüzenet DLL-ét.
A szolgáltatás létrehozása és az eseményüzenet DLL- regisztrálása
Az üzenet DLL-t a Sample.mc fájlból a következő lépések alkalmazásával készítsük el:
- mc -U sample.mc
- rc -r sample.rc
- link -dll -noentry -out:sample.dll sample.res
Svc.exe, SvcConfig.exeés SvcControl.exe összeállítása Svc.cpp, SvcConfig.cpp és SvcControl.cpp alapján.
Hozza létre a beállításkulcsot HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\SvcName, és adja hozzá a következő beállításjegyzék-értékeket ehhez a kulcshoz.
Érték Típus Leírás EventMessageFile = dll_path REG_SZ Az eseménynaplóba a szolgáltatás által írható karakterláncokat tartalmazó, csak erőforrás DLL elérési útja. TypesSupported = 0x00000007 REG_DWORD A támogatott eseménytípusokat meghatározó bitmaszk. Az 0x000000007 érték azt jelzi, hogy minden típus támogatott.
A szolgáltatás tesztelése
Az alábbi eljárás a szolgáltatás tesztelését ismerteti.
A szolgáltatás tesztelése
A Vezérlőpulton indítsa el a Services alkalmazást. (A következő lépésekben az F5 billentyűvel frissítse a megjelenítést egy olyan parancs végrehajtása után, amely módosítja a Services alkalmazás adatait.)
Futtassa a következő parancsot a szolgáltatás telepítéséhez:
svc telepítése
A szolgáltatás a "Szolgáltatás sikeresen telepítve" szöveget írja a konzolra, ha a művelet sikeres, vagy ha más hibaüzenet jelenik meg.
Ha a szolgáltatás telepítése sikeres, a szolgáltatás megjelenik a Services alkalmazásban. Vegye figyelembe, hogy név "SvcName" értékre van állítva, Leírás és állapot üresek, indítási típus pedig "Manuális" értékre van állítva.
Futtassa a következő parancsot a szolgáltatás elindításához:
svccontrol indítsa el az SvcName
Ha a művelet sikeres, a szolgáltatásvezérlő program a következőt írja: "Szolgáltatás indítása függőben..." majd a konzolon a "Szolgáltatás sikeresen elindult". Ellenkező esetben a program hibaüzenetet ír a konzolra.
Ha a szolgáltatás sikeresen elindul, Állapot "Started" (Indítás) értékre van állítva. A ServiceMain függvény kódját az SCM hajtja végre. Hiba esetén a szolgáltatás hibaüzenetet ír az eseménynaplóba. Ez az üzenet tartalmazza a sikertelen függvény nevét és a hiba esetén visszaadott hibakódot.
Futtassa a következő parancsot a szolgáltatás leírásának frissítéséhez:
svcconfig az SvcName leírását
A szolgáltatáskonfigurációs program a "Szolgáltatás leírása sikeresen frissítve" szöveget írja a konzolra, ha a művelet sikeres, vagy ha más hibaüzenet jelenik meg.
Ha a frissítés sikeres, Leírás a következőre van állítva: "Ez egy tesztleírás".
Futtassa a következő parancsot a szolgáltatáskonfiguráció lekérdezéséhez:
svcconfig lekérdezés SvcName
A szolgáltatáskonfigurációs program a szolgáltatáskonfigurációs adatokat a konzolra írja, ha a művelet sikeres, vagy ha más hibaüzenet jelenik meg.
Futtassa a következő parancsot a szolgáltatás DACL-jének módosításához:
svccontrol dacl SvcName
A szolgáltatáskonfigurációs program a "Service DACL sikeres frissítése" szöveget írja a konzolra, ha a művelet sikeres, vagy ellenkező esetben hibaüzenet jelenik meg.
Futtassa a következő parancsot a szolgáltatás letiltásához:
svcconfig kikapcsolja SvcName
A szolgáltatáskonfigurációs program a "Szolgáltatás sikeresen le van tiltva" szöveget írja a konzolra, ha a művelet sikeres, vagy ha másként hibaüzenet jelenik meg.
Ha a szolgáltatás le van tiltva, indítási típus "Letiltva" értékre van állítva.
Futtassa a következő parancsot a szolgáltatás engedélyezéséhez:
svcconfig engedélyezze az SvcName
A szolgáltatáskonfigurációs program "A szolgáltatás sikeresen engedélyezve" szöveget írja a konzolra, ha a művelet sikeres, vagy ha másként hibaüzenet jelenik meg.
Ha a szolgáltatás sikeresen engedélyezve van, indítási típus "Manuális" értékre van állítva.
Futtassa a következő parancsot a szolgáltatás leállításához:
svccontrol leállítja az SvcName
Ha a művelet sikeres, a szolgáltatásvezérlő program a következőt írja: "Szolgáltatás leállítása függőben..." majd "A szolgáltatás sikeresen leállt" lehetőséget a konzolon. Ellenkező esetben a program hibaüzenetet ír a konzolra.
Ha a szolgáltatás sikeresen leáll, Állapot üres.
Ha a szolgáltatás leáll, a szolgáltatásvezérlő program egy hibaüzenetet ír az eseménynaplóba, amely tartalmazza a sikertelen függvény nevét és a hiba esetén visszaadott hibakódot.
Futtassa a következő parancsot a szolgáltatás törléséhez:
svcconfig törölje az SvcName
A szolgáltatáskonfigurációs program a "Szolgáltatás sikeresen törölve" szöveget írja a konzolra, ha a művelet sikeres, vagy ha más hibaüzenet jelenik meg.
Ha a szolgáltatás törlése sikeresen megtörtént, az már nem jelenik meg a Services alkalmazásban. (Vegye figyelembe, hogy ha olyan szolgáltatást próbál törölni, amely nem áll le, a művelet sikeres, de indítási típus "Letiltva" értékre van állítva, és a szolgáltatásbejegyzés a rendszer újraindításakor vagy a szolgáltatás Task Managerrel történő leállításakor törlődik.)
Kapcsolódó témakörök
-
Szolgáltatások használata