Windows SDK

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

תחילת העבודה

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

לפני התקנת ה- SDK:

  1. סקור את כל דרישות המערכת
  2. צא מ- Visual Studio לפני ההתקנה.
  3. עיין בהערות המוצר ובבעיות הידועות.

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

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

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

  • פיתוח אפליקציות של פלטפורמה אוניברסלית של Windows‏ (UWP)
    • Windows 10 גירסה 1507 ואילך: Home,‏ Professional,‏ Education ו- Enterprise (אין תמיכה ב- LTSB וב- S)
    • Windows Server 2019,‏ Windows Server 2016 ו- Windows Server 2012 R2 (שורת הפקודה בלבד)
  • פיתוח אפליקציות של Win32
    • Windows 10 גירסה 1507 ואילך
    • 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 ובמערכות הפעלה קודמות מחייבת KB2999226. כדי להתקין באמצעות Windows Update, הקפד להתקין את העדכונים והתיקונים האחרונים המומלצים מאתר Microsoft Update לפני שתתקין את Windows SDK.

מה חדש

Windows SDK עבור Windows 11 מאפשר לך לעדכן את האפליקציות שלך לגירסה העדכנית ביותר של מערכת ההפעלה Windows. קבל מידע נוסף על התכונות החדשות של Windows 11.

כדי לראות את ממשקי ה- API החדשים הכלולים ב- Windows 11, ראה: ממשקי API חדשים ב- Windows 11 גירסת Build‏ 22000.

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

דוגמאות‬

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

גירסאות קודמות של ערכת ה- SDK

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

API מתעורר לחיים

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

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

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 כתחליף ללא צורך בהתאמות.
  • ENUM tagServerSelection הועבר מ- wuapicommon.h אל wupai.h והכותרת הוסרה. אם ברצונך להשתמש ב- ENUM tagServerSelection, תצטרך לכלול את wuapi.h או את wuapi.idl.
  • Windows 10 WinRT API Pack מאפשרת לך להוסיף תמיכה בממשקי ה- API האחרונים של Windows Runtime לספריות ולאפליקציות של ‎.NET Framework 4.5+‎ ושל ‎.NET Core 3.0+‎ כדי לגשת אל Windows 10 WinRT API Pack, ראה את חבילת ה-NuGet של Microsoft.Windows.SDK.Contracts.
  • משפחת הפונקציות של printf תואמת כעת לכללי העיגול של IEEE 754 בעת הדפסת מספרי נקודה צפה עם ייצוג מדויק, ותכבד את מצב העיגול המבוקש דרך קריאות ל- fesetround. אופן הפעולה מדור קודם זמין בעת הקישור ל- legacy_stdio_float_rounding.obj.
  • ערכת אישור אפליקציות של Windows. נוספו מספר ממשקי API חדשים לרשימת ממשקי ה- API הנתמכים בערכת אישור האפליקציות ובחנות Windows. אם ישנם ממשקי API ברשימה הנתמכת שמופיעים באפור או שמוצגים כלא זמינים ב- Visual Studio, ניתן לבצע שינוי קטן בקובץ המקור כדי לגשת אליהם. לקבלת פרטים נוספים, ראה בעיה ידועה זו. חפש עדכונים נוספים לבדיקות.
  • עדכוני מהדר ההודעות (mc.exe):
    • מזהה כעת את סימן סדר הבתים (BOM) של Unicode בקבצי ‎.mc אם קובץ ה- ‎.mc מתחיל ב- BOM של UTF-8, הוא ייקרא כקובץ UTF-8. לעומת זאת, אם הוא מתחיל ב- BOM של UTF-16LE, הוא ייקרא כקובץ UTF-16LE. אם הפרמטר ‎-u צוין, הוא ייקרא כקובץ UTF-16LE. אם לא, הוא ייקרא באמצעות דף הקוד הנוכחי (CP_ACP).
    • מונע כעת בעיות one-definition-rule ‏(ODR) במסייעי ETW של C/C++‎ הנוצרים על-ידי MC, שנגרמות כתוצאה מפקודות מאקרו מתנגשות של תצורה (למשל, כאשר שני קבצי ‎.cpp עם הגדרות מתנגשות של MCGEN_EVENTWRITETRANSFER מקושרים לאותו קובץ בינארי, מסייעי ETW שנוצרו על-ידי MC יכבדו כעת את ההגדרה של MCGEN_EVENTWRITETRANSFER בכל קובץ ‎.cpp במקום לבחור באחת ההגדרות באופן שרירותי).
  • עדכוני Windows Trace Preprocessor ‏(tracewpp.exe):
    • תומך בקבצים של קלט Unicode ‏(‎.ini,‏ ‎.tpl וקוד מקור). קבצי קלט המתחילים בסימן סדר בתים (BOM) של UTF-8 או UTF-16 ייקראו כ- 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:
    • מונע בעיות one-definition-rule ‏(ODR) שנגרמות כתוצאה מפקודות מאקרו מתנגשות של תצורה (למשל, כאשר שני קבצי ‎.cpp עם הגדרות מתנגשות של TLG_EVENT_WRITE_TRANSFER מקושרים לאותו קובץ בינארי, מסייעי TraceLoggingProvider.h יכבדו כעת את ההגדרה של TLG_EVENT_WRITE_TRANSFER בכל קובץ ‎.cpp במקום לבחור באחת ההגדרות באופן שרירותי).
    • בקוד C++‎, פקודת המאקרו TraceLoggingWrite עודכנה כדי לאפשר שיתוף מאקרו טוב יותר בין אירועים דומים המשתמשים בתבניות וריאדיות.
  • חתימה על האפליקציות שלך. חתימה של Device Guard היא תכונה של Device Guard הזמינה ב- Microsoft Store לעסקים ולמגזר החינוך, המאפשרת לארגונים להבטיח שכל אפליקציה מגיעה ממקור מהימן. עיין בתיעוד לגבי חתימה של Device Guard.
  • כותרות ה- SDK עודכנו כדי לטפל בשגיאות בהידור באמצעות C preprocessor התואם לתקנים במהדר 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 האחרון
    • כדי לעקוף את הבעיה, השתמש בגירסה האחרונה של Windows 10 SDK (גירסת 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 for Windows, כדי לתמוך בגירסה הקודמת ובגירסה החדשה של Windows 10 SDK ללא אזהרות, הוסף '-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"

ספק משוב

לבעיות ידועות, עיין בשאלות ותשובות על winapi-sdk.

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

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

הורדות וכלים

קבל את המהדורות החדשות ביותר של Visual Studio וכלי פיתוח ל- Windows 10.

למידע נוסף

ארכיון SDK

חפש מהדורות קודמות של Windows SDK וכלים אחרים.

ראה ארכיון

בלוג Windows

התעדכן בגירסאות הבדיקה האחרונות של ה- SDK על-ידי הרשמה לבלוג שלנו.

קבל חדשות על גירסאות בדיקה של ה- SDK

גיליון עובדות על מחזור החיים של Windows

מצא את התאריכים המרכזיים עבור עדכוני מהדורה של Windows וסיום התמיכה.

ראה את גיליון העובדות