Windows 10 SDK Önizleme Yapısı 18956 şimdi kullanılabilir!
Bugün, Windows 10 Insider Preview (Build 18956 veya üzeri) ile birlikte kullanılmak üzere SDK'nın yeni bir Windows 10 Önizleme Derlemesini yayınladık. Preview SDK Yapı 18956 hata düzeltmeleri ve API yüzey alanında geliştirme değişiklikleri içerir.
Önizleme SDK'sını indirebilirsiniz Windows Insider 'daki geliştirici bölümünden.
Bilinen sorunlarla ilgili geri bildirim ve güncellemeler için lütfen geliştirici forumuna bakın. Yeni geliştirici özelliği istekleri için Windows Platform UserVoice'umuza gidin.
Dikkat etmesi gerekenler:
- Bu yapı, daha önce piyasaya sürülen SDK'lar ve Visual Studio 2017 ve 2019 ile birlikte çalışır. Bu SDK'yı yükleyebilir ve windows 10 yapı 1903 veya önceki bir sürümünü hedefleyen uygulamalarınızı Microsoft Store'a göndermeye devam edebilirsiniz.
- Windows SDK artık yalnızca Visual Studio 2017 ve sonraki bir şirket tarafından resmi olarak desteklenecektir. Visual Studio 2019'a buradanindirebilirsiniz.
- Windows SDK'nın bu yapısı yalnızca Windows 10 Insider Preview yapılarına yüklenir.
- SDK'ya komut dosyası erişimine yardımcı olmak için, ISO'ya aşağıdaki statik URL üzerinden de erişebilecektir: https://software-download.microsoft.com/download/sg/Windows_InsiderPreview_SDK_en-us_18956_1.iso.
Araçlar Güncelleştirmeleri
İleti Derleyicisi (mc.exe)
- Şimdi .mc dosyalarında Unicode bayt sipariş işaretini (BOM) algılar. .mc dosyası utf-8 ürün reçetesi ile başlarsa, UTF-8 dosyası olarak okunur. Aksi takdirde, utf-16le ürün reçetesi ile başlarsa, utf-16le dosyası olarak okunur. -u parametresi belirtilmişse, UTF-16LE dosyası olarak okunur. Aksi takdirde, geçerli kod sayfası (CP_ACP) kullanılarak okunur.
- Artık mc tarafından oluşturulan C/C++ ETW yardımcılarında çakışan yapılandırma makrolarının neden olduğu tek tanımlı kural (ODR) sorunlarından kaçınır (örneğin, MCGEN_EVENTWRITETRANSFER çakışan tanımlarına sahip iki .cpp dosya aynı ikiliye bağlandığında, MC tarafından oluşturulan ETW yardımcıları artık birini veya diğerini seçmek yerine her .cpp dosyasındaki MCGEN_EVENTWRITETRANSFER tanımına saygı gösterecektir).
Windows İzleme Ön İşlemcisi (tracewpp.exe)
- Artık Unicode giriş (.ini, .tpl ve kaynak kodu) dosyalarını destekler. UTF-8 veya UTF-16 bayt sipariş işareti (BOM) ile başlayan giriş dosyaları Unicode olarak okunacak. Ürün reçetesiyle başlamayan giriş dosyaları geçerli kod sayfası (CP_ACP) kullanılarak okunacak. Geriye dönük uyumluluk için, -UnicodeIgnore komut satırı parametresi belirtilirse, UTF-16 ürün reçetesiyle başlayan dosyalar boş olarak kabul edilir.
- Artık Unicode çıktı (.tmh) dosyalarını destekler. Varsayılan olarak, çıktı dosyaları geçerli kod sayfası (CP_ACP) kullanılarak kodlanır. Unicode çıktı dosyaları oluşturmak için -cp:UTF-8 veya -cp:UTF-16 komut satırı parametrelerini kullanın.
- Davranış değişikliği: tracewpp artık tüm giriş metnini Unicode'a dönüştürür, Unicode'da işleme gerçekleştirir ve çıktı metnini belirtilen çıktı kodlamasına dönüştürür. Tracewpp'in önceki sürümleri Unicode dönüştürmelerini önledi ve tek baytlık bir karakter kümesi varsayarak metin işleme gerçekleştirdi. Bu, giriş dosyalarının geçerli kod sayfasına uymadığı durumlarda davranış değişikliklerine neden olabilir. Bunun bir sorun olduğu durumlarda, giriş dosyalarını UTF-8'e (ürün reçetesiyle) dönüştürmeyi ve/veya kodlama belirsizliğini önlemek için -cp:UTF-8 komut satırı parametresini kullanmayı düşünün.
TraceLoggingProvider.h
- Artık çakışan yapılandırma makrolarının neden olduğu tek tanımlı kural (ODR) sorunlarından kaçınır (örneğin, TLG_EVENT_WRITE_TRANSFER çakışan tanımlarına sahip iki .cpp dosya aynı ikiliye bağlandığında, TraceLoggingProvider.h yardımcıları artık birini veya diğerini seçmek yerine her .cpp dosyasındaki TLG_EVENT_WRITE_TRANSFER tanımına saygı gösterecektir).
- C++ kodunda TraceLoggingWrite makrosu, variadik şablonlar kullanılarak benzer olaylar arasında daha iyi kod paylaşımını sağlamak için güncelleştirildi.
Device Guard İmzalama ile uygulamalarınızı imzalama
- Uygulamanızı imzalamanızı kolaylaştırıyoruz. Device Guard imzalama, microsoft Store for Business and Education'da bulunan bir Device Guard özelliğidir. İmzalama, kuruluşların her uygulamanın güvenilir bir kaynaktan geldiğini garanti etmesine olanak tanır. Amacımız MSIX paketinizi imzalamayı kolaylaştırmaktır. Cihaz Koruma İmzalama belgelerine buradan ulaşabilirsiniz: https://docs.microsoft.com/en-us/windows/msix/package/signing-package-device-guard-signing
Son Değişiklikler
IRPROPS'nin kaldırılması. LİB
Bu sürümde irprops.lib, Windows SDK'dan kaldırılmıştır. irprops.lib'e karşı bağlanan uygulamalar, açılan bir yedek olarak bthprops.lib'e geçebilir.API Güncellemeleri, Eklemeler ve Kaldırmalar
Aşağıdaki API'ler, Windows 10 SDK, sürüm 1903, yapı 18362'nin piyasaya sürülmesinden bu yana platforma eklenmiştir.Ekleme:
[kod lang="csharp"]namespace Windows.AI.MachineLearning {
public sealed class LearningModelSessionOptions {
bool CloseModelOnSessionCreation { get; set; }
}
}
namespace Windows.ApplicationModel {
public sealed class Package {
bool IsStub { get; }
}
}
namespace Windows.ApplicationModel.DataTransfer {
public sealed class DataPackage {
event TypedEventHandler<DataPackage, object> ShareCanceled;
}
}
namespace Windows.Devices.Input {
public sealed class PenButtonListener
public sealed class PenDockedEventArgs
public sealed class PenDockListener
public sealed class PenTailButtonClickedEventArgs
public sealed class PenTailButtonDoubleClickedEventArgs
public sealed class PenTailButtonLongPressedEventArgs
public sealed class PenUndockedEventArgs
}
namespace Windows.Devices.Sensors {
public sealed class Accelerometer {
AccelerometerDataThreshold ReportThreshold { get; }
}
public sealed class AccelerometerDataThreshold
public sealed class Barometer {
BarometerDataThreshold ReportThreshold { get; }
}
public sealed class BarometerDataThreshold
public sealed class Compass {
CompassDataThreshold ReportThreshold { get; }
}
public sealed class CompassDataThreshold
public sealed class Gyrometer {
GyrometerDataThreshold ReportThreshold { get; }
}
public sealed class GyrometerDataThreshold
public sealed class Inclinometer {
InclinometerDataThreshold ReportThreshold { get; }
}
public sealed class InclinometerDataThreshold
public sealed class LightSensor {
LightSensorDataThreshold ReportThreshold { get; }
}
public sealed class LightSensorDataThreshold
public sealed class Magnetometer {
MagnetometerDataThreshold ReportThreshold { get; }
}
public sealed class MagnetometerDataThreshold
}
namespace Windows.Foundation.Metadata {
public sealed class AttributeNameAttribute : Attribute
public sealed class FastAbiAttribute : Attribute
public sealed class NoExceptionAttribute : Attribute
}
namespace Windows.Globalization {
public sealed class Language {
string AbbreviatedName { get; }
public static IVector<string> GetMuiCompatibleLanguageListFromLanguageTags(IIterable<string> languageTags);
}
}
namespace Windows.Graphics.Capture {
public sealed class GraphicsCaptureSession : IClosable {
bool IsCursorCaptureEnabled { get; set; }
}
}
namespace Windows.Graphics.DirectX {
public enum DirectXPixelFormat {
SamplerFeedbackMinMipOpaque = 189,
SamplerFeedbackMipRegionUsedOpaque = 190,
}
}
namespace Windows.Management.Deployment {
public sealed class AddPackageOptions
public enum DeploymentOptions : uint {
StageInPlace = (uint)4194304,
}
public enum InstallStubOption
public sealed class PackageManager {
IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress> AddPackageByUriAsync(Uri packageUri, AddPackageOptions options);
IIterable<Package> FindProvisionedPackages();
bool GetPackageStubPreference(string packageFamilyName);
IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress> RegisterPackageByUriAsync(Uri manifestUri, RegisterPackageOptions options);
IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress> RegisterPackagesByFullNameAsync(IIterable<string> packageFullNames, DeploymentOptions deploymentOptions);
void SetPackageStubPreference(string packageFamilyName, bool useStub);
IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress> StagePackageByUriAsync(Uri packageUri, StagePackageOptions options);
}
public enum PackageTypes : uint {
All = (uint)4294967295,
}
public sealed class RegisterPackageOptions
public enum RemovalOptions : uint {
PreserveRoamableApplicationData = (uint)128,
}
public sealed class StagePackageOptions
}
namespace Windows.Media.Audio {
public sealed class AudioPlaybackConnection : IClosable
public sealed class AudioPlaybackConnectionOpenResult
public enum AudioPlaybackConnectionOpenResultStatus
public enum AudioPlaybackConnectionState
}
namespace Windows.Media.Capture {
public sealed class MediaCapture : IClosable {
MediaCaptureRelativePanelWatcher CreateRelativePanelWatcher(StreamingCaptureMode captureMode, DisplayRegion displayRegion);
}
public sealed class MediaCaptureInitializationSettings {
Uri DeviceUri { get; set; }
PasswordCredential DeviceUriPasswordCredential { get; set; }
}
public sealed class MediaCaptureRelativePanelWatcher : IClosable
}
namespace Windows.Media.Capture.Frames {
public sealed class MediaFrameSourceInfo {
Panel GetRelativePanel(DisplayRegion displayRegion);
}
}
namespace Windows.Media.Devices {
public sealed class PanelBasedOptimizationControl
}
namespace Windows.Media.MediaProperties {
public static class MediaEncodingSubtypes {
public static string Pgs { get; }
public static string Srt { get; }
public static string Ssa { get; }
public static string VobSub { get; }
}
public sealed class TimedMetadataEncodingProperties : IMediaEncodingProperties {
public static TimedMetadataEncodingProperties CreatePgs();
public static TimedMetadataEncodingProperties CreateSrt();
public static TimedMetadataEncodingProperties CreateSsa(byte[] formatUserData);
public static TimedMetadataEncodingProperties CreateVobSub(byte[] formatUserData);
}
}
namespace Windows.Networking.BackgroundTransfer {
public sealed class DownloadOperation : IBackgroundTransferOperation, IBackgroundTransferOperationPriority {
void RemoveRequestHeader(string headerName);
void SetRequestHeader(string headerName, string headerValue);
}
public sealed class UploadOperation : IBackgroundTransferOperation, IBackgroundTransferOperationPriority {
void RemoveRequestHeader(string headerName);
void SetRequestHeader(string headerName, string headerValue);
}
}
namespace Windows.Networking.NetworkOperators {
public interface INetworkOperatorTetheringAccessPointConfiguration2
public interface INetworkOperatorTetheringManagerStatics4
public sealed class NetworkOperatorTetheringAccessPointConfiguration : INetworkOperatorTetheringAccessPointConfiguration2 {
TetheringWiFiBand Band { get; set; }
bool IsBandSupported(TetheringWiFiBand band);
IAsyncOperation<bool> IsBandSupportedAsync(TetheringWiFiBand band);
}
public sealed class NetworkOperatorTetheringManager {
public static void DisableTimeout(TetheringTimeoutKind timeoutKind);
public static IAsyncAction DisableTimeoutAsync(TetheringTimeoutKind timeoutKind);
public static void EnableTimeout(TetheringTimeoutKind timeoutKind);
public static IAsyncAction EnableTimeoutAsync(TetheringTimeoutKind timeoutKind);
public static bool IsTimeoutEnabled(TetheringTimeoutKind timeoutKind);
public static IAsyncOperation<bool> IsTimeoutEnabledAsync(TetheringTimeoutKind timeoutKind);
}
public enum TetheringTimeoutKind
public enum TetheringWiFiBand
}
namespace Windows.Security.Authentication.Web.Core {
public sealed class WebAccountMonitor {
event TypedEventHandler<WebAccountMonitor, WebAccountEventArgs> AccountPictureUpdated;
}
}
namespace Windows.Storage {
public sealed class StorageFile : IInputStreamReference, IRandomAccessStreamReference, IStorageFile, IStorageFile2, IStorageFilePropertiesWithAvailability, IStorageItem, IStorageItem2, IStorageItemProperties, IStorageItemProperties2, IStorageItemPropertiesWithProvider {
public static IAsyncOperation<StorageFile> GetFileFromPathForUserAsync(User user, string path);
}
public sealed class StorageFolder : IStorageFolder, IStorageFolder2, IStorageFolderQueryOperations, IStorageItem, IStorageItem2, IStorageItemProperties, IStorageItemProperties2, IStorageItemPropertiesWithProvider {
public static IAsyncOperation<StorageFolder> GetFolderFromPathForUserAsync(User user, string path);
}
}
namespace Windows.Storage.Provider {
public static class StorageProviderSyncRootManager {
public static bool IsSupported();
}
}
namespace Windows.System {
public sealed class UserChangedEventArgs {
IVectorView<UserWatcherUpdateKind> ChangedPropertyKinds { get; }
}
public enum UserWatcherUpdateKind
}
namespace Windows.UI.Composition.Interactions {
public sealed class InteractionTracker : CompositionObject {
int TryUpdatePosition(Vector3 value, InteractionTrackerClampingOption option, InteractionTrackerPositionUpdateOption posUpdateOption);
}
public enum InteractionTrackerPositionUpdateOption
}
namespace Windows.UI.Composition.Particles {
public sealed class ParticleAttractor : CompositionObject
public sealed class ParticleAttractorCollection : CompositionObject, IIterable<ParticleAttractor>, IVector<ParticleAttractor>
public class ParticleBaseBehavior : CompositionObject
public sealed class ParticleBehaviors : CompositionObject
public sealed class ParticleColorBehavior : ParticleBaseBehavior
public struct ParticleColorBinding
public sealed class ParticleColorBindingCollection : CompositionObject, IIterable<IKeyValuePair<float, ParticleColorBinding>>, IMap<float, ParticleColorBinding>
public enum ParticleEmitFrom
public sealed class ParticleEmitterVisual : ContainerVisual
public sealed class ParticleGenerator : CompositionObject
public enum ParticleInputSource
public enum ParticleReferenceFrame
public sealed class ParticleScalarBehavior : ParticleBaseBehavior
public struct ParticleScalarBinding
public sealed class ParticleScalarBindingCollection : CompositionObject, IIterable<IKeyValuePair<float, ParticleScalarBinding>>, IMap<float, ParticleScalarBinding>
public enum ParticleSortMode
public sealed class ParticleVector2Behavior : ParticleBaseBehavior
public struct ParticleVector2Binding
public sealed class ParticleVector2BindingCollection : CompositionObject, IIterable<IKeyValuePair<float, ParticleVector2Binding>>, IMap<float, ParticleVector2Binding>
public sealed class ParticleVector3Behavior : ParticleBaseBehavior
public struct ParticleVector3Binding
public sealed class ParticleVector3BindingCollection : CompositionObject, IIterable<IKeyValuePair<float, ParticleVector3Binding>>, IMap<float, ParticleVector3Binding>
public sealed class ParticleVector4Behavior : ParticleBaseBehavior
public struct ParticleVector4Binding
public sealed class ParticleVector4BindingCollection : CompositionObject, IIterable<IKeyValuePair<float, ParticleVector4Binding>>, IMap<float, ParticleVector4Binding>
}
namespace Windows.UI.Input {
public sealed class CrossSlidingEventArgs {
uint ContactCount { get; }
}
public sealed class DraggingEventArgs {
uint ContactCount { get; }
}
public sealed class GestureRecognizer {
uint HoldMaxContactCount { get; set; }
uint HoldMinContactCount { get; set; }
float HoldRadius { get; set; }
TimeSpan HoldStartDelay { get; set; }
uint TapMaxContactCount { get; set; }
uint TapMinContactCount { get; set; }
uint TranslationMaxContactCount { get; set; }
uint TranslationMinContactCount { get; set; }
}
public sealed class HoldingEventArgs {
uint ContactCount { get; }
uint CurrentContactCount { get; }
}
public sealed class ManipulationCompletedEventArgs {
uint ContactCount { get; }
uint CurrentContactCount { get; }
}
public sealed class ManipulationInertiaStartingEventArgs {
uint ContactCount { get; }
}
public sealed class ManipulationStartedEventArgs {
uint ContactCount { get; }
}
public sealed class ManipulationUpdatedEventArgs {
uint ContactCount { get; }
uint CurrentContactCount { get; }
}
public sealed class RightTappedEventArgs {
uint ContactCount { get; }
}
public sealed class SystemButtonEventController : AttachableInputObject
public sealed class SystemFunctionButtonEventArgs
public sealed class SystemFunctionLockChangedEventArgs
public sealed class SystemFunctionLockIndicatorChangedEventArgs
public sealed class TappedEventArgs {
uint ContactCount { get; }
}
}
namespace Windows.UI.Input.Inking {
public sealed class InkModelerAttributes {
bool UseVelocityBasedPressure { get; set; }
}
}
namespace Windows.UI.Text.Core {
public sealed class CoreTextServicesManager {
public static TextCompositionKind TextCompositionKind { get; }
}
public enum TextCompositionKind
}
namespace Windows.UI.ViewManagement {
public sealed class ApplicationView {
bool CriticalInputMismatch { get; set; }
ScreenCaptureDisabledBehavior ScreenCaptureDisabledBehavior { get; set; }
bool TemporaryInputMismatch { get; set; }
void ApplyApplicationUserModelID(string value);
}
public enum ApplicationViewMode {
Spanning = 2,
}
public enum ScreenCaptureDisabledBehavior
public sealed class UISettings {
event TypedEventHandler<UISettings, UISettingsAnimationsEnabledChangedEventArgs> AnimationsEnabledChanged;
event TypedEventHandler<UISettings, UISettingsMessageDurationChangedEventArgs> MessageDurationChanged;
}
public sealed class UISettingsAnimationsEnabledChangedEventArgs
public sealed class UISettingsMessageDurationChangedEventArgs
}
namespace Windows.UI.ViewManagement.Core {
public sealed class CoreInputView {
event TypedEventHandler<CoreInputView, CoreInputViewHidingEventArgs> PrimaryViewHiding;
event TypedEventHandler<CoreInputView, CoreInputViewShowingEventArgs> PrimaryViewShowing;
}
public sealed class CoreInputViewHidingEventArgs
public enum CoreInputViewKind {
Symbols = 4,
}
public sealed class CoreInputViewShowingEventArgs
public sealed class UISettingsController
}
namespace Windows.UI.WindowManagement {
public sealed class AppWindow {
void SetPreferredTopMost();
void SetRelativeZOrderBeneath(AppWindow appWindow);
}
public sealed class AppWindowChangedEventArgs {
bool DidOffsetChange { get; }
}
public enum AppWindowPresentationKind {
Snapped = 5,
Spanning = 4,
}
public sealed class SnappedPresentationConfiguration : AppWindowPresentationConfiguration
public sealed class SpanningPresentationConfiguration : AppWindowPresentationConfiguration
}
namespace Windows.UI.Xaml.Controls {
public class HandwritingView : Control {
UIElement HostUIElement { get; set; }
public static DependencyProperty HostUIElementProperty { get; }
CoreInputDeviceTypes InputDeviceTypes { get; set; }
bool IsSwitchToKeyboardButtonVisible { get; set; }
public static DependencyProperty IsSwitchToKeyboardButtonVisibleProperty { get; }
double MinimumColorDifference { get; set; }
public static DependencyProperty MinimumColorDifferenceProperty { get; }
bool PreventAutomaticDismissal { get; set; }
public static DependencyProperty PreventAutomaticDismissalProperty { get; }
bool ShouldInjectEnterKey { get; set; }
public static DependencyProperty ShouldInjectEnterKeyProperty { get; }
event TypedEventHandler<HandwritingView, HandwritingViewCandidatesChangedEventArgs> CandidatesChanged;
event TypedEventHandler<HandwritingView, HandwritingViewContentSizeChangingEventArgs> ContentSizeChanging;
void SelectCandidate(uint index);
void SetTrayDisplayMode(HandwritingViewTrayDisplayMode displayMode);
}
public sealed class HandwritingViewCandidatesChangedEventArgs
public sealed class HandwritingViewContentSizeChangingEventArgs
public enum HandwritingViewTrayDisplayMode
}
namespace Windows.UI.Xaml.Core.Direct {
public enum XamlEventIndex {