Home > Programming > Changes in the Windows 10 SDK compared to Windows 8.1 (Part Two)

Changes in the Windows 10 SDK compared to Windows 8.1 (Part Two)

May 24, 2015

This is a follow up to the first part of my blog post which compares the Windows 10 SDK to Windows 8.1

This section part will concentrate on the “um” folder differences.

Ok, let’s dive into the changes:

· “um\alljoyn” and “um\qcc” folders: Seems to be a set of header files related to Windows support for IoT. See http://en.wikipedia.org/wiki/AllJoyn for further details

· A lot of the header files have been updated to keep up to date with the latest SAL annotation improvements and to suppress compiler warnings. Also some of the headers have references to the new Partitions concept

· activedbg.h/idl: New BREAKREASON_MUTATION_BREAKPOINT enum value which refers to a new Mutation Breakpoint? and DEBUG_TEXT_ISNONUSERCODE define which indicates script is not a user code, such as library/tools code.

· activedbg100.h/idl: New enums and two new interfaces of IScriptInvocationContext, and IDebugStackFrame110

· activprof.h/idl: New enums and structs

· ActivScp.h/idl: New SCRIPTTEXT_ISNONUSERCODE enum

· Alink.h: Header file has been removed. It defined a number of COM interfaces to support .NET and has been moved rather than deleted

· Amsi.h/idl: New header file which supports Windows 10 AntiMalware Scan Interface functionality

· asmparse.grammer: Header file has been removed

· Audioclient.h/idl: New enums and new IAudioClient3 interface

· audioenginebaseapo.h/idl: New APO_FLAG_MIXER enum value

· AudioEngineEndpoint.h: New enums, new IAudioEndpointReleaseBufferControl interface and new DEVPKEY_AudioEndpointPlugin_* PROPERTYKEY defines

· AudioSessionType.h: Quite a few new AudioCategories. Various AudioCategories have been deprecated

· aviriff.h: New TIMECODE_SAMPLE structure

· bemapiset.h: Header file has been removed.

· BitsMsg.h: New Message Ids for BITS

· Bthledef.h: Value for GUID_BLUETOOTHLE_DEVICE_INTERFACE has changed

· cellularapi_oem.h\idl: New header file which supports Cellular COM API even though it is deprecated in Windows 10. This is probably new because of integration between Windows 10 and Windows 10 Mobile.

· CertCli.h: Various new CR_* and FR_* defines

· Certenroll.h: New XCN_CRYPT_STRING_*, XCN_NCRYPT_UI_*, XCN_CERT_* values some of which are to support new features in Windows Biometrics in Windows 10 such as the new face detection authentication mechanisms. New X509HardwareKeyUsageFlags, X509KeyParametersExportType, KeyAttestationClaimType, X509SCEPProcessMessageFlags, DelayRetryAction & ImportPFXFlags enums. New IX509PrivateKey2, IX509CertificateRequestPkcs10V4, ICertificateAttestationChallenge2, IX509SCEPEnrollment2, & IX509SCEPEnrollmentHelper interfaces. New ImportPFXToProviderFreeData API

· CertPol.h: New enum values

· CertSrv.h: New versioning defines for Windows 10 aka Threshold. New wszINFKEY*, wszPROP* & wszREG* defines

· Cfgmgr32.h: New CM_DISABLE_*, CM_SETUP_* defines.

· chakrart.h: New header file to allow the Microsoft Javascript engine called Chakra to be hosted by client applications other than Internet Explorer. This applies to both Windows 8.1 IE 11 and Windows Edge versions of JavaScript. See http://blogs.windows.com/msedgedev/2015/05/18/using-chakra-for-scripting-applications-across-windows-10/ for further information.

· clrdata.h/idl: Another header file which has been removed which supports .NET

· ClusApi.h: Has been reworked quite a bit to support new clustering functionality in Windows 10 / Windows 2016.

· codecapi.h: Various new STATIC_CODECAPI_* and DEFINE_CODECAPI_GUID defines. Various other new enums.

· combaseapi.h: A new REGCLA value called REGCLS_AGILE.

· coml2api.h: New header file which has been refactored from the existing storage.h and objbase.h header files.

· CompPkgSup.h: New RegisterServerForPMP, UnregisterServerForPMP & GetServerForPMP APIs. This seems to be new Windows 10 function to allow COM components to take part in Protect Media Path.

· cor.h, cordebug.h/idl, CorError.h, CorHdr.h, corhlpr.h, corprof.h/idl, corpub.h/idl & corsym.h/idl: All of these header files have been removed. They are all the native mode COM interface to .NET.

· credentialprovider.h/idl: New ICredentialProviderCredential3, ICredentialProviderCredentialEvents3 & ICredentialProviderUserArray2 interfaces. Part of the new Windows Biometrics enhancements in Windows 10.

· d2d1_3.h: New header file which supports new Windows 10 D2D features

· d2d1_3helper.h: New header file which supports new Windows 10 D2D features

· d2d1effectauthor.h: New D2D1_APPEND_ALIGNED_ELEMENT define

· d2d1effectauthor_1.h/hlsli: New header file which supports new Windows 10 D2D features

· d2d1effects_2.h: New header file which supports new Windows 10 D2D Effects features

· d2d10shader.h: New D3D10_ENABLE_UNBOUNDED_DESCRIPTOR_TABLES define

· d3d11_.h: New D3D11_DRAW_INSTANCED_INDIRECT_ARGS, D3D11_DRAW_INDEXED_INSTANCED_INDIRECT_ARGS & D3D11_FEATURE_DATA_D3D11_OPTIONS2 & D3D11_FEATURE_DATA_D3D11_OPTIONS3 structs. New D3D11_RESOURCE_MISC_HW_PROTECTED, D3D11_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY, D3D11_FEATURE_D3D11_OPTIONS2, D3D11_FEATURE_D3D11_OPTIONS3, D3D11_TILED_RESOURCES_TIER_3, D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_MIRROR, D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_SHADER_USAGE & D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_* enum values. New D3D11_CONSERVATIVE_RASTERIZATION_TIER enum.

· d3d11_1.h: Various new D3D11_VIDEO_DECODER* structs & enums. New ID3D11VideoContext1, ID3D11VideoDevice1 and ID3D11VideoProcessorEnumerator1 interfaces

· d3d11_3.h/idl: A new header file for D3d v11. New interfaces include ID3D11Texture2D1, ID3D11Texture3D1, ID3D11RasterizerState2, ID3D11ShaderResourceView1, ID3D11RenderTargetView1, ID3D11UnorderedAccessView1, ID3D11Query1, ID3D11DeviceContext3 & ID3D11Device3

· d3d11on12.h/idl: A new header file for Direct3d 11 on 12. New APIs include D3D11On12CreateDevice. New interface ID3D11On12Device.

· d3d11sdklayers.h/idl: New D3D11_RLDO_IGNORE_INTERNAL enum value. Various new D3D11_MESSAGE_ID_* defines.

· D3d11shader.h: Removal of the D3D_PARAMETER_FLAGS enum.

· d3d12.h/idl, d3212sdklayers.h/idl, d3d12shader.h: New header files for Direct3D v12 which will debut with Windows 10

· d3dcommon.h/idl: New enum values to identify D3D v12.x. New D3D_PRIMITIVE_* & D3D_NAME_* defines. Existing D3D_PARAMETER_FLAGS enum has been moved to this header

· d3dcompiler.h/idl: New D3DCOMPILE_ENABLE_UNBOUNDED_DESCRIPTOR_TABLES define.

· datetimeapi.h: Declaration of existing GetDurationFormatEx API has been moved to this header.

