Windows SDK

يوفر Windows SDK (10.0.26100) ل Windows 11 أحدث الرؤوس والمكتبات وبيانات التعريف والأدوات لإنشاء تطبيقات Windows. استخدم SDK هذا لإنشاء تطبيقات النظام الأساسي العام ل Windows (UWP) وWin32 لنظام التشغيل Windows 11، الإصدار 24H2 وإصدارات Windows السابقة.

بقشيش

Windows App SDK
يوفر SDK لتطبيق Windows مجموعة موحدة من واجهات برمجة التطبيقات والأدوات التي يتم فصلها عن نظام التشغيل وتم إصدارها للمطورين عبر حزم NuGet. يمكن استخدام واجهات برمجة التطبيقات هذه والأدوات بطريقة متسقة من قبل أي تطبيق سطح مكتب على Windows 11 والنزول إلى الإصدار 1809 من Windows 10.

الشروع

يمكنك الحصول على Windows SDK بطريقتين: تثبيته من هذه الصفحة عن طريق تحديد ارتباط التنزيل أو عن طريق تحديد "Windows 11 SDK (10.0.26100.0)" في المكونات الاختيارية لمثبت Visual Studio 2022. قبل تثبيت SDK هذا:

  • مراجعة جميع متطلبات النظام
  • قم بإنهاء Visual Studio قبل التثبيت.
  • راجع ملاحظات إصدار والمشكلات المعروفة.

تنزيل > المثبت

تاريخ التحديث الأخير: سبتمبر 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 غيغاهرتز أو معالج أسرع
  • 1 غيغابايت من ذاكرة الوصول العشوائي
  • 4 غيغابايت من مساحة القرص الثابت المتوفرة

متطلبات SDK إضافية

يتطلب التثبيت على Windows 8.1 وأنظمة التشغيل السابقة تحديثا لوقت تشغيل Universal C في Windows. للتثبيت من خلال Windows Update، تأكد من تثبيت آخر التحديثات والتصحيحات الموصى بها من Microsoft Update قبل تثبيت Windows SDK.

العينات

تتوفر الآن عينات تطبيق Windows من خلال GitHub. يمكنك استعراض التعليمات البرمجية على GitHub، أو استنساخ نسخة شخصية من المستودع من Git، أو تنزيل أرشيف مضغوط لجميع العينات. نرحب بالملاحظات، لذلك لا تتردد في فتح مشكلة داخل المستودع إذا كان لديك مشكلة أو سؤال. تم تصميم هذه العينات للتشغيل على أجهزة سطح المكتب والأجهزة المحمولة والأجهزة المستقبلية التي تدعم النظام الأساسي العام ل Windows (UWP).

إصدارات SDK السابقة

يمكن العثور على SDKs والمحاكيات التي تم إصدارها مسبقا، بما في ذلك تفاصيل التحديث، في صفحة أرشيف .

إضاءة واجهة برمجة التطبيقات

عند استخدام واجهات برمجة تطبيقات جديدة، ضع في اعتبارك كتابة تطبيقك ليكون متكيفا بحيث يعمل بشكل صحيح على أوسع صفيف من أجهزة Windows. التطبيق التكيفي "يضيء" مع ميزات جديدة أينما كانت الأجهزة وإصدار Windows يدعمها، ولكن بخلاف ذلك لا يقدم سوى الوظائف المتوفرة على إصدار النظام الأساسي المكتشف. للحصول على تفاصيل التنفيذ، راجع مقالة التعليمات البرمجية التكيفية لإصدار .

ملاحظات الإصدار والمشكلات المعروفة

Windows 11، الإصدار 10.0.26100.1742 (تم إصداره في 9/24/2024)

الإصدار ليتوافق مع الإصدار العام من Windows 11، الإصدار 24h2.

Windows 11، الإصدار 10.0.26100 (تم إصداره في 5/22/2024)

الإصدار الأولي من سلسلة 10.0.26100، لتتوافق مع معاينة الإصدار 24h2 من Windows 11.

Windows 11، الإصدار 10.0.22621.3235 (تم إصداره في 2/29/2024)

تحديث الخدمة 10.0.22621.3235.

Windows 11، النسخة 10.0.22621.2428 (إصدار 10/24/2023)

تحديث الخدمة 10.0.22621.2428.

Windows 11، الإصدار 22H2، النسخة 10.0.22621.1778

