Windows SDK

Το Windows SDK (10.0.26100) για Windows 11 παρέχει τις πιο πρόσφατες κεφαλίδες, βιβλιοθήκες, μετα-δεδομένα και εργαλεία για τη δημιουργία εφαρμογών των Windows. Χρησιμοποιήστε αυτό το SDK για να δημιουργήσετε εφαρμογές Universal Windows Platform (UWP) και Win32 για Windows 11, έκδοση 24H2 και προηγούμενες εκδόσεις των Windows.

Φιλοδώρημα

Windows App SDK
Το Windows App SDK παρέχει ένα ενοποιημένο σύνολο API και εργαλείων που αποσυνδέονται από το λειτουργικό σύστημα και κυκλοφορούν στους προγραμματιστές μέσω πακέτων NuGet. Αυτά τα API και εργαλεία μπορούν να χρησιμοποιηθούν με συνεπή τρόπο από οποιαδήποτε εφαρμογή υπολογιστή στα Windows 11 και downlevel στα Windows 10, έκδοση 1809.

Ξεκινώντας

Μπορείτε να λάβετε το Windows SDK με δύο τρόπους: εγκαταστήστε το από αυτή τη σελίδα επιλέγοντας τη σύνδεση λήψης ή επιλέγοντας "Windows 11 SDK (10.0.26100.0)" στα προαιρετικά στοιχεία του Προγράμματος εγκατάστασης του Visual Studio 2022. Πριν από την εγκατάσταση αυτού του 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, προτού εγκαταστήσετε το Windows SDK.

Δείγματα

Τα δείγματα εφαρμογών Windows είναι πλέον διαθέσιμα μέσω του GitHub. Μπορείτε να περιηγηθείτε στον κώδικα στο GitHub, να κλωνοποιήσετε ένα προσωπικό αντίγραφο του αποθετηρίου δεδομένων από το Git ή να κάνετε λήψη μια συμπιεστή αρχειοθήκη όλων των δειγμάτων. Είναι ευπρόσδεκτα τα σχόλια, επομένως, μην διστάσετε να ανοίξετε ένα ζήτημα στο αποθετήριο δεδομένων εάν έχετε κάποιο πρόβλημα ή μια ερώτηση. Αυτά τα δείγματα έχουν σχεδιαστεί για εκτέλεση σε υπολογιστές, κινητές συσκευές και μελλοντικές συσκευές που υποστηρίζουν την Universal Windows Platform (UWP).

Προηγούμενες εκδόσεις του SDK

Μπορείτε να βρείτε τα SDK και τους προσομοιωτές που κυκλοφόρησαν προηγουμένως, συμπεριλαμβανομένων των λεπτομερειών ενημέρωσης, στη σελίδα αρχειοθήκης.

Το API ανάβει

Όταν χρησιμοποιείτε νέα 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, που αντιστοιχεί με τα 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, Δομή 10.0.22621.1778

