מאמרים עם התגית “Win32 API”
10 מאמרים עם התגית “Win32 API”, מהחדש לישן.
-
למה arguments נשברים — כללי command-line arguments ב-Windows
Windows מעביר ל-CreateProcess מחרוזת אחת שהמקבל מפצל. מכסה את כללי CommandLineToArgvW, CRT ו-.NET, ArgumentList, ובניה ב-C++.
-
מה נשאר אחרי שה-parent מת — מחזיקים child processes ב-Job Object
למה SDK helpers שורדים UI שנהרג ומחזיקים את המצלמה או את ה-COM port? מתכננים משך חיים של child process עם Job Objects, KillOnJobClose ו-completion ports.
-
Win32 Thread Pool API — מקביליות בלי CreateThread, דרך CreateThreadpoolWork
מפזרים קריאות CreateThread בכל הקוד ה-native? המאמר מסביר את ה-Win32 Thread Pool API שעוצב מחדש ב-Vista: ארבעת האובייקטים work, timer, wait ו-io, cleanup gro...
-
Named Pipes בפועל — ה-IPC הסטנדרטי של Windows, מתכנון עד אבטחה
מדריך מעשי ל-Named Pipes, ה-IPC הסטנדרטי ב-Windows. המאמר מסדר לפי מקורות ראשוניים את הבחירה בין byte mode ל-message mode, תכנון server לכמה clients, אבטחה ע...
-
אפליקציות שנשברות אחרי Sleep — power events ואיך לבנות אפליקציה עסקית ששורדת resume
פתחתם את ה-laptop והתקשורת של האפליקציה העסקית הייתה מתה. הסיבה היא תכנון שלא לקח Sleep בחשבון. המאמר עובר על זרימת WM_POWERBROADCAST, התנהגות Modern Standby...
-
DllMain ו-loader lock — הסיבה האמיתית שאומרים לא לעשות כלום ב-initialization של DLL
למה אסור לקרוא ל-LoadLibrary או להסתנכרן עם threads מתוך DllMain. המאמר מסביר ממקורות ראשוניים איך loader lock מסדר כל DLL notification, תרחישי deadlock קלאס...
-
מה Not Responding באמת אומר — איך Windows מחליט שיש hang, ואיך לתכנן אפליקציות שלא נתקעות
Windows מסמן window כ-Not Responding אחרי 5 שניות בלי שליפת message ומציג ghost window: השיפוט, סיבות ה-hang, תכנון ה-UI thread, והחקירה.
-
Spurious wakeup — למה condition variable מתעורר בלי notify, ואיך לחכות נכון ב-Windows
Wait של condition variable יכול להתעורר בלי notify (spurious wakeup). למה Windows מתיר זאת, וצורת ה-wait הנכונה עם while ו-predicate ב-Win32, ב-C++ וב-C#.
-
פענוח קודי שגיאה ב-Windows — שלוש השכבות Win32, HRESULT ו-NTSTATUS
כשמופיע 0x80004005, מפרקים אותו לפני החיפוש. המאמר עובר על שלוש השכבות Win32, HRESULT ו-NTSTATUS, על ה-pattern של 0x8007xxxx, ועל חיפוש עם err.exe ו-PowerShell.
-
שיטות עבודה מומלצות ל-multithreading בפועל: מהדורת C — כתיבה בטוחה לפי Win32 API
הגישה המבוססת ל-multithreading ב-C מול Win32 היא יצירת thread עם _beginthreadex, SRW lock ו-condition variable, Interlocked, ו-stop event יחד עם WaitForMulti...