تحديث 10.0.22621.1778. تتضمن الميزات المميزة ما يلي:

  • تسمح واجهات برمجة تطبيقات WindowTabManager للتطبيقات ذات الواجهات المبوبة بتوفير معلومات حول علامات التبويب المفتوحة إلى Windows shell.
  • تحديثات لواجهات برمجة تطبيقات HumanPresence لتحسين سهولة الاستخدام وإضافة إعدادات جديدة لأجهزة الاستشعار التي تدعم قدرات التواجد البشري.
  • تسمح واجهات برمجة التطبيقات RemoteDesktop للتطبيقات بالتبديل بين سطح مكتب بعيد ومحلي.
Windows SDK ل Windows 11، الإصدار 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 تبديل t OneCoreUAP.lib كبديل.

  • تمت إزالة irprops.lib. يمكن للتطبيقات التي كانت ترتبط مقابل irprops.lib التبديل إلى bthprops.lib كبديل منسدلة.

  • تم نقل علامة ENUMServerSelection من wuapicommon.h إلى wupai.h وإزالة العنوان. إذا كنت ترغب في استخدام علامة ENUMServerSelection، فستحتاج إلى تضمين wuapi.h أو wuapi.idl.

  • تتيح لك حزمة واجهة برمجة تطبيقات Windows 10 WinRT إضافة أحدث دعم واجهات برمجة تطبيقات وقت تشغيل Windows إلى مكتبات وتطبيقات .NET Framework 4.5+ و.NET Core 3.0+. للوصول إلى حزمة واجهة برمجة تطبيقات Windows 10 WinRT، راجع حزمة nuget Microsoft.Windows.SDK.Contracts.

  • تتوافق عائلة printf من الوظائف الآن مع قواعد التقريب IEEE 754 عند طباعة أرقام الفاصلة العائمة القابلة للتمثيل بالضبط وستحترم وضع التقريب المطلوب عبر استدعاءات fesetround. يتوفر السلوك القديم عند الارتباط ب legacy_stdio_float_rounding.obj.

  • حزمة مصادقة تطبيقات Windows. تمت إضافة العديد من واجهات برمجة التطبيقات الجديدة إلى قائمة واجهات برمجة التطبيقات المدعومة في حزمة مصادقة التطبيقات ومتجر Windows. إذا كانت هناك واجهات برمجة تطبيقات في القائمة المدعومة تظهر باللون الرمادي أو معطلة في Visual Studio، يمكنك إجراء تغيير صغير على الملف المصدر، للوصول إليها. لمزيد من التفاصيل، راجع هذه المشكلة المعروفة . البحث عن مزيد من التحديثات للاختبارات.

  • تحديثات محول الرسائل البرمجي (mc.exe):

    • يكتشف الآن علامة ترتيب بايت Unicode (BOM) في ملفات .mc. إذا بدأ ملف .mc ب UTF-8 BOM، فستتم قراءته كملف UTF-8. وإلا، إذا كان يبدأ ب UTF-16LE BOM، قراءته كملف UTF-16LE. إذا تم تحديد المعلمة -u، فستتم قراءتها كملف UTF-16LE. وإلا، ستتم قراءتها باستخدام صفحة التعليمات البرمجية الحالية (CP_ACP).
    • الآن يتجنب مشاكل قاعدة تعريف واحدة (ODR) في مساعدي C/C++ ETW التي تم إنشاؤها بواسطة MC بسبب وحدات ماكرو التكوين المتعارضة (على سبيل المثال، عندما يتم ربط ملفين .cpp مع تعريفات متعارضة MCGEN_EVENTWRITETRANSFER في نفس الثنائي، سيحترم مساعدو ETW الذين تم إنشاؤهم بواسطة MC الآن تعريف MCGEN_EVENTWRITETRANSFER في كل ملف .cpp بدلا من اختيار واحد أو آخر بشكل عشوائي).
  • تحديثات Windows Trace Preprocessor (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 للأعمال والتعليم، والتي تسمح للمؤسسات بضمان أن كل تطبيق يأتي من مصدر موثوق به. راجع وثائق حول توقيع 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

    • كحل بديل، استخدم الإصدار السابق من Windows 10 SDK (النسخة 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 كلها مصنوعة من أحرف صغيرة.
    • بالنسبة إلى إصدارات Clang/LLVM ل 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 (تم إصداره في 12/16/2020)

يحتوي هذا الإصدار على الملفات التالية. إذا واجهت هذه المشكلات، نوصي بتحديث إصدار SDK في أقرب وقت ممكن لتجنبها:

  • تم حل الأعطال التي لا يمكن التنبؤ بها ويصعب تشخيصها عند ربط كل من مكتبات المظلة ومكتبات نظام التشغيل الأصلية (على سبيل المثال، onecoreuap.lib وkernel32.lib)
  • تم حل المشكلة التي منعت AppVerifier من العمل
  • تم حل المشكلة التي تسببت في فشل WACK مع "فشل المهمة في تمكين HighVersionLie"

المزيد من الموارد