לדלג לתוכן

תרגול המעטפת וחיי המחשב

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

כתבו פונקציה שקוראת CF_UNICODETEXT ומחזירה מחרוזת בבעלותה. הגבילו את האחסון ל1 MiB, דחו גודל שאינו מתאים ליחידות UTF-16 ודחו תוכן ללא terminator בתוך הגבול. אל תשחררו את handle הלוח.

תרגיל שני - בחירה וביטול

כתבו פונקציה שמשתמשת בIFileOpenDialog על thread של STA שכבר אותחל. החזירו pathname בבעלות הלקוח רק אחרי הצלחה, והחזירו קוד נפרד לביטול. בדקו כשל באמצע וקשרו לכל reference את פעולת השחרור שלו.

תרגיל שלישי - שני שעונים

כתבו כלי שמדפיס הפרש של GetTickCount64 ושל QueryUnbiasedInterruptTime בין שתי לחיצות Enter. הריצו פעם ללא שינה ופעם עם שינה יזומה של VM המעבדה באמצע. הסבירו איזה שעון מתאים לdeadline שבחרתם, ואיזה ניסוי היה מפריך את ההנחה שלכם.