· DbgEng.h: New DEBUG_REQUEST_TL_INSTRUMENTATION_AWARE, DEBUG_FORMAT_USER_SMALL_ADD_AVX_XSTATE_CONTEXT, DEBUG_EXECUTE_*, DEBUG_HANDLE_DATA_TYPE_MINI_SEMAPHORE_1, DEBUG_CSS_COLLAPSE_CHILDREN, DEBUG_SCOPE_GROUP_BY_DATAMODEL & DEBUG_SCOPE_GROUP_VALID_FLAGS defines. New DEBUG_PROCESSOR_IDENTIFICATION_ARM64 struct. Again this signals that Windows will be running on ARM64 chips in the very near future

· DbgHelp.h: New IMAGEHLP_HD_TYPE, IMAGEHLP_SF_TYPE enums. Existing functionality which was in this header file has been refactored into a new mindumpapiset.h header file

· DbgProp.h: New DBGPROP_ATTRIB_VALUE_PENDING_MUTATION enum value.

· dcomp.h: Includes new Direct Composition functionality released in Windows 8.1

· debugapi.h: New WaitForDebugEventEx API. I could find no online references to this new API. Also the API signature looks identical to the existing WaitForDebugEvent API

· DeviceCategories.h: New DEVICEDISPLAY_CATEGORY_MULTIMEDIA_APPLICATIONLAUNCHER_DIAL & DEVICEDISPLAY_CATEGORY_GAMING_DEVICES* defines.

· dhcpsapi.h: New ERROR_DHCP_NAP_NOT_SUPPORTED define.

· directionmanipulation.h/idl: New DIRECTMANIPULATION_VIEWPORT_OPTIONS_DISABLEPIXELSNAPPING define. Addition of a number of new IDirectManipulation* interfaces which cover new Direct Manipulation functionality in Windows 10.

· DirectXMath.h: More references to ARM64

· Dpx1.h/idl: New DPX_* defines. New DpxContainerDecryptionData struct. New DPX_CONTAINER_ENCRYPTION_ENUM enum. Addition of a number of new IDpx* interfaces. I could find no online references to these new interfaces.

· DSGetDC.h: New DS_DIRECTORY_SERVICE_10_REQUIRED and DS_DS_10_FLAG defines.

· dwrite.h: new DWRITE_INFORMATIONAL_STRING_WWS_FAMILY_NAME & DWRITE_LINE_SPACING_METHOD_PROPORTIONAL enum values.

· dwrite_3.h: A new header file for new DirectWrite features on Windows 10. 10 New IDWriteFont* interfaces have been added

· dxgiddi.h: Covers new functionality in WDDM 2.0 for Windows 10.

· DXGDIMessages.h: New DXGI_MSG_* enum values

· eappapis.h: New EapHostPeerGetDataToUnplumbCredentials API.

· emptyvc.h: New EVCF_USERCONSENTOBTAINED define.

· errhandlingapi.h: New RaiseFailFastException, FatalAppExitA/W, TerminateProcessOnMemoryExhaustion APIs. The TerminateProcessOnMemoryExhaustion is the only new API added on Windows 10 while the other API’s have been available on earlier versions of Windows and just the declarations of these API’s have been moved to this header file

· esent.h: JET_VERSION define value has been updated for Windows 10. New JET_* defines

· evntcons.h: New EVENT_HEADER_EXT_TYPE_EVENT_KEY, EVENT_HEADER_PROPERTY_RELOGGABLE & EVENT_ENABLE_PROPERTY_EVENT_KEY defines. New EVENT_EXTENDED_ITEM_EVENT_KEY struct.

· ExDisp.h/idl: New IShellUIHelper7 interface. New nav* enum values. This new interface exposes new functionality for the external object in Internet Explorer.

· ExDispid.h: DISPID_NEWTABCREATED define has been removed. New DISPID_* defines. Again this is new functionality for the external object in Internet Explorer.

· FhErrors.h: New error codes for File History.

· FhSvcCtrl.h: New FhBackupStopReason enum

· filterpipeline.h: New e XPS_FP_PRINTDEVICECAPABILITIES define.

· fusion.h: Header file has been removed. It’s a COM interface which supports Fusion/.NET and has been moved rather than deleted

· fwpmu.h: New FWPM_SUBLAYER_IPSEC_SECURITY_REALM define

· fwpsu.h: New FWPS_FIELD_INBOUND_TRANSPORT_V4_IPSEC_SECURITY_REALM_ID, FWPS_FIELD_* enum values. It covers new functionality exposed by the Windows Filtering Platform.

· gchost.h/idl: Header files have been removed. It defined a number of COM interfaces to support .NET garbage collector

· handleapi.h: New CompareObjectHandles API. I could find no online references to this new API.

· heapapi.h: Various API declarations have been decorated to work with the Memory Diagnostics tools in VC 2015. Check out http://blogs.msdn.com/b/vcblog/archive/2014/06/04/native-memory-diagnostic-tools-for-visual-studio-14-ctp1.aspx

· hrtfapoapi.h: New header file which supports HRTF functionality.

· http.h: New HTTP_REQUEST_TOKEN_BINDING_INFO, HTTP_SSL_PROTOCOL_INFO structs. New HttpRequestInfoTypeSslProtocol and HttpRequestInfoTypeSslTokenBinding enum values. New HTTP_REQUEST_FLAG_HTTP2 and HTTP_SERVICE_CONFIG_SSL_FLAG_REJECT defines. These changes indicate that the HTTP Server API now supports HTTP v2.0.

· httpserv.h: New IHttpResponse3 interface to support SPDY/3 and HTTP/2.0 Push-Promise functionality in IIS. New IHttpContext4 interface. The comments in the code around this new interface currently refer to Windows 9. This will probably be fixed up for RTM. This new interface supports getting timestamps as a 64 bit integer.

· ICeeFileGen.h: Another .NET header file which has been moved.

· IE12Plugin.h: A new header file which exposes new functionality in IE12 and the Edge Browser

· IEAutomation.h/idl: New enum value of to identify the Edge Browser

· IEMapi.h: New IELAUNCHOPTION_FLAGS enum values for the Edge Browser

· imageHlp.h: existing functionality in this header file has been refactored into a new minidumpapiset.h header file.

· imepad.h: New IPACID_CHARLIST define

· inkrenderer.h/idl/inkrenderer_i.c: New files which supports new Windows 10 D2D features

· isolation.h: Another .NET header file which has been moved.

· ivalidator.h/idl: Another .NET header file which has been moved.

· ivehandler.h/idl: Another .NET header file which has been moved.

· jsrt.h: New Header file to allow the Microsoft Javascript engine called Chakra to be hosted by client applications other than Internet Explorer. See http://blogs.windows.com/msedgedev/2015/05/18/using-chakra-for-scripting-applications-across-windows-10/ for further information.

· Jsrt9.h: New Header file to allow the Microsoft Javascript engine called Chakra to be hosted by client applications other than Internet Explorer. See http://blogs.windows.com/msedgedev/2015/05/18/using-chakra-for-scripting-applications-across-windows-10/ for further information.

· KnownFolder.h: New defines for FOLDERID_StartMenuAllPrograms, FOLDERID_OneDrive, FOLDERID_CameraRollLibrary, FOLDERID_SavedPictures, FOLDERID_SavedPicturesLibrary, FOLDERID_RetailDemo, FOLDERID_DevelopmentFiles, FOLDERID_Objects3D, FOLDERID_AppCaptures, FOLDERID_LocalDocuments, FOLDERID_LocalPictures, FOLDERID_LocalVideos, FOLDERID_LocalMusic & FOLDERID_LocalDownloads

· LMAccess.h: New NETLOGON_CONTROL_QUERY_ENC_TYPES define

