Firstly, the preview SDK contains bug fixes and changes to API surface area. A number of changes have come to the C/C++ ETW code generation of mc.exe, with the -mof parameter becoming depreciated. If the -mof generator isn't used, the C/C++ header is compatible with kernel mode and user mode, regardless of the use of -km or -um.
It does so by using the _ETW_KM_ macro to determine which mode it's being compiled for and then pulling it the appropriate APIs. Other changes include:
- “The generated header now supports several customization macros. For example, you can set the MCGEN_EVENTWRITETRANSFER macro if you need the generated macros to call something other than EventWriteTransfer.
- The manifest supports new attributes.
- Event ‘name': non-localized event name.
- Event ‘attributes': additional key-value metadata for an event such as filename, line number, component name, function name.
- Event ‘tags': 28-bit value with user-defined semantics (per-event).
- Field ‘tags': 28-bit value with user-defined semantics (per-field – can be applied to ‘data'or ‘struct' elements).
- You can now define ‘provider traits' in the manifest (e.g. provider group). If provider traits are used in the manifest, the EventRegister[ProviderName] macro will automatically register them.
- MC will now report an error if a localized message file is missing a string. (Previously MC would silently generate a corrupt message resource.)
- MC can now generate Unicode (utf-8 or utf-16) output with the ‘-cp utf-8′ or ‘-cp utf-16′ parameters.”
Unfortunately, Microsoft hasn't included Windows.System.SystemManagement in this build. You'll have to use a previous Windows IoT extension SDK to gain access a number of APIs. The full list is available here.
Windows Server 2019 Build 17666 Changes
The Windows Server 2019 build is available primarily for users to test and give feedback to Microsoft. However, it does include some new features, such as performance history for Storage Space Direct and an option to delimit volume allocation.
The ISO is available in 18 languages, with a VHDX format in English only. The build requires activation keys during setup, which you can find on the Windows blog. They allow for unlimited activations.
Again, there are some known issues, which is to be expected at this point. The size of a file according to NTFS and a stream control block can be different to what Cache Manager assumes. This can cause bug checks if a read operation is out of bounds.
You should also be aware of the following:
- “Inplace OS upgrade: Domain Controllers. During an in-place OS upgrade, Active Directory (AD) Domain Controllers (DC) might not be upgraded correctly. So, back up any AD DCs before performing an in-place OS upgrade.
- Editing or creating policies for AppLocker can cause the MMC snap-in to crash when generated rules for a packaged app.
- After upgrading the operating system, the AppX database may have corrupted entries, which causes problems for components that use those entries.”