Windows SDK

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

טיפ

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

תחילת

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

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

דרישות מערכת

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

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

  • Windows 11, גירסה 21h2 ואילך: Home, Pro, Education ו- Enterprise (LTSC אינו נתמך עבור UWP)
  • Windows 10, גירסה 1507 ואילך: Home, Pro, Education ו- Enterprise (LTSB/LTSC ומצב 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 ובמערכות הפעלה קודמות דורשת עדכון עבור Universal C Runtime ב- Windows. כדי להתקין באמצעות Windows Update, הקפד להתקין את העדכונים והתיקונים המומלצים האחרונים מ- Microsoft Update לפני התקנת ערכת ה- SDK של Windows.

דגימות

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

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

ניתן למצוא SDKs ואמולטורים שהופצו בעבר, כולל פרטי עדכון, בדף של.

API Light Up

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

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

Windows 11, גירסת Build מס' 10.0.26100.1742 (הופצה ב- 24/9/2024)

הפצה כדי להתאים למהדורה הציבורית של Windows 11, גירסה 24h2.

Windows 11, גירסת Build מס' 10.0.26100 (הופצה ב- 22/5/2024)

המהדורה הראשונית של סדרת 10.0.26100 תואמת לגירסת ה- Preview של Windows 11, גירסה 24h2.

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 עבור Windows 11, גרסה 22H2
  • מתן שירות עדכון 10.0.22621.755. כולל תמיכת ARM64 עבור מהדורת VS 17.4
Windows 10 SDK, Version 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 כתחליף לפריט חלופי.

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

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

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

  • ערכת אישורי אפליקציות של Windows. כמה ממשקי API חדשים נוספו לרשימת ממשקי ה- API הנתמכים בערכת אישור האפליקציות ובחנות 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 (tracewpp.exe) :

    • תומך בקלט Unicode (.ini, .tpl וקוד מקור). קבצי קלט החל מסימן סדר של UTF-8 או UTF-16 בתים (BOM) ייקראו כ- Unicode. קבצי קלט שאינם מתחילים ב- BOM ייקראו באמצעות דף הקוד הנוכחי (CP_ACP). לצורך תאימות לאחור, אם פרמטר שורת הפקודה -UnicodeIgnore, קבצים המתחילה ב- BOM UTF-16 יטופלו כריקות.
    • תומך בקובצי פלט 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 לעסקים ולחינוך, המאפשרת לארגונים להבטיח שכל אפליקציה מגיעה ממקור מהימן. עיין בתיעוד אודות Device Guard Signing.

  • כותרות 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.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 לזמין"

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