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 22000.

Ανακατασκευάστε τα δυαδικά δεδομένα των Windows 11 στο ίδιο το λειτουργικό σύστημα ARM με ARM64EC, έτσι ώστε κάθε κώδικας συστήματος που φορτώνεται από εφαρμογές x64 να εκτελείται με την εγγενή ταχύτητα. Εκμεταλλευτείτε το ARM64EC για τη σταδιακή μετάβαση της εφαρμογής σας σε λειτουργία με εγγενή ταχύτητα στο ARM, ακόμα και αν έχετε εξαρτήσεις ή προσθήκες που δεν υποστηρίζουν ακόμα το ARM. Διαβάστε την ανακοίνωση.

Δείγματα

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

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

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

API Light Up

Όταν χρησιμοποιείτε νέα API, εξετάστε το ενδεχόμενο να συντάξετε την εφαρμογή σας έτσι ώστε να εκτελείται σωστά στη μεγαλύτερη δυνατή γκάμα συσκευών Windows. Μια προσαρμόσιμη εφαρμογή εμφανίζεται με νέες δυνατότητες όταν οι συσκευές και η έκδοση των Windows τις υποστηρίζει αλλά, διαφορετικά, προσφέρει μόνο τις λειτουργίες που είναι διαθέσιμες για την εντοπισμένη έκδοση πλατφόρμας. Για λεπτομέρειες υλοποίησης, ανατρέξτε στο άρθρο προσαρμοσμένου κώδικα βάσει έκδοσης.

Σημειώσεις έκδοσης και Γνωστά ζητήματα

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.
  • Το πακέτο API για Windows 10 WinRT παρέχει τη δυνατότητα προσθήκης υποστήριξης για τα πιο πρόσφατα API χρόνου εκτέλεσης των Windows στις βιβλιοθήκες και τις εφαρμογές .NET Framework 4.5+ και .NET Core 3.0+. Για να αποκτήσετε πρόσβαση στο πακέτο API για Windows 10 WinRT, ανατρέξτε στον ιστότοπο Πακέτο nuget Microsoft.Windows.SDK.Contracts.
  • Η οικογένεια συναρτήσεων printf πλέον συμμορφώνεται με τους κανόνες στρογγυλοποίησης του IEEE 754 κατά την εκτύπωση αριθμών κινητής υποδιαστολής και θα αξιοποιεί τη λειτουργία στρογγυλοποίησης που ζητείται μέσω κλήσεων στο fesetround. Η συμπεριφορά παλαιού τύπου είναι διαθέσιμη κατά τη σύνδεση με το legacy_stdio_float_rounding.obj.
  • Κιτ πιστοποίησης εφαρμογών για τα Windows. Προστέθηκαν αρκετά νέα API στη λίστα υποστηριζόμενων API στο Κιτ πιστοποίησης εφαρμογών και το Windows Store. Εάν υπάρχουν API στη λίστα υποστηριζόμενων που εμφανίζονται γκριζαρισμένα ή απενεργοποιημένα στο Visual Studio, μπορείτε να κάνετε μια μικρή αλλαγή στο αρχείο προέλευσής σας, για να αποκτήσετε πρόσβαση σε αυτά. Για περισσότερες λεπτομέρειες, ανατρέξτε σε αυτό το γνωστό ζήτημα. Εύρεση περισσότερων ενημερώσεων για δοκιμές.
  • Ενημερώσεις του Message Compiler (mc.exe):
    • Πλέον ανιχνεύει τη σήμανση σειράς byte Unicode (BOM) σε αρχεία .mc. Εάν το αρχείο .mc ξεκινάει με σήμανση σειράς byte UTF-8, θα διαβάζεται ως αρχείο UTF-8. Διαφορετικά, εάν ξεκινάει με σήμανση σειράς byte UTF-16LE, θα διαβάζεται ως αρχείο UTF-16LE. Εάν έχει καθοριστεί η παράμετρος -u, θα διαβάζεται ως αρχείο UTF-16LE. Διαφορετικά, θα διαβάζεται με χρήση της τρέχουσας κωδικοσελίδας (CP_ACP).
    • Πλέον αποφεύγει προβλήματα one-definition-rule (ODR) σε βοηθούς C/C++ ETW που δημιουργούνται από MC τα οποία προκύπτουν από μακροεντολές ρύθμισης παραμέτρων σε διένεξη (π.χ. όταν δύο αρχεία .cpp με ορισμούς του MCGEN_EVENTWRITETRANSFER σε διένεξη συνδέονται στο ίδιο δυαδικό, οι βοηθοί ETW που δημιουργούνται από MC πλέον θα ακολουθούν τον ορισμό του MCGEN_EVENTWRITETRANSFER σε κάθε .cpp αντί να επιλέγει αυθαίρετα το ένα ή το άλλο).
  • Ενημερώσεις προεπεξεργαστή ανίχνευσης των Windows (tracewpp.exe):
    • Υποστηρίζει αρχεία εισαγωγής Unicode (.ini, .tpl και πηγαίο κώδικα). Τα αρχεία εισαγωγής που ξεκινούν με σήμανση σειράς byte (BOM) UTF-8 ή UTF-16 θα διαβάζονται ως Unicode. Τα αρχεία εισαγωγής που δεν ξεκινούν με BOM θα διαβάζονται με χρήση της τρέχουσας κωδικοσελίδας (CP_ACP). Για λόγους συμβατότητας με προηγούμενες εκδόσεις, εάν καθορίζεται η παράμετρος γραμμής εντολών -UnicodeIgnore, τα αρχεία που ξεκινούν με BOM UTF-16 θα αντιμετωπίζονται ως κενά.
    • Υποστηρίζει αρχεία εξόδου Unicode (.tmh). Από προεπιλογή, τα αρχεία εξόδου θα κωδικοποιούνται με χρήση της τρέχουσας κωδικοσελίδας (CP_ACP). Για να δημιουργήσετε αρχεία εξόδου Unicode, χρησιμοποιήστε τις παραμέτρους γραμμής εντολών -cp:UTF-8 ή -cp:UTF-16.
    • Αλλαγή συμπεριφοράς: Το tracewpp πλέον μετατρέπει όλο το κείμενο εισαγωγής σε Unicode, ενώ μετατρέπει το κείμενο εξόδου στην καθορισμένη κωδικοποίηση εξόδου. Σε παλαιότερες εκδόσεις του tracewpp αποφεύγονταν οι μετατροπές Unicode και η επεξεργασία κειμένου εκτελούνταν χρησιμοποιώντας σύνολο χαρακτήρων ενός byte. Αυτό μπορεί να έχει ως αποτέλεσμα αλλαγές συμπεριφοράς σε περιπτώσεις όπου τα αρχεία εισαγωγής δεν συμμορφώνονται με την τρέχουσα κωδικοσελίδα. Σε περιπτώσεις όπου αυτό αποτελεί πρόβλημα, εξετάστε το ενδεχόμενο να μετατρέψετε τα αρχεία εισαγωγής σε 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 έχει ενημερωθεί ώστε να είναι δυνατή η καλύτερη κοινή χρήση κώδικα μεταξύ παρόμοιων συμβάντων με χρήση προτύπων variadic.
  • Υπογραφή των εφαρμογών σας. Η Υπογραφή Device Guard είναι μια δυνατότητα του Device Guard που είναι διαθέσιμη στο Microsoft Store για επιχειρήσεις και εκπαίδευση, η οποία επιτρέπει στις εταιρείες να εγγυώνται ότι κάθε εφαρμογή προέρχεται από μια αξιόπιστη προέλευση. Ανατρέξτε στην τεκμηρίωση σχετικά με την Υπογραφή Device Guard.
  • Οι κεφαλίδες SDK έχουν ενημερωθεί για να αντιμετωπίσουν σφάλματα κατά τη μεταγλώττιση με τη χρήση του προεπεξεργαστή C τυπικής συμμόρφωσης στο cl.exe του προγράμματος μεταγλώττισης MSVC (/Zc:preprocessor, που παρουσιάστηκε στο VS 2019 v16.6).
  • Διορθώθηκε: Το "GdiplusTypes.h δεν μεταγλωττίζεται με το NOMINMAX". Ανατρέξτε στα σχόλια του Visual Studio.
  • Κατά τη δημιουργία με /std:c11 ή /std:c17, τώρα έχετε:
    • C99 tgmath.h
    • C11 static_assert in 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"