· LMDFS.h: New FSCTL_DFS_GET_PKT_ENTRY_STATE define. New DFS_GET_PKT_ENTRY_STATE_ARG struct.

· Locationapi.h: ICivicAddressReport, IDefaultLocation, IDispLatLongReport, IDispCivicAddressReport, ILatLongReport, ILocation, ILocationEvents, ILocationPower & ILocationReport interfaces have been deprecated for Windows 10.

· macamd64.inc: AM64 assembler file has been removed

· MDMRegistration.h: New error code defines for Windows MDM

· memoryapi.h: New SetProcessValidCallTargets API. This seems to be a programmatic way to access the new Control Flow Guard functionality built into the VC 2015 compiler. New VirtualAllocFromApp, VirtualProtectFromApp, OpenFileMappingFromApp APIs. There is also new inline code in this header file to redirect certain Win32 API calls to the new APIs documented above depending on certain pre-processor values.

· metahost.h: Another .NET header file which has been moved.

· mfapi.h: New MF_*_BYTE_ALIGNMENT defines. New MFSampleExtension*, MFT_ENUM_FLAG_SORTANDFILTER_WEB_ONLY_EDGEMODE, MFVideoFormat_*, MFAudioFormat_*, MFSubtitleFormat_*, MF_MT_* & MF_DISABLE_FRAME_CORRUPTION_INFO defines.

· mfcaptureengine.h/idl: New MF_CAPTURE_ENGINE_* defines. New IMFCapturePhotoConfirmation interface. This work seems to be part of the enhancements to Windows Biometrics.

· Mferror.h: New MF_E_HARDWARE_DRM_UNSUPPORTED define

· mfidl.h/idl: New MFPMPSESSION_IN_PROCESS, MF_RESOLUTION_PLUGIN_CONTROL_POLICY_WEB_ONLY_EDGEMODE, SAMPLE_PROTECTION_VERSION_AES128CTR enum values. New MFPKEY_HTTP_ByteStream_Caching_Mode, MFPKEY_HTTP_ByteStream_Cache_Limit, MF_*, MFPROTECTION_* & MFTranscodeContainerType_FLAC defines. New MF_TRANSFER_VIDEO_FRAME_FLAGS enum. New IMFVideoSampleAllocatorNotifyEx, IMFVideoProcessorControl2, IMFContentProtectionDevice & IMFContentDecryptorContext interfaces. New MFCONTENTPROTECTIONDEVICE_INPUT_DATA, MFCONTENTPROTECTIONDEVICE_OUTPUT_DATA & MFCONTENTPROTECTIONDEVICE_REALTIMECLIENT_DATA structs. There is also new defines for a number of Microsoft Encoders / Decoders including H265 which might suggest that this will be released in some way for Windows 10. Again all this work seems to be part of the enhancements to Windows Biometrics and Media Foundation.

· mfmmediaengine.h/idl: Many new interfaces, enums, enum values and defines for Media Foundation.

· mfobjects.h: New MFVideoTransFunc_*, MFVideoPrimaries_*, MFVideoTransferMatrix_*, METransformInputStreamStateChanged, MF_PLUGIN_CONTROL_POLICY_USE_WEB_PLUGINS_EDGEMODE & MEDeviceThermalStateChanged enum values.

· mfreadwrite.h/idl: Many new interfaces, enums, enum values and defines for Media Foundation.

· mfsharingengine.h/idl: New MF_SHARING_ENGINE_EVENT_ERROR enum value. New MF_* defines.

· mftransform.h/idl: New MFT_MESSAGE_NOTIFY_RELEASE_RESOURCES & MFT_MESSAGE_NOTIFY_REACQUIRE_RESOURCES enum values. New MFT_END_STREAMING_AWARE, MF_SA_D3D11_* & MFT_DECODER_QUALITY_MANAGEMENT_* defines.

· mi.h: New MI_RESULT_TYPE_ERRNO MI_T define. New “NewClass” function pointer. New MI_Application_NewClass API.

· Mindumpapiset.h: Newly refactored header file which contains MiniDump from the Debug Help Library

· minschannel.h: New SECPKG_ATTR_KEYING_MATERIAL_INFO, SECPKG_ATTR_KEYING_MATERIAL & SECPKG_ATTR_SRTP_PARAMETERS defines.

· mmdeviceapi.h/idl: New PKEY_AudioEndpoint* defines.

· Mprapi.h: New RAS_PORT_2, L2TP_TUNNEL_CONFIG_PARAMS2, ROUTER_IKEv2_IF_CUSTOM_CONFIG2, MPR_IF_CUSTOMINFOEX2 & IKEV2_TUNNEL_CONFIG_PARAMS4 structs.

· MSAJTransport.h: New header file for AllJoyn. See http://en.wikipedia.org/wiki/AllJoyn for further details

· MSClus.h: Has been reworked quite a bit to support new clustering functionality in Windows 10 / Windows 2016.

· mscoreee.h: Another .NET header file which has been moved.

· msdelta.h: More references to ARM64. One of the comments even refers to ARM64 Portable Executable files with CLI4 transform.

· msft_*.mof: Quite a few new CIM classes and additions to existing ones.

· MsHtmcid.h: New IDM_FORWARDDELETE, IDM_INSERTHTML, IDM_SHAREPICTURE, IDM_ENABLE_OBJECT_RESIZING, IDM_INSERTTEXT, IDM_SAVEPDF, IDM_SETPOINTERLOCKCONSENT & IDM_GETPRINTMANAGERDOCSOURCEASYNC defines. Some of these enums indicate new functionality which may be available with the Edge Browser.

· Mshtmdid.h: New DISPID_ONCOMPASSNEEDSCALIBRATION, DISPID_A_WEBKIT_*, DISPID_A_MEDIAWEBKIT*, DISPID_EVPROP_*, DISPID_IHTMLCSSSTYLEDECLARATION4_WEBKIT, DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH, DISPID_IHTMLPLUGINSCOLLECTION_LENGTH, DISPID_IHTMLPLUGINSCOLLECTION_REFRESH, DISPID_IHTMLPRIVATEWINDOWACCESSIBLE_GETACCESSIBLEOBJECT, DISPID_IHTMLPRIVATEDOCUMENT4_*, DISPID_IE9EVENTS_*, DISPID_IE9EVENTS_MSWEBVIEWCONTAINSFULLSCREENELEMENTCHANGED, DISPID_IE9EVENTS_ORIENTATIONCHANGE & DISPID_IE9EVENTS_COMPASSNEEDSCALIBRATION defines.

· MsHtmHst.h/idl: New CONTEXT_MENU_PDF define. New InitializeLocalHtmlEngine & UnitializeLocalHtmlEngine APIs.

· MsHTML.h/idl/Mshtmlc.h: New IHTMLCSSStyleDeclaration4 interface. New styleDisplayWebkitBox, styleDisplayWebkitInlineBox enum values. New styleWebkitBoxOrient, styleWebkitBoxDirection, styleWebkitBoxPack enums. New styleColumnSpanNotSet enum value. Some of the existing styleColumnSpan, stylePointerEvents and styleTransformStyle enum values have changed. New styleWebkitAppearance enum.

· Msi.h: New NTDDI_WINTHRESHOLD define with a value of 0x06040000. This may or may not need to be updated to 0x0A000000 for RTM

· MsiDefs.h: New NTDDI_WINTHRESHOLD define with a value of 0x06040000. This may or may not need to be updated to 0x0A000000 for RTM

· msssip.h: New MSSIP_FLAGS_MULTI_HASH, SPC_DIGEST_GENERATE_FLAG, SPC_DIGEST_SIGN_FLAG defines.

· mswmdm.h: New WMDM_FORMATCODE_MKV, WMDM_FORMATCODE_MKA & WMDM_FORMATCODE_MK3D defines.

