Windows SDK

הטבלה Windows SDK (10.0.22621) עבור Windows 11 מספקת את הכותרות, הספריות, המטה-נתונים וכלים העדכניים ביותר לבניית יישומי Windows. השתמש ב- SDK זה כדי לבנות פלטפורמה אוניברסלית של Windows (UWP) ו- Win32 עבור Windows 11, גירסה 23H2 ומהדורות קודמות של Windows.

עצה

Windows App SDK
תוכנית SDK לאפליקציות ב-Windows מספקת ערכה מאוחדת של ממשקי API וכלים המפענחים ממערכת ההפעלה ומופצים למפתחים באמצעות חבילות NuGet. ממשקי API וכלים אלה יכולים לשמש באופן עקבי על-ידי כל יישום שולחן עבודה Windows 11 ורמה מטה כדי Windows 10, גירסה 1809.

תחילת העבודה

באפשרותך לקבל את ה- Windows SDK בשתי דרכים: להתקין אותו מתוך דף זה על-ידי בחירת קישור ההורדה או על-ידי בחירה באפשרות "Windows 11 SDK (10.0.22621.0)" ברכיבים האופציונליים של Visual Studio 2022 Installer. לפני התקנת SDK זה:

עדכון אחרון: פברואר 2024

דרישות המערכת

לכל Windows SDK יש את דרישות המערכת המינימליות הבאות:

מערכות הפעלה נתמכות

  • Windows 10 גירסה 1507 ואילך: Home, Professional, Education ו- Enterprise (LTSB ו- S אינם נתמכים עבור UWP)
  • Windows Server 2022, Windows Server 2019, Windows Server 2016 ו- Windows Server 2012 R2 (שורת פקודה בלבד)
  • Windows 8.1
  • Windows 7 SP1

(לא כל הכלים נתמכים במערכות הפעלה קודמות)

דרישות חומרה

  • מעבד 1.6 GHz ומעלה
  • 1 GB של RAM
  • שטח דיסק קשיח זמין של 4 GB

דרישות SDK נוספות

התקנה ב Windows 8.1 ובמערכות הפעלה קודמות דורשת עדכון עבור זמן ריצה אוניברסלי C ב- Windows. כדי להתקין באמצעות Windows Update, הקפד להתקין את העדכונים והתיקונים המומלצים האחרונים מ- Microsoft Update לפני התקנת Windows SDK.

דוגמאות

דוגמאות לאפליקציה של Windows זמינות כעת באמצעות GitHub. באפשרותך לעיין בקוד ב- GitHub, לשכפל עותק אישי של המאגר מ- Git, או להוריד ארכיון מכווצ של כל הדוגמאות. נשמח לקבל ממך משוב, לכן אתה מוזמן לפתוח בעיה במאגר אם יש לך בעיה או שאלה. דוגמאות אלה מיועדות לפעול במחשבים שולחניים, במכשירים ניידים ובמכשירים עתידיים התומכים פלטפורמה אוניברסלית של Windows (UWP).

גירסאות SDK קודמות

ניתן למצוא קבצי SDK ו- Emulators שהופצו בעבר, כולל פרטי עדכון, בדף הארכיון.

API Light Up

בעת שימוש בממשקי API חדשים, שקול לכתוב את האפליקציה שלך כך שהיא תפעל כראוי במערך הרחב ביותר של מכשירי Windows. אפליקציה מסתגלת "נדלקת" עם תכונות חדשות בכל מקום שבו המכשירים וגירסת Windows תומכים בהם, אך היא מציעה רק את הפונקציונליות הזמינה בגירסת הפלטפורמה שזוהתה. לקבלת פרטי יישום, עיין במאמר קוד מסתגל של גירסה.

הערות מוצר ובעיות ידועות

Windows 11, גירסת Build מס' 10.0.22621.3235 (הופצה ב- 29/2/2024)

מתן שירות לעדכון 10.0.22621.3235.

Windows 11, גירסת Build מס' 10.0.22621.2428 (הופצה ב- 24/10/2023)

עדכון שירות 10.0.22621.2428.

Windows 11, גירסה 22H2, גירסת Build מס' 10.0.22621.1778

עדכון 10.0.22621.1778. התכונות המסומנת כוללות:

  • ממשקי API של WindowTabManager מאפשרים לאפליקציות עם ממשקי כרטיסיות לספק מידע בכרטיסיות פתוחות למעטפת Windows.
  • עדכונים לממשקי API של HumanPresence כדי לשפר את נוחות השימוש ולהוסיף הגדרות חדשות עבור חיישנים התומכים ביכולות נוכחות אנושית.
  • ממשקי API של RemoteDesktop מאפשרים לאפליקציות לעבור בין שולחן עבודה מרוחק למחשב שולחני מקומי.