Παροχή σχολίων

Για τα γνωστά ζητήματα, ανατρέξτε στις Ερωτήσεις και απαντήσεις για το winapi-sdk.

Για νέες αιτήσεις δυνατοτήτων προγραμματιστή, υποβάλετε την αίτησή σας μέσω της εφαρμογής Κέντρο σχολίων στην κατηγορία "Πλατφόρμα/API προγραμματιστών".

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

Στοιχεία λήψης και εργαλεία

Λάβετε τις πιο πρόσφατες εκδόσεις του Visual Studio και τα εργαλεία ανάπτυξης των Windows 10.

ΜΑΘΕΤΕ ΠΕΡΙΣΣΟΤΕΡΑ

Αρχειοθήκη SDK

Βρείτε προηγούμενες εκδόσεις του Window SDK και άλλα εργαλεία.

ΠΡΟΒΟΛΗ ΑΡΧΕΙΟΘΗΚΗΣ

Ιστολόγιο των Windows

Εγγραφείτε στο ιστολόγιό μας για να ενημερώνεστε σχετικά με τα πιο πρόσφατα πακέτα αξιολόγησης SDK.

ΛΗΨΗ ΝΕΩΝ ΣΧΕΤΙΚΑ ΜΕ ΤΑ ΠΑΚΕΤΑ ΑΞΙΟΛΟΓΗΣΗΣ SDK

Φύλλο δεδομένων κύκλου ζωής των Windows

Βρείτε τις κύριες ημερομηνίες για ενημερώσεις και λήξη υποστήριξης των Windows.

ΕΜΦΑΝΙΣΗ ΦΥΛΛΟΥ ΔΕΔΟΜΕΝΩΝ