· Nap*.h/idl: These 17 files have been removed as part of the deprecation of Network Access Protection.

· ncrypt.h: New NCRYPT_ECDSA_ALGORITHM, NCRYPT_ECDH_ALGORITHM, NCRYPTBUFFER_SSL_SESSION_HASH, NCRYPTBUFFER_*, NCRYPTBUFFER_ECC_*, NCRYPT_CLAIM_*, NCRYPT_ATTESTATION_FLAG, NCRYPT_AUTHORITY_KEY_FLAG, NCRYPT_PUBLIC_LENGTH_PROPERTY, NCRYPT_SIGNATURE_LENGTH_PROPERTY, NCRYPT_ECC_*, NCRYPT_PCP_PLATFORM_BINDING_PCRALGID_PROPERTY, NCRYPT_CHANGEPASSWORD_PROPERTY, NCRYPT_ALTERNATE_KEY_STORAGE_LOCATION_PROPERTY, NCRYPT_PIN_CACHE_* & NCRYPT_KEY_STORAGE_INTERFACE_VERSION* defines. New NCryptCreateClaim & NCryptVerifyClaim API. All told this looks like quite a lot of interesting new functionality in Cryptography Next Generation in Windows 10. I plan to update my CryptoWrappers classes at some stage to include this new functionality.

· ncryptoprotect.h: New NCRYPT_KEY_PROTECTION_ALGORITHM_LOCKEDCREDENTIALS define. New NCryptStreamOpenToUnprotectEx API and associated NCRYPT_PROTECT_STREAM_INFO_EX struct.

· ndr64types.h: NDR64_PROC_FLAGS, NDR64_RPC_FLAGS structs have new members.

· netfw.h/idl: New NetworkIsolationGetEnterpriseInfo, NetworkIsolationGetEnterpriseIdAsync & NetworkIsolationGetEnterpriseIdClose APIs

· NtDsAPI.h: New DS_BEHAVIOR_WINTHRESHOLD define with an interesting comment that this should be fixed when the final product name is available. I guess this define will become DS_BEHAVIOR_WIN2016. From the comment we can tell that as of Q1 2014 Windows Server 2016 was still being called by the codename “Threshold“. New GUID_KEYS_CONTAINER_W & GUID_PRIVILEGED_ACCESS_MANAGEMENT_OPTIONAL_FEATURE_* defines.

· NtLdap.h: New LDAP_SEARCH_HINT_REQUIRED_INDEX_OID, LDAP_SEARCH_HINT_REQUIRED_INDEX_OID_W, LDAP_SERVER_* defines.

· ntlsa.h: New SeAdtParmTypeMultiSzString, SeAdtParmTypeLogonIdEx, iLogon_Groups, iDetailedTracking_PnpActivity enum values. New LSA_LOOKUP_DISALLOW_CONNECTED_ACCOUNT_INTERNET_SID, LSA_LOOKUP_PREFER_INTERNET_NAMES & TRUST_ATTRIBUTE_PIM_TRUST defines.

· NTSecAPI.h: New Audit_DetailedTracking_PnpActivity & Audit_Logon_Groups defines. New SeAdtParmTypeMultiSzString & SeAdtParmTypeLogonIdEx enum values. New TRUST_ATTRIBUTE_PIM_TRUST define. New members to MSV1_0_PROTOCOL_MESSAGE_TYPE struct.

· NTSecPKG.h: New PRIMARY_CRED_INTERNET_USER, PRIMARY_CRED_PACKED_CRED, PRIMARY_CRED_ENTERPRISE_INTERNET_USER & SECPKG_STATE_CRED_ISOLATION_ENABLED defines.

· objbase.h: This header file has been refactored to use a new coml2api.h file.

· Objidl.h/idl: New COMBND_RESERVED*, COMGLB_RESERVED* & CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_* defines.

· ObjIdlbase.h/idl: New COMBND_RESERVED*, COMGLB_RESERVED* & CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_* defines

· Ole2.h: This header file has been refactored to use a new coml2api.h file.

· ondemandconnroutehelper.h: New GetInterfaceContextTableForHostName & FreeInterfaceContextTable APIs

· opcode.def: Another .NET header file which has been moved.

· openum.h: Another .NET header file which has been moved.

· opmapi.h: New OPM_HDCP_WITH_TYPE_ENFORCEMENT_PROTECTION_LEVEL enum. New OPM_PROTECTION_TYPE_HDCP_TYPE_ENFORCEMENT enum value.

· pacmanclientapi.h: New Header file. The interfaces may be for managing the Tiled UI on Windows Phone.

· pix.h/pix_win.h: New header files for PIX

· powrprof.h: New ACCESS_PROFILE enum value

· PrinterExtension.h/idl: New IPrinterScriptablePropertyBag2 interface.

· PrinterExtensionDispId.h: New DISPID_PRINTERSCRIPTABLEPROPERTYBAG_GETSTREAMASXML define.

· ProcessSnapshot.h: New PSS_OBJECT_TYPE_SEMAPHORE enum value. The PSS_HANDLE_ENTRY struct has been extended to contain additional members. It looks like there is some cleanup to be done in this header file prior to RTM

· processthreadapi.h: Has a comment in it which should be moved to documentation prior to RTM. New ProcessMemoryExhaustionInfo, ProcessAppMemoryInfo & ProcessInformationClassMax enum values.

· PropIdlBase.h/idl: New header files for the refactoring of the COM header files in the SDK

· propkey.h: New PKEY_* defines.

· propsys.h: New CLSID CLSID_InMemoryPropertyStoreMarshalByValue define.

· propvarutil.h: New InitVariantFromUnknown API. InitPropVariantFromString API implementation has been reworked.

· qmgr.h: BSTR_UserSize64, BSTR_UserMarshal64, BSTR_UserUnmarshal64, BSTR_UserFree64, VARIANT_UserSize64, VARIANT_UserMarshal64, VARIANT_UserUnmarshal64 & VARIANT_UserFree64 APIs have been removed.

· Ras.h: New RASEO2_IsAlwaysOn & RASEO2_IsPrivateNetwork defines.

· Rdcentraldb.idl: New IRdDesktopAssignment interface. New CreateDesktopAssignment method in IRdMsDataHelper interface. New parameters to IRdMsDb::GetServer and IRdMsDb::EnumerateServers. Five new methods in the IRdMsDb interface. Since these changes are breaking changes in a COM interface plus the fact that I could not find any documentation on these interfaces it looks like these are private COM interfaces used by MS

· rdpencomapi.h/idl: New IRDPSRAPIFrameBuffer, IRDPSRAPITransportStreamBuffer, IRDPSRAPITransportStreamEvents, IRDPSRAPITransportStream, IRDPSRAPISharingSession2, IRDPViewerRenderingSurface, IRDPViewerInputSink, IRDPSRAPIAudioStream & IRDPSRAPIPerfCounterLoggingManager interfaces. It looks like there is quite a bit of new functionality in Windows Desktop Sharing in Windows 10.

· realtimeapiset.h: New QueryInterruptTimePrecise, QueryUnbiasedInterruptTimePrecise & QueryInterruptTime APIs.

· reason.h: New SHTDN_REASON_FLAG_MOBILE_UI_RESERVE define.

· Resapi.h: Has been reworked quite a bit to support new clustering functionality in Windows 10 / Windows 2016.

· ResourceIndexer.h: New header file with CreateResourceIndexer, DestroyResourceIndexer, IndexFilePath & DestroyIndexedResults APIs

· Routprot.h: ValidateRouteEx function pointer parameters have changed

· rtlsupportapi.h: More references to ARM64

· RTWorkQ.h: New RtwqSetDeadline & RtwqCancelDeadline APIs

