בשבוע שעבר כתבתי דוגמת קוד לשימוש ב ServiceBase על מנת לממש Windows Service תחת .Net. ServiceBase ממש ועוטף את כל מה שנדרש מנת לממש Service תחת .Net אבל לא כל הפונקציונליות של ה Service Control Manager או בקיצור SCM נחשפת ואנחנו צריכים לקרוא ל SCM API באופן ישיר דרך PINVOKE עבור חלק משירותים. אחד מהשירותים הוא היכולת של Service לעדכן את הSCM לגבי מצבו ב Startup/Shutdown כגון כמה זמן על ה SCM להמתין עד שהService יסיים את הפעולה. ב MSDN קיימת דוגמת קוד אשר מראה כיצד לקרוא לפונקציה SetServiceStatus...