Windows SDK for Windows 11, version 22H2
  • מתן שירות לעדכון 10.0.22621.755. כולל תמיכת ARM64 עבור מהדורת VS 17.4
Windows 10 SDK, גירסה 2104
  • api-ms-win-net-isolation-l1-1-0.lib הוסר. אפליקציות שקשרו נגד api-ms-win-net-isolation-l1-1-0.lib יכולות להחליף את OneCoreUAP.lib כתחליף.

  • הסרתי את irprops.lib. אפליקציות שקשרו מול irprops.lib יכולות לעבור ל- bthprops.lib כתחליף לפריט חלופי.

  • העברת תג ENUMServerSelection מ- wuapicommon.h אל wupai.h והוסרה הכותרת העליונה. אם ברצונך להשתמש ב- ENUM tagServerSelection, יהיה עליך לכלול את wuapi.h או wuapi.idl.

  • ערכת ה- API של Windows 10 WinRT מאפשרת לך להוסיף את התמיכה העדכנית ביותר ב- Windows Runtime API עבור ספריות ויישומים של .NET Framework 4.5+ ו- .NET Core 3.0+ כדי לגשת לערכת ה- API של Windows 10 WinRT, עיין בחבילה microsoft.Windows.SDK.Contracts nuget.

  • משפחת הפונקציות Printf תואמת כעת לכללי עיגול IEEE 754 בעת הדפסת מספרים הניתנים לייצוג מדויק של נקודה צפה ויכבדו את מצב המעוגל המבוקש באמצעות קריאות ל- fesetround. אופן פעולה מדור קודם זמין בעת קישור ל - legacy_stdio_float_rounding.obj.

  • Windows App Certification Kit. כמה ממשקי API חדשים נוספו לרשימת ממשקי ה- API הנתמכים ב- App Certification Kit ובחנות Windows. אם קיימים ממשקי API ברשימה הנתמכת המופיעים באפור או לא זמינים ב- Visual Studio, באפשרותך לבצע שינוי קטן בקובץ המקור שלך, כדי לגשת אליהם. לקבלת פרטים נוספים, עיין בבעיה ידועה זו. חפש עדכונים נוספים לבדיקות.

  • עדכוני מהדר הודעות (mc.exe):

    • כעת מזהה את סימן סדר הבתים של Unicode (BOM) בקובצי .mc אם קובץ .mc מתחיל ב- BOM של UTF-8, הוא ייקרא כקובץ UTF-8. אחרת, אם הוא מתחיל ב- UTF-16LE BOM, הוא ייקרא כקובץ UTF-16LE. אם הפרמטר -u צוין, הוא ייקרא כקובץ UTF-16LE. אחרת, הוא ייקרא באמצעות דף הקוד הנוכחי (CP_ACP).
    • כעת ניתן להימנע מבעיות של כלל אחד (ODR) במסייעי C/C++ ETW שנוצרו באמצעות MC/C++ הנגרמות על-ידי פקודות מאקרו של תצורה מתנגשות (לדוגמה, כאשר שני קבצי .cpp עם הגדרות מתנגשות של MCGEN_EVENTWRITETRANSFER מקושרים לאותו קובץ בינארי, עוזרי ETW שנוצרו על-ידי MC יכבדו כעת את ההגדרה של MCGEN_EVENTWRITETRANSFER בכל קובץ .cpp במקום לבחור באופן שרירותי באחד מהקבצים האחרים).
  • עדכוני קדם-עיבוד של Windows Trace (tracewpp.exe):

    • תומך בקלט Unicode (.ini, .tpl וקוד מקור). קבצי קלט החל מסימן סדר של UTF-8 או UTF-16 בתים (BOM) ייקראו כ- Unicode. קבצי קלט שאינם מתחילים ב- BOM ייקראו באמצעות דף הקוד הנוכחי (CP_ACP). לצורך תאימות לאחור, אם פרמטר שורת הפקודה -UnicodeIgnore צוין, קבצים שמתחילים ב- UTF-16 BOM יחשבו לריקות.
    • תומך בקובצי פלט Unicode (.tmh). כברירת מחדל, קבצי פלט מקודדים באמצעות דף הקוד הנוכחי (CP_ACP). השתמש בפרמטרים של שורת הפקודה -cp:UTF-8 או -cp:UTF-16 כדי ליצור קבצי פלט Unicode.
    • שינוי אופן פעולה: tracewpp ממיר כעת את כל טקסט הקלט ל- Unicode, מבצע עיבוד ב- Unicode וממיר טקסט פלט לקידוד הפלט שצוין. גירסאות קודמות של tracewpp הימנעו מהמרות Unicode ומבצעות עיבוד טקסט בהנחה שערכת תווים של בית יחיד. הדבר עשוי להוביל לשינויי אופן פעולה במקרים שבהם קבצי הקלט אינם תואמים לדף הקוד הנוכחי. במקרים שבהם זוהי בעיה, שקול להמיר את קבצי הקלט ל- UTF-8 (עם BOM) ו/או להשתמש בפרמטר שורת הפקודה -cp:UTF-8 כדי למנוע קידוד רב-משמעי.
  • עדכוני TraceLoggingProvider.h:

    • הימנעות מבעיות של כלל חד-הגדרות (ODR) הנגרמות על-ידי פקודות מאקרו של תצורה מתנגשות (לדוגמה, כאשר שני קבצי .cpp עם הגדרות מתנגשות של TLG_EVENT_WRITE_TRANSFER מקושרים לאותו קובץ בינארי, מסייע TraceLoggingProvider.h יכבד כעת את ההגדרה של TLG_EVENT_WRITE_TRANSFER בכל קובץ .cpp במקום לבחור באופן שרירותי בקובץ אחד או בשני).
    • בקוד C++, המאקרו TraceLoggingWrite עודכן כדי לאפשר שיתוף קוד טוב יותר בין אירועים דומים באמצעות תבניות variadic.
  • חותם על היישומים שלך. חתימת Device Guard היא תכונה של Device Guard הזמינה ב- Microsoft Store לעסקים וב- Education, המאפשרת לארגונים להבטיח שכל אפליקציה מגיעה ממקור מהימן. עיין בתיעוד אודות חתימת Device Guard.

  • כותרות SDK עודכנו כדי לטפל בשגיאות בעת הידור באמצעות מעבד C בעל התאימות הסטנדרטית במעבד המהדר של MSVC cl.exe (/Zc:preprocessor, שהוצג ב- VS 2019 v16.6).

  • תוקן: "GdiplusTypes.h אינו מבצע הידור עם NOMINMAX". ראה משוב של Visual Studio.

  • בעת בנייה עם /std:c11 או /std:c17, אתה מקבל כעת:

    • C99 tgmath.h
    • C11 static_assert ב- assert.h
    • C11 stdalign.h
    • C11 stdnoreturn.h
  • Clang/LLVM עבור Windows v11 פילוח ARM64 אינו תואם ל- winnt.h העדכני ביותר

    • כפתרון, השתמש בגירסה הקודמת של ערכת ה- SDK של Windows 10 (גירסת Build מס' 19041), או clang/LLVM עבור Windows v10 בעת פילוח פלטפורמות ARM64
  • DirectXMath (כולל גירסה 3.16 במהדורה זו) אינו תואם ל- Clang/LLVM עבור Windows ב- ARM64.

  • המקרה של קבצי כותרת מסוימים השתנה, כדי לנורמל אותם עבור מערכות קבצים תלויות רישיות:

    • OAIdl.h, ObjIdl.h, ObjIdlbase.h, OCIdl.h, Ole2.h, OleAuto.h ו- OleCtl.h נעשו כולם באותיות קטנות.
    • עבור גירסאות Build של Clang/LLVM עבור Windows, כדי לתמוך הן בגירסה ישנה והן בערכת ה- SDK העדכנית ביותר של Windows 10 ללא אזהרות, -Wno-nonportable-system-include-path להוסיף ל- CLI או #pragma הבאות במקור:

    #ifdef __clang__

    #pragma clang diagnostic ignored "-Wnonportable-system-include-path"

    #endif

Windows 10 SDK, עדכון השירות של גירסה 2004 (פורסם ב- 16/12/2020)

מהדורה זו מכילה את הקבצים הבאים. אם אתה נתקל בבעיות אלה, מומלץ לעדכן את גירסת ה- SDK בהקדם האפשרי כדי להימנע מהן:

  • נפתרו באופן בלתי צפוי וקשים לאבחון קריסות בעת קישור ספריות מטריות וספריות מערכת הפעלה מקוריות (לדוגמה, onecoreuap.lib ו- kernel32.lib)
  • נפתרה בעיה שמנעה מ- AppVerifier לפעול
  • נפתרה בעיה שגרמה לכשל ב- WACK עם "המשימה נכשלה בהפעלת HighVersionLie"

משאבים נוספים