· schannel.h: New SecPkgContext_KeyingMaterialInfo, SecPkgContext_KeyingMaterial & SecPkgContext_SrtpParameters structs. These structs extend SChannel SSPI to expose SRTP attributes.

· sdoias.h/idl: New SYSTEM_TYPE_NT6_2_WORKSTATION, SYSTEM_TYPE_NT6_3_WORKSTATION, and SYSTEM_TYPE_NT10_1_WORKSTATION, SYSTEM_TYPE_NT6_1_SERVER, SYSTEM_TYPE_NT6_2_SERVER, SYSTEM_TYPE_NT6_3_SERVER & SYSTEM_TYPE_NT10_1_SERVER enum values. This header file is for Server Data Objects.

· sessdirpublictypes.h./idl: New TARGET_GRANT_ADMIN_PRIVILEGE, TARGET_INVALID, RD_FARM_* & VM_NOTIFY_STATUS_CANCELED defines. This header file is for Remote Desktop Virtualization API.

· shdispid.h: New DISPID_ENTERPRISEIDCHANGED define

· shellapi.h: SIID_MAX_ICONS enum value has changed to 178.

· ShellScalingApi.h: New SHELL_UI_COMPONENT enum. New GetDpiForShellUIComponent API. This seems to be some of the work to better support High DPI on Windows 10

· sherrors.h: New SHC_E_SHELL_COMPONENT_STARTUP_FAILURE define.

· ShDisp.h/idl: New IWebWizardHost2 interface.

· ShObjIdl.h /idl: New IVirtualDesktopManager, IAppActivationUIInfo interface. New CATINFO_*, SLR_* enum values. The IVirtualDesktopManager supports the new Virtual Desktops feature in Windows 10.

· shtypes.h: New SCALE_*_PERCENT enum values. This seems to be some of the work to better support High DPI on Windows 10

· SkyDriveSkynPartners.h\idl: The ILSCEvent2 interface has been removed.

· slpublic.h: New SL_INFO_KEY_BIOS_PKEY_DESCRIPTION define. New SL_GEN_STATE_OFFLINE enum value.

· SoftPub.h: New CONFIG_CI_ACTION_VERIFY define.

· spellcheck.h/idl: New ISpellChecker2 interface which supports removing a word from its dictionary.

· srpapi.h: New header file with SrpCreateThreadNetworkContext, SrpCloseThreadNetworkContext, SrpSetTokenEnterpriseId & SrpGetProcessFQBNAttributeValue APIs. The interfaces may be for Software Restriction Policy improvements on Windows 10 Enterprise.

· storagewmi_provider.mof: Pulls in all the new msft_* mof files.

· StrongName.h: Another .NET header file which has been moved

· sysinfoapi.h: New GetOsManufacturingMode and GetIntegratedDisplaySize APIs

· SystemMediaTransportControlsInterop.h/idl: New files with ISystemMediaTransportControlsInterop interface.

· taskschd.h: New TASK_COMPATIBILITY_V2_3 enum value. This enum value indicates that the Task Scheduler v2.3 is what windows 10 will be.

· tdh.h: New PropertyHasCustomSchema enum value. EVENT_PROPERTY_INFO struct has new customSchemaType substruct.

· TextServ.h: New TXTBIT_FLASHLASTPASSWORDCHAR & TXTBIT_ADVANCEDINPUT defines.

· TextStor.h: New TS_SD_INPUTPANEMANUALDISPLAYENABLE define.

· TimeProv.h: Removed wszW32TimeRegValueRunOnVirtualOnly define

· tlbref.h/idl: Another set of .NET headers which has been moved.

· tokenbinding.h: New header file with support for the Token Binding protocol.

· tpmvscattestation.h/idl: New header files with new TPMVSC_ATTESTATION_TYPE enum

· tpmvscmgr.h/idl: New ITpmVirtualSmartCardManager3 interface to support creation of scard cards in a TPM with Attestation.

· TxDtc.h: New IResourceManagerRejoinable interface for Distributed Transaction Coordinator.

· UIAutomationClient.h/idl: New UIA_*, AnnotationType_* defines. New IUIAutomationCustomNavigationPattern & IUIAutomationElement4 interfaces for UI Automation.

· UIAutomationCore.h/idl: New ICustomNavigationProvider for UI Automation.

· UIAutomationCoreApi.h: New IsCustomNavigationPatternAvailable_Property_GUID, PositionInSet_Property_GUID, SizeOfSet_Property_GUID, Level_Property_GUID, AnnotationTypes_Property_GUID, AnnotationObjects_Property_GUID, Value_Value_Property_GUID & CustomNavigation_Pattern_GUID defines. New CustomNavigationPattern_Navigate API.

· UIViewSettingsInterop.h/idl: New header files with IUIViewSettingsInterop interface.

· upnphost.h/idl: New IUPnPDeviceControlHttpHeaders interface.

· urlmon.h/idl: New IZoneIdentifier2 interface. New CLSID_TBAuthProtocol, FMFD_RESERVED_1, CFSTR_MIME_X_MIXED_REPLACE, CFSTR_MIME_X_JAVASCRIPT, CFSTR_MIME_TEXT_JSON, CFSTR_MIME_APPLICATION_JAVASCRIPT, INET_E_*, BINDSTATUS_SSLUX_HSTSFATALERROR, BINDSTRING_ENTERPRISE_ID, FEATURE_ALLOW_HSTS_SECURITY_ERROR & FEATURE_FORCE_HSTS_POLICY defines. This header file maps to new functionality in URL Security Zone Identifiers.

· UserEnv.h: Removal of PT_ROAMING_PREEXISTING define.

· utilapiset.h: New EncodeRemotePointer & DecodeRemotePointer APIs.

· uusbfn.h: New header file which simply includes other existing header files.

· vdserr.h: New VDS_E_* defines.

· Vdssys.h: Has been reworked quite a bit to support new Virtual Disk functionality in Windows 10 / Windows 2016. For example VHD Snapshots now seem to be supported via a new TakeSnapshotVhdSet API.

· VerError.h: Another .NET header file which has been moved

· VersionHelpers.h: New IsWindowsThresholdOrGreater & IsWindows10OrGreater APIs.

· virtdisk.h: Has been reworked quite a bit to support new Virtual Disk functionality in Windows 10 / Windows 2016.

· vsstyle.h: New WP_BORDER enum value

· vssym32.h: New TMT_* defines.

· wbcl.h: Has been reworked quite a bit to support new Trusted Platfom Module Base Services functionality in Windows 10 / Windows 2016.

· WcnDevice.h: New WCN_PASSWORD_TYPE_OOB_SPECIFIED enum value for Windows Connect Now.

· WcnTypes.h: New WCN_VALUE_* enum values for Windows Connect Now.

· WebAuthenticationCoreManagerInterop.h/idl: New header files with IWebAuthenticationCoreManagerInterop interface.

· WebServices.h: New WS_SECURITY_BEARER_KEY_TYPE_VERSION enum.

· WERAPI.h: New WER_FAULT_*, WER_SUBMIT_DISCARD_IF_QUEUED defines. New WerFileTypeEtlTrace, WerReportUploadedCab, WerStorageLocationNotFound enum value. New WER_REPORT_INFORMATION_V5 struct. This header file maps to new functionality in Windows Error Reporting.

· wheader.h: New WHEA_DISABLE_DUMMY_WRITE define.

