לדלג לתוכן

תרגול שירות ומנהל השירותים

תרגיל ראשון - זכויות קריאה

הריצו את כלי השאילתה עם משתמש רגיל על שלושה שירותים קיימים, בלי לשנות את מצבם. תעדו הצלחה או שגיאה לכל API בנפרד. הסבירו מדוע כשל בOpenServiceW אינו אומר שהשירות לא קיים.

הוסיפו פלט קריא לסוג ההפעלה ולמצב. שמרו גם את הערך המספרי כדי שגרסה עתידית או ערך לא צפוי לא יהפכו בטעות ל"רץ".

תרגיל שני - רשימה עם יותר ממחרוזת אחת

הרחיבו את התוכנית להדפיס את lpDependencies. קראו את חוזה QUERY_SERVICE_CONFIGW והסבירו מדוע פלט של lpDependencies כמחרוזת רגילה יכול להסתיר תלויות. הגדירו מה מייצג תו + בתחילת dependency, בלי לנסות להפעיל אוטומטית שירות בשם הזה.

הוסיפו בדיקה עם buffer מקומי שמכיל שתי מחרוזות ותו סיום כפול. אין צורך לשנות תלויות של שירות אמיתי כדי לבדוק את הלולאה.

תרגיל שלישי - אבחון התחלה

נתון שירות שהפעלתו מצליחה ידנית מתוך תיקיית הפרויקט, ונכשלת כאשר הSCM מפעיל אותו. כתבו סדר של חמש בדיקות שמפריד בין נתיב יחסי, זהות, DLL חסר, כשל חיבור לdispatcher וכשל תצורה. לכל בדיקה ציינו איזו ראיה תחזק את ההשערה ואיזו תחליש אותה.

הניחו שאין הרשאה להרחיב את חשבון השירות. הפתרון צריך למצוא איזו יכולת באמת חסרה או איזו הנחה בקוד שגויה.