יום שני, אוגוסט 04, 2014

איך לרענן כונן ממופה לאחר בעיית תקשורת

לכונן ממופה אשר מופה כלפי UNC יש מספר מצבים חוץ מ OK.

אם הייתה בעיית תקשורת המצב יכול לעבור ל USE_RECONN או USE_SESSLOST (או לאחרים), אם יש תהליך שמנסה לגשת לכונן הזה הוא יחכה הרבה מאוד זמן.

כאשר כונן ממופה יש מספר מאפיינים לחיבור:

1. הכונן הממופה
2. ה UNC עליו ניגשים
3. מצב החיבור עצמו

בשביל לבצע רענון (להתחבר מחדש) אפשר למחוק את הכונן המקומי אבל ללא הפלת החיבור, ואז להוסיף שוב את אותו הכונן:
1. בצעו קריאה ל NetUseEnum ומשכו מבנה שיכיל את הכונן המקומי והUNC.

2. מצאו את המבנה המתאים לכונן ובצעו קריאה ל WNetCancelConection2 (או אחד הווריאציות האחרות שלה) והשתמשו ב lpname כשהוא  מצביע לכונן המקומי (בצורה כזאת אתם רק מוחקים כונן מקומי ולא את החיבור עצמו)

3. בצעו קריאה ל WNetAddConnection כאשר אתם משתמשים בפרטים שקיבלתם בשלב הראשון.

בגלל שלא מחכתם את החיבור והשתמשת באותם השמות החיבור ישוחזר (ע"י שימוש בסיסמה הנוכחית שזכורה)

  • הפתרון תקף רק ביצעתם logon.
  • רק כאשר מדובר על כונן ממופה (ולא יעזור לכם עם עשיתם mklink או שאתם רוצים לבצע הזדהות חדשה)
  • זה יכול לקחת מספר TIME_WAIT.
  • זה תקף רק המצב כבר עבר מ OK (מהניתוק עד TIME_WAIT הראשון המצב ישאר OK כל עוד אין גישה לכונן).

אין תגובות:

הוסף רשומת תגובה