· WinBase.h: GlobalAlloc, GlobalReAlloc, LocalAlloc, LocalReAlloc have been decorated to work with the Memory Diagnostics tools in VC 2015. Check out http://blogs.msdn.com/b/vcblog/archive/2014/06/04/native-memory-diagnostic-tools-for-visual-studio-14-ctp1.aspx. New EFS_DROP_ALTERNATE_STREAMS, ProcThreadAttributeJobList, PROCESS_CREATION_MITIGATION_POLICY_*, SYSTEM_STATUS_FLAG_POWER_SAVING_ON defines. New SystemStatusFlag member for SYSTEM_POWER_STATUS struct. New WTSGetServiceSessionId & WTSIsServerContainer APIs. These APIs could be the beginning of developer support for Docker Containers on Windows.

· winbase.inl: The various Isolation Aware functions have been refactored from this header file. For more information please see https://msdn.microsoft.com/en-us/library/aa375197.aspx

· WinBio.h: New substructs added to the WINBIO_ASYNC_RESULT struct. New WinBioEnrollSelect & WinBioMonitorPresence API. Has been reworked quite a bit to support new Windows Biometric functionality in Windows 10 / Windows 2016

· winbio_adapter.h: Has been reworked quite a bit to support new Windows Biometric functionality in Windows 10 / Windows 2016

· wincodec.h/idl: New IWICJpegFrameDecode and IWICJpegFrameEncode interface. New CLSID_WICJpegQualcommPhoneEncoder, WIC_JPEG_*, GUID_WICPixelFormat16bpp & WICBitmapInterpolationModeHighQualityCubic defines. New WICJpegIndexingOptions, WICJpegTransferMatrix & WICJpegScanType enums. New WICJpegFrameHeader & WICJpegScanHeader structs.

· wincrypt.h: new szOID_ECC_CURVE_*, X509_ECC_PARAMETERS, szOID_KP_PRIVACY_CA, szOID_ATTEST_WHQL_CRYPTO, szOID_KP_FLIGHT_SIGNING, szOID_PIN_RULES_*, szOID_EV_WHQL_CRYPTO, szOID_SITE_PIN_RULES_*, SITE_PIN_RULES_ALL_SUBDOMAINS_FLAG, szOID_RDN_TCG_PLATFORM_*, szOID_ENROLL_SCEP_*, szOID_ATTR_PLATFORM_SPECIFICATION, CRYPT_OID_USE_CURVE_NAME_FOR_ENCODE_FLAG, CRYPT_OID_USE_CURVE_PARAMETERS_FOR_ENCODE_FLAG, CMSG_SIGNED_DATA_NO_SIGN_FLAG, CERT_SCEP_GUID_PROP_ID, CERT_SERIALIZABLE_KEY_CONTEXT_PROP_ID, CERT_ISOLATED_KEY_PROP_ID, CERT_DISABLE_PIN_RULES_AUTO_UPDATE_VALUE_NAME, CERT_AUTO_UPDATE_SYNC_FROM_DIR_URL_VALUE_NAME, CERT_PIN_RULES_*, CRYPT_CREATE_NEW_CACHE_ENTRY, CRYPTNET_URL_CACHE_PRE_FETCH_PIN_RULES_CAB, CRYPT_RETRIEVE_MAX_ERROR_CONTENT_LENGTH, CERT_CHAIN_WEAK_FILE_HASH_AFTER_TIME_NAME, CERT_CHAIN_WEAK_TIMESTAMP_HASH_AFTER_TIME_NAME, CERT_CHAIN_DISABLE_*, CERT_CHAIN_AUTO_*, CERT_CHAIN_DISABLE_AUTO_FLUSH_PROCESS_NAME_LIST_VALUE_NAME, CERT_SRV_OCSP_RESP_*, CRYPTNET_CRL_PRE_FETCH_*, CERT_CHAIN_ONLY_ADDITIONAL_AND_AUTH_ROOT, CERT_CHAIN_FIND_BY_ISSUER, MICROSOFT_ROOT_CERT_CHAIN_POLICY_DISABLE_FLIGHT_ROOT_FLAG, CRYPT_STRING_BASE64URI, CRYPT_STRING_PERCENTESCAPE, PKCS12_ONLY_CERTIFICATES, PKCS12_ONLY_NOT_ENCRYPTED_CERTIFICATES, PKCS12_ONLY_CERTIFICATES_PROVIDER_TYPE, PKCS12_ONLY_CERTIFICATES_PROVIDER_NAME, PKCS12_ONLY_CERTIFICATES_CONTAINER_NAME, PKCS12_DISABLE_ENCRYPT_CERTIFICATES, PKCS12_ENCRYPT_CERTIFICATES, PKCS12_EXPORT_ECC_CURVE_PARAMETERS, PKCS12_EXPORT_ECC_CURVE_OID, PKCS12_CONFIG_REGPATH, PKCS12_ENCRYPT_CERTIFICATES_VALUE_NAME, CERT_SERVER_OCSP_RESPONSE_OPEN_PARA_READ_FLAG, CERT_SERVER_OCSP_RESPONSE_OPEN_PARA_WRITE_FLAG, CERT_FILE_HASH_USE_TYPE & CERT_TIMESTAMP_HASH_USE_TYPE defines. CMSG_SIGNER_ENCODE_INFO struct has a new hBCryptKey member. CRYPT_RETRIEVE_AUX_INFO struct has two new members. New CERT_SERVER_OCSP_RESPONSE_OPEN_PARA struct. New PFN_CERT_SERVER_OCSP_RESPONSE_UPDATE_CALLBACK function callback. CertOpenServerOcspResponse API now has a new documented parameter. New CertIsWeakHash API. All told there looks like quite a bit of new functionality in the Cryptography APIs in Windows 10. Hopefully over the next few months I will get some time to update my CryptoWrappers classes to expose this new functionality.

· WinDNS.h: New DNS_CLASS_UNICAST_RESPONSE, DNS_RCLASS_UNICAST_RESPONSE, DNS_TYPE_TLSA, DNS_RTYPE_TLSA, DNS_TLSA_RECORD_LENGTH & DNS_UNKNOWN_RECORD_LENGTH defines. New DNS_TLSA_DATA & DNS_UNKNOWN_DATA structs. New DNS_TLSA_DATA and DNS_UNKNOWN_DATA members in the DNS_RECORDW/A structs.

· windows.devices.alljoyn.interop.h/idl: New header files for AllJoyn. See http://en.wikipedia.org/wiki/AllJoyn for further details

· windows.graphics.directx.direct3d11.interop.h: New header file with some helper methods for D3D on WinRT

· windows.graphics.imaging.interop.h/idl: New header files with new ISoftwareBitmapNative & ISoftwareBitmapNativeFactory interfaces for WinRT.

· Windows.h: More references to ARM64

· windows.media.core.interop.h/idl: New header files with new IAudioFrameNative, IVideoFrameNative, IAudioFrameNativeFactory & IVideoFrameNativeFactory interfaces.

· windows.ui.xaml.media.dxinterop.h/idl: New ISwapChainPanelNative2 inteface for WinRT.

· WindowsNumerics.h/inl: New header file and implementation file which supports C++ vector and matrix types. It is part of Win2D

· winefs.h: New EFS_COMPATIBILITY_VERSION_PFILE_PROTECTOR & EFS_IS_DESCRIPTOR_VERSION defines.

· wingdi.h: New DISPLAYCONFIG_MODE_INFO_TYPE_DESKTOP_IMAGE enum value. New DISPLAYCONFIG_DESKTOP_IMAGE_INFO & DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION structs. New DISPLAYCONFIG_DESKTOP_IMAGE_INFO sub-struct in DISPLAYCONFIG_MODE_INFO struct. New DISPLAYCONFIG_PATH_*, DISPLAYCONFIG_PATH_*, DISPLAYCONFIG_DEVICE_INFO_*, QDC_VIRTUAL_MODE_AWARE & SDC_VIRTUAL_MODE_AWARE defines. New sub-struct in DISPLAYCONFIG_PATH_SOURCE_INFO struct. New sub-struct in DISPLAYCONFIG_PATH_TARGET_INFO struct. New ScaleRgn, ScaleValues, GetDCDpiScaleValue & GetBitmapDpiScaleValue APIs. This seems to be some of the work to better support High DPI on Windows 10