Ενημέρωση 10.0.22621.1778. Οι δυνατότητες που επισημαίνονται περιλαμβάνουν:

  • Τα API windowTabManager επιτρέπουν σε εφαρμογές με διασυνδέσεις με καρτέλες να παρέχουν πληροφορίες για ανοιχτές καρτέλες στο κέλυφος των Windows.
  • Ενημερώσεις για τα API ανθρώπινης προεπισκόπησης για τη βελτίωση της ευκολίας χρήσης και την προσθήκη νέων ρυθμίσεων για αισθητήρες που υποστηρίζουν δυνατότητες ανθρώπινης παρουσίας.
  • Τα API 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 μπορούν να κάνουν εναλλαγή στο OneCoreUAP.lib ως αντικατάσταση.

  • Καταργήθηκε το irprops.lib. Οι εφαρμογές που συνδέονταν με το irprops.lib μπορούν να μεταβούν σε bthprops.lib ως αντικατάσταση αναπτυσσόμενης λίστας.

  • Μετακινήσαμε την ετικέτα ENUMServerSelection από το wuapicommon.h στο wupai.h και καταργήσαμε την κεφαλίδα. Εάν θέλετε να χρησιμοποιήσετε την ετικέτα ENUMServerSelection, θα πρέπει να συμπεριλάβετε το wuapi.h ή το wuapi.idl.

  • Το πακέτο API Windows 10 WinRT σάς επιτρέπει να προσθέσετε την πιο πρόσφατη υποστήριξη API χρόνου εκτέλεσης των Windows στις βιβλιοθήκες και τις εφαρμογές σας .NET Framework 4.5+ και .NET Core 3.0+. Για να αποκτήσετε πρόσβαση στο πακέτο API Windows 10 WinRT, ανατρέξτε στο πακέτου nuget Microsoft.Windows.SDK.Contracts.

  • Η οικογένεια εκτυπωμένων συναρτήσεων συμμορφώνεται τώρα με τους κανόνες στρογγυλοποιήσεων IEEE 754 κατά την εκτύπωση αριθμών κινητής υποδιαστολής με δυνατότητα εκτύπωσης και θα υποστηρίζει τη λειτουργία στρογγυλοποίηση που ζητείται μέσω κλήσεων προς fesetround. Η συμπεριφορά παλαιού τύπου είναι διαθέσιμη κατά τη σύνδεση με legacy_stdio_float_rounding.obj.

  • Κιτ πιστοποίησης εφαρμογών Windows. Πολλά νέα API προστέθηκαν στη λίστα υποστηριζόμενων API στο Κιτ πιστοποίησης εφαρμογής και το Windows Store. Εάν υπάρχουν API στη λίστα υποστηριζόμενων που εμφανίζονται απενεργοποιημένα ή απενεργοποιημένα στο Visual Studio, μπορείτε να κάνετε μια μικρή αλλαγή στο αρχείο προέλευσής σας, για να αποκτήσετε πρόσβαση σε αυτά. Για περισσότερες λεπτομέρειες, ανατρέξτε σε αυτό το γνωστό ζήτημα. Βρείτε περισσότερες ενημερώσεις για δοκιμές.

  • Ενημερώσεις προγράμματος μεταγλώττισης μηνυμάτων (mc.exe):

    • Τώρα εντοπίζει το σημάδι σειράς byte Unicode (BOM) σε αρχεία .mc. Εάν το αρχείο .mc ξεκινά με bom UTF-8, θα διαβαστεί ως αρχείο UTF-8. Διαφορετικά, εάν ξεκινά με BOM UTF-16LE, θα διαβαστεί ως αρχείο UTF-16LE. Εάν έχει καθοριστεί η παράμετρος -u, θα διαβαστεί ως αρχείο UTF-16LE. Διαφορετικά, θα διαβαστεί χρησιμοποιώντας την τρέχουσα σελίδα κώδικα (CP_ACP).
    • Τώρα αποφεύγεται τα προβλήματα ενός κανόνα-ορισμού (ODR) στους βοηθούς C/C++ ETW που δημιουργούνται από MC που προκαλούνται από μακροεντολές ρύθμισης παραμέτρων που βρίσκονται σε διένεξη (π.χ. όταν δύο αρχεία .cpp με ορισμούς που βρίσκονται σε διένεξη με MCGEN_EVENTWRITETRANSFER συνδέονται με το ίδιο δυαδικό, οι βοηθοί ETW που δημιουργούνται από τη MC θα τηρούν τώρα τον ορισμό των MCGEN_EVENTWRITETRANSFER σε κάθε αρχείο .cpp αντί να επιλέγουν αυθαίρετα τη μία ή την άλλη).
  • Ενημερώσεις προεπεξεργαστή ανίχνευσης των Windows (tracewpp.exe):

    • Υποστηρίζει αρχεία εισόδου Unicode (.ini, .tpl και πηγαίο κώδικα). Τα αρχεία εισόδου που ξεκινούν με ένα σημάδι σειράς byte 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 και εκτελούσαν επεξεργασία κειμένου υποθέτοντας ένα σύνολο χαρακτήρων μονού byte. Αυτό μπορεί να οδηγήσει σε αλλαγές συμπεριφοράς σε περιπτώσεις όπου τα αρχεία εισόδου δεν συμμορφώνονται με την τρέχουσα σελίδα κώδικα. Σε περιπτώσεις όπου αυτό είναι πρόβλημα, εξετάστε το ενδεχόμενο να μετατρέψετε τα αρχεία εισόδου σε UTF-8 (με BOM) ή/και να χρησιμοποιήσετε την παράμετρο γραμμής εντολών -cp:UTF-8 για να αποφύγετε ασάφεια κωδικοποίησης.
  • Ενημερώσεις TraceLoggingProvider.h:

    • Αποφεύγει προβλήματα ενός κανόνα-ορισμού (ODR) που προκαλούνται από μακροεντολές ρύθμισης παραμέτρων σε διένεξη (π.χ. όταν δύο αρχεία .cpp με ορισμούς TLG_EVENT_WRITE_TRANSFER που βρίσκονται σε διένεξη συνδέονται με τον ίδιο δυαδικό, οι βοηθητικοί χρήστες του TraceLoggingProvider.h θα τηρούν τώρα τον ορισμό των TLG_EVENT_WRITE_TRANSFER σε κάθε αρχείο .cpp αντί να επιλέγουν αυθαίρετα τη μία ή την άλλη).
    • Στον κώδικα C++, η μακροεντολή TraceLoggingWrite έχει ενημερωθεί για να επιτρέπει την καλύτερη κοινή χρήση κώδικα μεταξύ παρόμοιων συμβάντων, χρησιμοποιώντας ποικίλα πρότυπα.
  • Υπογραφή των εφαρμογών σας. Η υπογραφή Device Guard είναι μια δυνατότητα Device Guard που είναι διαθέσιμη στο Microsoft Store για επιχειρήσεις και εκπαιδευτικά ιδρύματα, η οποία επιτρέπει στις επιχειρήσεις να εγγυώνται ότι κάθε εφαρμογή προέρχεται από μια αξιόπιστη προέλευση. Ανατρέξτε στην τεκμηρίωση σχετικά μευπογραφής φρουράς συσκευών .

  • Οι κεφαλίδες SDK έχουν ενημερωθεί για την αντιμετώπιση σφαλμάτων κατά τη μεταγλώττιση χρησιμοποιώντας τον προεπεξεργαστή C τυπικής συμμόρφωσης στο πρόγραμμα μεταγλώττισης MSVC cl.exe (/Zc:προεπεξεργασία, που παρουσιάστηκε στο 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 (κυκλοφόρησε στις 16/12/2020)

Αυτή η έκδοση περιέχει τα ακόλουθα αρχεία. Εάν αντιμετωπίσετε αυτά τα προβλήματα, συνιστούμε να ενημερώσετε την έκδοση του SDK σας το συντομότερο δυνατό για να τα αποφύγετε:

  • Επιλύθηκε απρόβλεπτα και δύσκολο να διαγνώσει συντριβές κατά τη σύνδεση βιβλιοθηκών ομπρέλας και εγγενών βιβλιοθηκών λειτουργικού συστήματος (για παράδειγμα, onecoreuap.lib και kernel32.lib)
  • Επιλύθηκε ένα ζήτημα που απέτρεψε τη λειτουργία του AppVerifier
  • Επιλύθηκε ένα ζήτημα που προκάλεσε αποτυχία του WACK με την επιλογή "Η εργασία απέτυχε για να ενεργοποιηθεί η HighVersionLie"

Περισσότεροι πόροι