· winhttp.h: New WINHTTP_OPTION_CONNECTION_FILTER & HTTP_STATUS_PERMANENT_REDIRECT defines.

· Wininet.h: New INTERNET_OPTION_COMPRESSED_CONTENT_LENGTH, INTERNET_OPTION_ENABLE_HTTP_PROTOCOL, INTERNET_OPTION_HTTP_PROTOCOL_USED, INTERNET_OPTION_HSTS, INTERNET_OPTION_ENTERPRISE_CONTEXT, INTERNET_OPTION_CONNECTION_FILTER, INTERNET_OPTION_REFERER_TOKEN_BINDING_HOSTNAME, HTTP_PROTOCOL_FLAG_HTTP2, HTTP_QUERY_HTTP2_SETTINGS, HTTP_QUERY_STRICT_TRANSPORT_SECURITY, HTTP_QUERY_TOKEN_BINDING, HTTP_QUERY_INCLUDE_REFERER_TOKEN_BINDING_ID, HTTP_STATUS_PERMANENT_REDIRECT, INTERNET_COOKIE_HOST_ONLY, INTERNET_COOKIE_APPLY_HOST_ONLY & ERROR_HTTP_HSTS_REDIRECT_REQUIRED defines. New HttpIsHostHstsEnabled API. These changes are part of adding HTTP/2 to Internet Explorer in Windows 10 and HTTP Strict Transport Security.

· Winineti.h: New INTERNET_OPTION_ENABLE_WBOEXT, INTERNET_OPTION_SET_IN_PRIVATE, INTERNET_OPTION_DOWNLOAD_MODE_HANDLE, INTERNET_OPTION_EDGE_COOKIES, CACHE_CONFIG_DISK_SPACE_* & CACHE_HEADER_DATA_HSTS_CHANGE_COUNT defines. New INTERNET_DOWNLOAD_MODE_HANDLE struct. COOKIE_ALLOWED_SET_FLAGS & COOKIE_ALLOWED_COOKIE_FLAGS defines have been updated. New UrlCacheFreeGlobalSpace, UrlCacheGetGlobalCacheSize, AppCacheCreateAndCommitFile & UrlCacheServer APIs.

· winioctl.h: The header file has been reworked quite a bit to support changes coming to Storage in Windows 10/2016.

· winmeta.h/xml: New WINEVENT_CHANNEL_TRACELOGGING & MSG_channel_TraceLogging define. WINEVENT_KEYWORD_WDI_CONTEXT & MSG_keyword_WDIContext defines have been removed.

· WinNls.h: New LOCALE_IDIALINGCODE define which returns a country code’s dialling prefix. New LOCALE_SAM, LOCALE_SPM, LOCALE_SSHORTESTAM, LOCALE_SSHORTESTPM, DATE_MONTHDAY, CAL_PERSIAN & GEO_DIALINGCODE defines.

· winnt.h: More references to ARM64. New Product_* defines. These additions were picked up by DtWinVer v1.96. New COMPILETIME_OR_6FLAGS, DBG_REPLY_LATER, DBG_PRINTEXCEPTION_WIDE_C, CONTEXT_KERNEL_DEBUGGER, SECURITY_SID_SIZE, SECURITY_INSTALLER_GROUP_CAPABILITY_BASE, SECURITY_INSTALLER_GROUP_CAPABILITY_RID_COUNT, SECURITY_INSTALLER_CAPABILITY_RID_COUNT, DOMAIN_USER_RID_DEFAULT_ACCOUNT, DOMAIN_GROUP_RID_KEY_ADMINS, DOMAIN_GROUP_RID_ENTERPRISE_KEY_ADMINS, DOMAIN_ALIAS_RID_DEFAULT_ACCOUNT, DOMAIN_ALIAS_RID_STORAGE_REPLICA_ADMINS, SECURITY_CAPABILITY_APP_RID, SECURITY_CAPABILITY_APPOINTMENTS, SECURITY_CAPABILITY_CONTACTS, SECURITY_AUTHENTICATION_KEY_TRUST_RID, SECURITY_AUTHENTICATION_KEY_PROPERTY_MFA_RID, SECURITY_AUTHENTICATION_KEY_PROPERTY_ATTESTATION_RID, SE_ACTIVATE_AS_USER_CAPABILITY, SE_CONSTRAINED_IMPERSONATION_CAPABILITY, SE_SESSION_IMPERSONATION_CAPABILITY, SE_MUMA_CAPABILITY, TOKEN_USER_MAX_SIZE, TOKEN_OWNER_MAX_SIZE, TOKEN_INTEGRITY_LEVEL_MAX_SIZE, TOKEN_APPCONTAINER_SID_MAX_SIZE, JOB_OBJECT_LIMIT_VIOLATION_INFORMATION_VERSION_3, JOB_OBJECT_LIMIT_*, JOB_OBJECT_CPU_RATE_CONTROL_*, JOB_OBJECT_NET_RATE_CONTROL_*, JOB_OBJECT_IO_RATE_CONTROL_*, SILO_OBJECT_*, PF_ARM_V8_INSTRUCTIONS_AVAILABLE, PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE, PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE, PF_RDTSCP_INSTRUCTION_AVAILABLE, XSTATE_*, CFG_CALL_TARGET_INFO, MEMORY_PARTITION_*, PAGE_TARGETS_*, FILE_SUPPORTS_BLOCK_REFCOUNTING, FILE_SUPPORTS_SPARSE_VDL, IO_REPARSE_TAG_WCI, IO_QOS_MAX_RESERVATION, GUID_DEEP_SLEEP_ENABLED, GUID_DISK_MAX_POWER, GUID_POWER_SAVING_STATUS, GUID_ENERGY_SAVER_SUBGROUP, GUID_ENERGY_SAVER_BATTERY_THRESHOLD, POWERBUTTON_ACTION_INDEX_TURN_OFF_THE_DISPLAY, POWERBUTTON_ACTION_VALUE_TURN_OFF_THE_DISPLAY, PROCESSOR_THROTTLE_*, *PROCESSOR_PERF_*, GUID_PROCESSOR_PARKING_DISTRIBUTION_THRESHOLD, GUID_PROCESSOR_LATENCY_HINT_MIN_UNPARK, GUID_WIFI_IN_STANDBY, POWER_WIFI_IN_STANDBY_DISABLED, POWER_WIFI_IN_STANDBY_ENABLED, GUID_BATTERY_COUNT, DIAGNOSTIC_REASON_*, HIBERFILE_TYPE_*, IMAGE_FILE_MACHINE_ARM64, IMAGE_SUBSYSTEM_XBOX_CODE_CATALOG, IMAGE_REL_ARM64_*, IMAGE_GUARD_*, IMAGE_DEBUG_TYPE_*, COMIMAGE_FLAGS_32BITPREFERRED, FAST_FAIL_*, DEVICEFAMILY*, REG_APP_HIVE_OPEN_READ_ONLY & SERVICE_USER* defines. XSAVE_AREA_HEADER struct has a new member. New InterlockedExchangeAdd8, InterlockedExchangeAddSizeT, InterlockedExchangeAddSizeTAcquire, InterlockedExchangeAddSizeTNoFence, InterlockedIncrementSizeT, InterlockedIncrementSizeTNoFence, InterlockedDecrementSizeT, InterlockedDecrementSizeTNoFence, ReadBooleanAcquire, ReadBooleanNoFence, WriteBooleanRelease, WriteBooleanNoFence, RtlOsDeploymentState, RtlGetDeviceFamilyInfoEnum, RtlConvertDeviceFamilyInfoToString & RtlSwitchedVVI APIs. New SE_SID, SE_TOKEN_USER, PROCESS_MITIGATION_FONT_DISABLE_POLICY, JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_EX, JOBOBJECT_LIMIT_VIOLATION_INFORMATION_EX, JOBOBJECT_NET_RATE_CONTROL_INFORMATION, JOBOBJECT_IO_RATE_CONTROL_INFORMATION, SILOOBJECT_BASIC_INFORMATION, SILOOBJECT_ROOT_DIRECTORY, SERVERSILO_STATE, SERVERSILO_BASIC_INFORMATION, HIBERFILE_BUCKET, IMAGE_LOAD_CONFIG_CODE_INTEGRITY, IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY, OS_DEPLOYEMENT_STATE_VALUES structs. New SidTypeLogonSession, TokenPrivateNameSpace, ProcessFontDisablePolicy, JobObject*, SharedVirtualDiskSnapshotsSupported, PowerActionDisplayOff, POWER_INFORMATION_LEVEL & MonitorRequestReason* enum values. New WELL_KNOWN_SID_TYPE enum values. New PSECURITY_ATTRIBUTES_OPAQUE member in TOKEN_ACCESS_INFORMATION struct. New sub-struct in JOBOBJECT_CPU_RATE_CONTROL_INFORMATION struct. New SILOOBJECTINFOCLASS & HIBERFILE_BUCKET_SIZE enums. New EfficiencyClass member in PROCESSOR_RELATIONSHIP struct. New members in XSTATE_CONFIGURATION struct. New GuardCFDispatchFunctionPointer & IMAGE_LOAD_CONFIG_CODE_INTEGRITY members in IMAGE_LOAD_CONFIG_DIRECTORY struct. Removed GUID_VIDEO_FULLSCREEN_PLAYBACK, GUID_AUDIO_PLAYBACK, GUID_CS_BATTERY_SAVER_THRESHOLD, GUID_CS_BATTERY_SAVER_ACTION & GUID_CS_BATTERY_SAVER_TIMEOUT defines. New members in SYSTEM_POWER_CAPABILITIES struct. This is probably the main header file in the Windows SDK and the biggest changes in it cover things such as ARM64 support, Control Flow Guard and the probable underlying OS changes in Job Objects and a new concept of SILOs to support Docker Containers. I will look to update DtWinVer in the near future to support the new DeviceFamily.

· winreg.h: New RRF_SUBKEY_WOW6464KEY, RRF_SUBKEY_WOW6432KEY, RRF_WOW64_MASK, SHUTDOWN_SOFT_REBOOT & SHUTDOWN_MOBILE_UI defines.

· winsafer.h: New SRP_POLICY_WLDPCONFIGCI define

· winsdkver.h: Changes to _WIN32_MAXVER, _WIN32_WINDOWS_MAXVER, NTDDI_MAXVER, _WIN32_WINNT_MAXVER & WINVER_MAXVER to 0x0A00 for Windows 10.

· winspool.h: New BIDI_ACTION_GET_WITH_ARGUMENT & ERROR_BIDI_* defines.

· winsvc.h: New SERVICE_ACCEPT_USER_LOGOFF, SERVICE_TRIGGER_TYPE_AGGREGATE & SC_AGGREGATE_STORAGE_KEY defines. I will look to update CNTService in the near future to support the new service related functionality.

· winternl.h: New RtlInitStringEx & RtlInitAnsiStringEx APIs. New OBJ_IGNORE_IMPERSONATED_DEVICEMAP define.

· WinUser.h: New VK_NAVIGATION_*, VK_GAMEPAD_*, POINTER_STRUCTURES, DPISM_*, SPI_GETPENVISUALIZATION, SPI_SETPENVISUALIZATION & PENVISUALIZATION_* defines. New USAGE_PROPERTIES, POINTER_TYPE_INFO & INPUT_INJECTION_VALUE structs. Removal of SPI_GETMOUSECORNERCLIPLENGTH & SPI_GETMOUSECORNERCLIPLENGTH defines. The VK_GAMEPAD_* defines are probably because of the XBOX integration for the Windows 10 release.

· winuser.inl: Changes to handle the Isolation Aware functions. For more information please see https://msdn.microsoft.com/en-us/library/aa375197.aspx

· winuser.rh: New VK_NAVIGATION_* & VK_GAMEPAD_* defines.

· wlanapi.h: New WLAN_REASON_CODE_HOTSPOT2_PROFILE_DENIED, WLAN_REASON_CODE_HOTSPOT2_PROFILE_NOT_ALLOWED, WLAN_AVAILABLE_NETWORK_*, GUID_AEPSERVICE_WIFIDIRECT_DEVICE, DEVPKEY_WiFiDirect* & DEVPKEY_WiFi_InterfaceGuid defines. New WLAN_AVAILABLE_NETWORK_V2, WLAN_AVAILABLE_NETWORK_LIST_V2 & WLAN_CONNECTION_PARAMETERS_V2 structs. New WLAN_OPERATIONAL_STATE enum. New wlan_notification_acm_operational_state_change enum value. New WlanGetAvailableNetworkList2 & WlanConnect2 APIs.

· wmcodecdsp.h: Various new Media Foundation codecs for H.263, H.265, ALaw, MULaw, Vorbis, FLAC, MSALAC, MSAMRNB & AMRNB

· wofapi.h: New header file which supports Windows Image Boot Files and the work in Windows 10 to reduce its on disk footprint.

· workspaceruntime.h/idl: New IWorkspace3 interface.

· WS2tcpip.h: Inline gai_strerrorA and gai_strerrorW have been reworked slightly.

· Wscapi.h: wscDisableExpiredEnableDefender API has been removed

· Wuerrror.h: New WU_E_* defines. WU_E_CALL_CANCELLED_BY_HIDE, WU_E_CALL_CANCELLED_BY_INVALID define has changed value. The WU_E_HARDWARECAPABILITY_PARTIAL_RESULT define has been removed. Some of these changes reflect the enhancements being added to Windows Update in Windows 10.

· xamlOM.h/idl: New header files with new IVisualTreeServiceCallback, IVisualTreeService, IXamlDiagnostics interfaces for WinRT XAML.

· xaudio2.h: New XAUDIO2D_DLL_A, XAUDIO2D_DLL_W, XAUDIO2D_DLL, XAUDIO2_DEBUG_ENGINE, XAUDIO2_STOP_ENGINE_WHEN_IDLE & XAUDIO2_1024_QUANTUM defines. This covers new functionality in XAudio 2.9.

· xaudio2fx.h: New SideDelay member in XAUDIO2FX_REVERB_PARAMETERS struct. New XAUDIO2FX_REVERB_MIN_7POINT1_SIDE_DELAY, XAUDIO2FX_REVERB_MIN_7POINT1_REAR_DELAY, XAUDIO2FX_REVERB_MAX_7POINT1_SIDE_DELAY, XAUDIO2FX_REVERB_MAX_7POINT1_REAR_DELAY, XAUDIO2FX_REVERB_DEFAULT_7POINT1_SIDE_DELAY, XAUDIO2FX_REVERB_DEFAULT_7POINT1_REAR_DELAY, ReverbConvertI3DL2ToNative ineline function has an additional parameter and has been reworked slightly. This covers new functionality in XAudio 2.9.

· xmllite.h/idl: New IXmlWriterLite interface.

· xpsrassvc.h: New IXpsRasterizationFactory2 interface.

It looks like there’s loads of very interesting stuff in Windows 10 for native mode C++ developers to dig into. Happy coding.

Categories: Programming