Archive

Archive for the ‘Programming’ Category

June Dublin C/C++ User Group Presentation

June 12, 2018 Comments off

On Monday this week I did a presentation on my JSON++ library to the Dublin C/C++ User Group. The PowerPoint deck of my presentation is available here for those interested. A recording of the meetup should be available on the groups meetup page shortly.

Advertisements

March Dublin C++ User Group Presentation

March 6, 2018 1 comment

On Monday this week I did a presentation on using OpenStreetMap and various Microsoft technologies to the Dublin C++ User Group in Dublin. It provided an introduction to OpenStreetMap the project and then went through my OSMCtrl application which demoed a number of Microsoft Technologies such as Direct2D, Windows Animations, Windows Sensors, MFC and using WinHTTP to make web services calls. A big thanks to Mihai Todor and the fellow organisers who faciliated the meetup. The PowerPoint deck of my presentation is available here for those interested. A recording of the meetup should be available on the groups meetup page shortly.

Changes in the Windows v10.0.16232 SDK compared to Windows v10.0.15063 SDK (Part Two)

August 6, 2017 1 comment

This is a follow up to the first part of my blog post which compares the Windows 10 SDK (v10.0.15063) which corresponds to Windows 10 Creators Update and the pre-release version (v10.0.16232) SDK which will correspond to Windows 10 Fall Creators Update. This part of the blog post will concentrate on the “um” folder differences.

Ok, let’s dive into the changes:

  • winsqlite\winsqlite3.h & winsqlite2ext.h: Win SQLITE header has been updated to SQLite v3.18.0 from 3.15.2. I will look to update Sqlite3Wrappers in the near future to support this new functionality.
  • amsi.h\idl: New AMSI_RESULT_BLOCKED_BY_ADMIN_START & AMSI_RESULT_BLOCKED_BY_ADMIN_END enum values. New AmsiResultIsBlockedByAdmin define.
  • A lot of the header files have reworked references to the concept of SDK Family and Partitions which segregate the APIs available from the SDK header files as being available on certain Families E.g. Windows Phone, Windows Desktop, Window Server, WinRT etc.
  • Some of the header files have been updated to keep up to date with the latest SAL annotation improvements.
  • Some of the changes in the new SDK reference the pre-processor value of NTDDI_WIN10_RS3 for of NTDDI_VERSION. This corresponds to Windows 10 codename “Redstone 3” aka Windows 10 Fall Creators Update.
  • AppxPackaging.h\idl: New IAppxPackageWriter3, IAppxManifestPackageId2, IAppxBundleWriter3, IAppxEncryptionFactory4 & IAppxEncryptedPackageWriter2 interfaces. New APPX_PACKAGE_WRITER_PAYLOAD_STREAM struct. New APPX_PACKAGE_ARCHITECTURE2 enum.
  • AviFmt.h: New cktypeDVFrame define.
  • bits10_1.h\idl: New Header and IDL files with new BITS functionality. Interfaces added include IBackgroundCopyCallback3, IBackgroundCopyFile6, BackgroundCopyManager10 & IBackgroundCopyCallback3. I will look to update BITSWrappers in the near future to support his new functionality.
  • BitsMsg.h: New BG_E_BLOCKED_BY_BACKGROUND_ACCESS_POLICY define.
  • CertCli.h: New CR_IN_HTTP define.
  • cfapi.h: New header file for Cloud Files API. This appears to be part of OneDrive Files On-Demand.
  • ClusApi.h: New RS3_UPGRADE_VERSION, CLUSAPI_VERSION_RS3, CLUSGRP_STATUS_OFFLINE_NOT_LOCAL_DISK_OWNER, CLUSRES_STATUS_OFFLINE_NOT_LOCAL_DISK_OWNER, CLUS_RESTYPE_NAME_SCALEOUT_MASTER, CLUS_RESTYPE_NAME_SCALEOUT_WORKER, CLUSREG_NAME_GRP_CCF_EPOCH_HIGH & CLUSREG_NAME_GRP_PLACEMENT_OPTIONS defines. New ClusGroupTypeInfrastructureFileServer, CLCTL_*, CLUSCTL_RESOURCE_* & PLACEMENT_OPTIONS_* enum values. New CLUSTER_MGMT_POINT_RESTYPE, CLUSTER_CLOUD_TYPE, CLUSTER_STORAGENODE_STATE & GRP_PLACEMENT_OPTIONS enums. New members in CREATE_CLUSTER_CONFIG & CREATE_CLUSTER_NAME_ACCOUNT structs. New CLUS_CREATE_INFRASTRUCTURE_FILESERVER_INPUT & CLUS_CREATE_INFRASTRUCTURE_FILESERVER_OUTPUT structs. New ClusterNodeReplacement, OpenClusterNodeById, RemoveClusterNameAccount, DetermineCNOResTypeFromNodelist, DetermineCNOResTypeFromCluster, DetermineClusterCloudTypeFromNodelist, DetermineClusterCloudTypeFromCluster, AddClusterStorageNode & RemoveClusterStorageNode APIs.
  • commapi.h: New OpenCommPort API.
  • d2d1_3.h: New ID2D1CommandSink5, ID2D1DeviceContext6, ID2D1Device6 & ID2D1Factory7 interfaces.
  • d3d10shader.h: New D3D10_SHADER_DEBUG_NAME_FOR_SOURCE & D3D10_SHADER_DEBUG_NAME_FOR_BINARY defines.
  • d3d12.h\idl: New ID3D12Fence1, ID3D12GraphicsCommandList2 & ID3D12Device3 interfaces. New D3D12_MAX_VIEW_INSTANCE_COUNT, D3D12_VIDEO_DECODE_MAX_ARGUMENTS, D3D12_VIDEO_DECODE_STATUS_MACROBLOCKS_AFFECTED_UNKNOWN, D3D12_VIDEO_PROCESS_MAX_FILTERS & D3D12_VIDEO_PROCESS_STEREO_VIEWS defines. New D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE, D3D12_COMMAND_LIST_TYPE_VIDEO_PROCESS, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING, D3D12_FEATURE_D3D12_OPTIONS3, D3D_SHADER_MODEL_6_1, D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY, D3D12_RESOURCE_STATE_VIDEO_*, D3D12_FENCE_FLAG_NON_MONITORED, D3D12_QUERY_HEAP_TYPE_VIDEO_DECODE_STATISTICS, D3D12_QUERY_HEAP_TYPE_COPY_QUEUE_TIMESTAMP & D3D12_QUERY_TYPE_VIDEO_DECODE_STATISTICS enum values. New D3D12_VIEW_INSTANCING_TIER, D3D12_COMMAND_LIST_SUPPORT_FLAGS, D3D12_VIEW_INSTANCING_FLAGS & D3D12_WRITEBUFFERIMMEDIATE_MODE enums. New D3D12_FEATURE_DATA_D3D12_OPTIONS3, D3D12_VIEW_INSTANCE_LOCATION, D3D12_VIEW_INSTANCING_DESC, D3D12_WRITEBUFFERIMMEDIATE_PARAMETER structs. New function in ID3D12GraphicsCommandList1 interface.
  • d3d12sdklayers.h\idl: New ID3D12SharingContract interface. New D3D12_MESSAGE_ID_* enum values.
  • d3d12video.h\idl: New header file with D3D Video interfaces including ID3D12VideoDecoderHeap, ID3D12VideoDevice, ID3D12VideoDecoder, ID3D12VideoProcessor, ID3D12VideoDecodeCommandList & ID3D12VideoProcessCommandList interfaces.
  • d3dcommon.h\idl: New D3D_NAME_BARYCENTRICS & D3D12_NAME_BARYCENTRICS enum values.
  • d3dcompiler.h: New D3DCOMPILE_DEBUG_NAME_FOR_SOURCE & D3DCOMPILE_DEBUG_NAME_FOR_BINARY defines. New D3D_BLOB_DEBUG_NAME enum value.
  • DbgEng.h: New DEBUG_REQUEST_GET_MODULE_ARCHITECTURE, DEBUG_FORMAT_USER_SMALL_IPT_TRACE, DEBUG_DUMP_ACTIVE & DEBUG_KERNEL_ACTIVE_DUMP defines.
  • DbgHelp.h: New IMAGEHLP_EXTENDED_OPTIONS enum. New SymGetExtendedOption & SymSetExtendedOption APIs. New PSYMBOLSERVERSETHTTPAUTHHEADER function pointer. New SSRVACTION_HTTPSTATUS define.
  • DeviceCategories.h: New DEVICEDISPLAY_CATEGORY_DISPLAY_DOCK define.
  • DirectXCollision.inl: Inline C code has been extensively updated.
  • DirectXMath.h: DIRECTX_MATH_VERSION define has been updated. Inline code and defines has been updated.
  • DirectXMathMatrix.inl: Inline C code has been extensively updated.
  • DirectXMathMisc.inl: Inline C code has been extensively updated.
  • DirectXMathVector.inl: Inline C code has been extensively updated.
  • DirectXPackedVector.inl: Inline C code has been extensively updated.
  • DispatcherQueue.h: New Header file with new CreateDispatcherQueueController API.
  • dwrite.h: New DWRITE_INFORMATIONAL_STRING_TYPOGRAPHIC_FAMILY_NAMES, DWRITE_INFORMATIONAL_STRING_TYPOGRAPHIC_SUBFAMILY_NAMES & DWRITE_INFORMATIONAL_STRING_WEIGHT_STRETCH_STYLE_FAMILY_NAME enum value. New DWRITE_MAKE_FONT_FEATURE_TAG define.
  • dwrite_3.h: New DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FAMILY_NAME, DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FAMILY_NAME, DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FACE_NAME, DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FACE_NAME & DWRITE_FONT_PROPERTY_ID_TOTAL_RS3 enum values. New IDWriteFontResource, IDWriteFontFace5, IDWriteFontFaceReference1, IDWriteFontSet1, IDWriteFontCollection2, IDWriteTextFormat3, IDWriteFontSetBuilder2, IDWriteFactory6, IDWriteFontList2, IDWriteFontFamily2, IDWriteTextLayout4 & IDWriteFontFallback1 interfaces.
  • enclaveapi.h: New LoadEnclaveImageA, LoadEnclaveImageW, CallEnclave, TerminateEnclave & DeleteEnclave APIs.
  • esent.h: JET_paramMaxValueInvalid define has been updated.
  • eventman.xsd: Various elements have been updated in the XML schema.
  • evntcons.h: New EVENT_HEADER_EXT_TYPE_CONTROL_GUID & EVENT_HEADER_FLAG_DECODE_GUID define. New EtwProviderTraitDecodeGuid enum value.
  • FaxComEx.h: bstrGROUPNAME_ALLDEVICES define has been updated.
  • FhCfg.h\idl: IFhTarget, IFhScopeIterator, IFhConfigMgr & IFhReassociation interfaces have been marked deprecated.
  • FhStatus.h: New FH_STATE_BACKUP_NOT_SUPPORTED define.
  • FhSvcCtl.h: FhServiceOpenPipe, FhServiceClosePipe, FhServiceStartBackup, FhServiceStopBackup, FhServiceReloadConfiguration, FhServiceBlockBackup & FhServiceUnblockBackup APIs have been marked deprecated.
  • fwpmu.h: New FWPM_CONDITION_RESERVED*, FWPM_CALLOUT_HTTP_TEMPLATE_SSL_HANDSHAKE & FWPM_TUNNEL_FLAG_SITE_TO_SITE defines. New FwpmProviderContextAdd3, FwpmProviderContextGetById3, FwpmProviderContextGetByKey3, FwpmProviderContextEnum3 & FwpmIPsecTunnelAdd3 APIs.
  • fwpsu.h: New FWPS_LAYER_INBOUND_RESERVED2 enum value. New FWPS_FIELDS_INBOUND_RESERVED2 enum. New FWPS_CALLOUT_CLASSIFY_FN3 & FWPS_CALLOUT_NOTIFY_FN3 function pointers.
  • gamemonitor.h: New GAME_MONITORING_PERMISSION_STATE enum. New GetGameMonitoringPermissionState API.
  • gamingdeviceinformation.h: New Header file which provides a new GetGamingDeviceModelInformation API.
  • gamingtcui.h: New ShowGameInfoUI, ShowGameInfoUIForUser, ShowFindFriendsUI, ShowFindFriendsUIForUser, ShowCustomizeUserProfileUI, ShowCustomizeUserProfileUIForUser, ShowUserSettingsUI & ShowUserSettingsUIForUser APIs.
  • Icm.h: New CPST_STANDARD_DISPLAY_COLOR_MODE & CPST_EXTENDED_DISPLAY_COLOR_MODE enum values. New ET_STANDARDDISPLAYCOLOR 0x00020000 & ET_EXTENDEDDISPLAYCOLOR defines.
  • icu.h: A New header file which includes ICU functionality in Windows. This update was mentioned in https://visualstudiomagazine.com/articles/2017/02/08/windows-dev-day-win10-creator-update.aspx.
  • icucommon.h: Message added to indicate that this header file is deprecated in favour of new icu.h header file.
  • icui18n.h: Message added to indicate that this header file is deprecated in favour of new icu.h header file.
  • IE12Plugin.h: New IAudioSessionSite interface.
  • ImageHlp.h: New IMAGEHLP_EXTENDED_OPTIONS enum. New SymGetExtendedOption & SymSetExtendedOption APIs. New PSYMBOLSERVERSETHTTPAUTHHEADER function pointer. New SSRVACTION_HTTPSTATUS define.
  • iphlpapi.h: New GetTcpStatisticsEx2 & GetUdpStatisticsEx2 APIs.
  • iwscapi.h: New IWscProduct2 interface.
  • LMShare.h: New STYPE_RESERVED5, SHI1005_FLAGS_DISABLE_CLIENT_BUFFERING & SHI1005_FLAGS_IDENTITY_REMOTING defines.
  • LMUse.h: New USE_FLAG_GLOBAL_MAPPING, USE_LEVEL, USE_FLAGS_PARMNUM, USE_AUTHIDENTITY_PARMNUM, USE_SD_PARMNUM, USE_OPTIONS_PARMNUM, CREATE_REQUIRE_CONNECTION_INTEGRITY & CREATE_REQUIRE_CONNECTION_PRIVACY defines. New USE_INFO_5 struct.
  • lmuseflg.h: New FORCE_LEVEL define.
  • MDMRegistration.h: New MENROLL_E_USER_CANCELED, DEVICEREGISTRATIONTYPE_MDM_ONLY 0, DEVICEREGISTRATIONTYPE_MAM 5, DEVICEREGISTRATIONTYPE_MDM_DEVICEWIDE_WITH_AAD 6 & DEVICEREGISTRATIONTYPE_MDM_USERSPECIFIC_WITH_AAD defines. New MANAGEMENT_REGISTRATION_INFO struct. New REGISTRATION_INFORMATION_CLASS enum. New GetDeviceRegistrationInfo & RegisterDeviceWithManagementUsingAADCredentials API.
  • mfapi.h: New MFSampleExtension_Encryption_ProtectionScheme, MFSampleExtension_Encryption_CryptByteBlock, MFSampleExtension_Encryption_SkipByteBlock, MF_CAPTURE_METADATA_FIRST_SCANLINE_START_TIME_QPC, MF_CAPTURE_METADATA_LAST_SCANLINE_END_TIME_QPC, MF_CAPTURE_METADATA_SCANLINE_TIME_QPC_ACCURACY, MF_CAPTURE_METADATA_SCANLINE_DIRECTION, MFCAPTURE_METADATA_SCAN_RIGHT_LEFT, MFCAPTURE_METADATA_SCAN_BOTTOM_TOP, MFCAPTURE_METADATA_SCANLINE_VERTICAL, MFT_CATEGORY_VIDEO_RENDERER_EFFECT, MFT_ENUM_VIDEO_RENDERER_EXTENSION_PROFILE, MFVideoFormat_VP10, MFVideoFormat_AV1, MFSampleExtension_ForwardedDecodeUnits, MFSampleExtension_TargetGlobalLuminance, MFSampleExtension_ForwardedDecodeUnitType., MF_MT_FORWARD_CUSTOM_NALU, MF_MT_FORWARD_CUSTOM_SEI & MF_MT_VIDEO_RENDERER_EXTENSION_PROFILE defines. New MFSampleEncryptionProtectionScheme enum. New MF_CUSTOM_DECODE_UNIT_TYPE enum.
  • Mferror.h: New MF_TYPE_ERR define.
  • mfidl.h\idl: New IMFSensorProcessActivity, IMFSensorActivityReport, IMFSensorActivitiesReport, IMFSensorActivitiesReportCallback & IMFSensorActivityMonitor interfaces. New MF_MPEG4SINK_MINIMUM_PROPERTIES_SIZE define. New MF_RESOLUTION_ENABLE_STORE_PLUGINS, MF_MEDIAKEYSESSION_TYPE_PERSISTENT_USAGE_RECORD, MF_MEDIAKEY_STATUS_RELEASED, MF_MEDIAKEY_STATUS_OUTPUT_RESTRICTED enum values.
  • mfmediaengine.h\idl: New IMFMediaSourceExtensionLiveSeekableRange interface.
  • microsoft.diagnostics.appanalysis.h: File has been generated using new MIDLRT compiler.
  • minidumpapiset.h: New IptTraceStream, ThreadNamesStream, MiniDumpWithIptTrace & MiniDumpValidTypeFlags enum values. New MINIDUMP_THREAD_NAME & MINIDUMP_THREAD_NAME_LIST structs.
  • minwinbase.h: New READ_DIRECTORY_NOTIFY_INFORMATION_CLASS enum. New PENCLAVE_ROUTINE function pointer.
  • MSClus.h: New ClusGroupTypeInfrastructureFileServer, CLCTL_*, CLUSCTL_RESOURCE_* & CLUSCTL_GROUP_* enum values. New CLUSTER_MGMT_POINT_RESTYPE, CLUSTER_CLOUD_TYPE & CLUSTER_STORAGENODE_STATE enums.
  • msft_associations.mof: New member of MSFT_StorageNodeToStorageEnclosure class.
  • msft_disk.mof: New method of MSFT_Disk class.
  • msft_healthaction.mof: New members of MSFT_HealthAction class.
  • msft_physicaldisk.mof: New member of MSFT_PhysicalDisk class.
  • msft_storagediagnoseresult.mof: New member of MSFT_StorageDiagnoseResult class.
  • msft_storageenclosure.mof: New members of MSFT_StorageEnclosure class.
  • msft_storagehealth.mof: New member of MSFT_StorageHealth class.
  • msft_storagepool.mof: New members of MSFT_StoragePool class.
  • msft_storagetier.mof: New members of MSFT_StorageTier class.
  • msft_virtualdisk.mof: New members of MSFT_VirtualDisk class.
  • MsHtmcid.h: New IDM_FOLLOWLINKN_INPRIVATE, IDM_FOLLOWLINKT_INPRIVATE, IDM_ADDPDFNOTE, IDM_OPENPDFNOTE, IDM_EDITPDFHIGHLIGHT, IDM_PINKHIGHLIGHT, IDM_BLUEHIGHLIGHT, IDM_GREENHIGHLIGHT, IDM_YELLOWHIGHLIGHT & IDM_NONEHIGHLIGHT defines.
  • ncrypt.h: New NCRYPTBUFFER_ISOLATED_KEY_ATTESTATION_CLAIM_RESTRICTIONS, NCRYPT_CLAIM_ISOLATED_KEY_ATTESTATION_STATEMENT, NCRYPT_ISOLATED_KEY_FLAG_CREATED_IN_ISOLATION, NCRYPT_ISOLATED_KEY_FLAG_IMPORT_ONLY, NCRYPT_PUBLIC_KEY_ATTESTED_ATTRIBUTES_V1, NCRYPT_PUBLIC_KEY_ATTESTED_ATTRIBUTES_CURRENT_VERSION, NCRYPT_PUBLIC_KEY_ATTESTATION_STATEMENT_V1, NCRYPT_PUBLIC_KEY_ATTESTATION_STATEMENT_CURRENT_VERSION, NCRYPT_ISOLATED_KEY_ATTESTATION_CLAIM_RESTRICTIONS_V1, NCRYPT_ISOLATED_KEY_ATTESTATION_CLAIM_RESTRICTIONS_CURRENT_VERSION, NCRYPT_EXPORTED_ISOLATED_KEY_HEADER_V1, NCRYPT_EXPORTED_ISOLATED_KEY_HEADER_CURRENT_VERSION, NCRYPT_PCP_RSA_SCHEME_HASH_ALG_PROPERTY, NCRYPT_PCP_TPM2BNAME_PROPERTY, NCRYPT_ALLOW_KEY_IMPORT_FLAG, NCRYPT_TPM_LOADABLE_KEY_BLOB_MIN_SIZE, NCRYPT_TPM_LOADABLE_KEY_BLOB, NCRYPT_TPM_LOADABLE_KEY_BLOB_MAGIC & NCRYPT_ISOLATED_KEY_ENVELOPE_BLOB defines. New NCRYPT_PUBLIC_KEY_ATTESTED_ATTRIBUTES, NCRYPT_PUBLIC_KEY_ATTESTATION_STATEMENT, NCRYPT_ISOLATED_KEY_ATTESTATION_CLAIM_RESTRICTIONS, NCRYPT_EXPORTED_ISOLATED_KEY_HEADER, NCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE & NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER structs. I will look to update CryptoWrappers in the near future to support this new functionality.
  • Npapi.h: WNNC_CF_MAXIMUM define has been updated.
  • ntenclv.h: New Header file to support Software Enclaves Kernel API.
  • ProcessSnapshot.h: New PSS_CAPTURE_IPT_TRACE enum value.
  • processthreadsapi.h: New ThreadPowerThrottling, ProcessReservedValue1, ProcessTelemetryCoverageInfo & ProcessProtectionLevelInfo enum values. New THREAD_POWER_THROTTLING_STATE & PROCESS_PROTECTION_LEVEL_INFORMATION structs. New PROCESS_POWER_THROTTLING_VALID_FLAGS define.
  • propkey.h: New FILEOFFLINEAVAILABILITYSTATUS_PARTIAL, FILEOFFLINEAVAILABILITYSTATUS_COMPLETE, FILEOFFLINEAVAILABILITYSTATUS_COMPLETE_PINNED, FILEOFFLINEAVAILABILITYSTATUS_EXCLUDED, FILEOFFLINEAVAILABILITYSTATUS_FOLDER_EMPTY, PKEY_LastSyncWarning, PKEY_Devices_Aep_Bluetooth_LastSeenTime, PKEY_Devices_SchematicName & SFGAOSTR_PLACEHOLDER defines.
  • RegStr.h: New CONFIGFLAG_NEEDS_CLASS_CONFIG define.
  • Resapi.h: New LPGROUP_CALLBACK_EX function pointer. New ResUtilsDeleteKeyTree, ResUtilEnumGroups, ResUtilEnumGroupsEx, ResUtilDupGroup, ResUtilGetClusterGroupType, ResUtilGetCoreGroup, ResUtilResourceDepEnum, ResUtilDupResource & ResUtilGetClusterId APIs.
  • ShlObj_core.h: New KF_FLAG_NO_PACKAGE_REDIRECTION enum value.
  • Shlwapi.h: ASSOCDATA_QUERYCLASSSTORE enum value has been redefined to ASSOCDATA_UNUSED1.
  • ShObjIdl_core.h\idl: New SFGAO_PLACEHOLDER define. New STS_HASWARNING, STS_EXCLUDED, STS_INCOMPLETE, PS_CLOUDFILE_PLACEHOLDER & PS_DEFAULT enum values.
  • sqlext.h: New SQL_ATTR_APPLICATION_KEY & SQL_API_SQLPRIVATEDRIVERS defines.
  • tdh.h: New TDH_OUTTYPE_CODE_POINTER & TEMPLATE_CONTROL_GUID enum values. New members in TRACE_EVENT_INFO struct.
  • UIAutomationClient.h\idl: New IUIAutomationNotificationEventHandler, IUIAutomationSelectionPattern2 & IUIAutomation5 interfaces. New UIA_SelectionPattern2Id, UIA_NotificationEventId, UIA_IsSelectionPattern2AvailablePropertyId, UIA_Selection2FirstSelectedItemPropertyId, UIA_Selection2LastSelectedItemPropertyId, UIA_Selection2CurrentSelectedItemPropertyId & UIA_Selection2ItemCountPropertyId defines.
  • UIAutomationCore.h\idl: New ISelectionProvider2 interface. New NotificationProcessing & NotificationKind enums.
  • UIAutomationCoreApi.h: New Notification_Event_GUID, IsSelectionPattern2Available_Property_GUID, Selection2_FirstSelectedItem_Property_GUID, Selection2_LastSelectedItem_Property_GUID, Selection2_CurrentSelectedItem_Property_GUID, Selection2_ItemCount_Property_GUID & Selection_Pattern2_GUID define. New EventArgsType_Notification enum value. New UiaRaiseNotificationEvent API.
  • usbuser.h: New USB_HC_FEATURE_TIME_SYNC_API define.
  • UserConsentVerifierInterop.h\idl: New header file with new IUserConsentVerifierInterop interface.
  • vdssys.h: New CREATE_VIRTUAL_DISK_VERSION_4, CREATE_VIRTUAL_DISK_FLAG_PMEM_COMPATIBLE & MIRROR_VIRTUAL_DISK_FLAG_SKIP_MIRROR_ACTIVATION enum values. New members in CREATE_VIRTUAL_DISK_PARAMETERS struct.
  • virtdisk.h: New CREATE_VIRTUAL_DISK_VERSION_4, CREATE_VIRTUAL_DISK_FLAG_PMEM_COMPATIBLE & MIRROR_VIRTUAL_DISK_FLAG_SKIP_MIRROR_ACTIVATION enum values. New members in CREATE_VIRTUAL_DISK_PARAMETERS struct.
  • wbcl.h: New SIPAEV_EFI_VARIABLE_AUTHORITY, SIPAEVENTTYPE_KSR, SIPAEVENT_KSR_AGGREGATION, SIPAEVENT_KSR_SIGNED_MEASUREMENT_AGGREGATION & SIPAEVENT_KSR_SIGNATURE, SIPAKSRHDRSIGNATURE defines. New SIPAEVENT_KSR_SIGNATURE_PAYLOAD struct.
  • WDBGEXTS.H: New DBG_DUMP_FIELD_UTF32_STRING define.
  • WerApi.h: New WER_MAX_LOCAL_DUMP_SUBPATH_LENGTH define. New WerRegisterAppLocalDump & WerUnregisterAppLocalDump APIs.
  • WinBase.h: New PROTECTION_LEVEL_WINTCB_LIGHT, PROTECTION_LEVEL_WINDOWS, PROTECTION_LEVEL_WINDOWS_LIGHT, PROTECTION_LEVEL_ANTIMALWARE_LIGHT, PROTECTION_LEVEL_LSA_LIGHT, PROTECTION_LEVEL_WINTCB, PROTECTION_LEVEL_CODEGEN_LIGHT, PROTECTION_LEVEL_AUTHENTICODE, PROTECTION_LEVEL_PPL_APP, PROTECTION_LEVEL_NONE, PROCESS_CREATION_MITIGATION_POLICY2_MODULE_TAMPERING_PROTECTION_MASK, PROCESS_CREATION_MITIGATION_POLICY2_MODULE_TAMPERING_PROTECTION_DEFER, PROCESS_CREATION_MITIGATION_POLICY2_MODULE_TAMPERING_PROTECTION_ALWAYS_ON, PROCESS_CREATION_MITIGATION_POLICY2_MODULE_TAMPERING_PROTECTION_ALWAYS_OFF, PROCESS_CREATION_MITIGATION_POLICY2_MODULE_TAMPERING_PROTECTION_RESERVED, PROCESS_CREATION_CHILD_PROCESS_RESTRICTED_UNLESS_SECURE & FILE_RENAME_FLAG_SUPPRESS_PIN_STATE_INHERITANCE defines. New OpenCommPort & ReadDirectoryChangesExW APIs.
  • winbio_adapter.h: New PIBIO_SENSOR_QUERY_PRIVATE_SENSOR_TYPE_FN, PIBIO_ENGINE_ACCEPT_PRIVATE_SENSOR_TYPE_INFO_FN, PIBIO_FRAMEWORK_LOCK_AND_VALIDATE_SECURE_BUFFER_FN & PIBIO_FRAMEWORK_RELEASE_SECURE_BUFFER_FN function pointers. New WINBIO_SENSOR_INTERFACE_VERSION_5, WINBIO_ENGINE_INTERFACE_VERSION_5 & WINBIO_FRAMEWORK_INTERFACE_VERSION_6_0 defines. New members in WINBIO_SENSOR_INTERFACE, WINBIO_ENGINE_INTERFACE & WINBIO_FRAMEWORK_INTERFACE structs. Parameters to PIBIO_SENSOR_ASYNC_IMPORT_SECURE_BUFFER_FN, WbioSensorAsyncImportSecureBuffer & WbioFrameworkVsmSensorAsyncImportSecureBuffer have changed. New WbioSensorQueryPrivateSensorType, WbioEngineAcceptPrivateSensorTypeInfo, WbioFrameworkVsmSensorPushDataToEngine, WbioFrameworkLockAndValidateSecureBuffer & WbioFrameworkReleaseSecureBuffer APIs.
  • wincrypt.h: New szOID_ENCLAVE_SIGNING, szOID_CT_CERT_SCTLIST & PKCS12_VIRTUAL_ISOLATION_KEY defines.
  • WinDNS.h: New DNS_CONNECTION_NAME_MAX_LENGTH, DNS_CONNECTION_PROXY_INFO_CURRENT_VERSION, DNS_CONNECTION_PROXY_INFO_SERVER_MAX_LENGTH, DNS_CONNECTION_PROXY_INFO_FRIENDLY_NAME_MAX_LENGTH, DNS_CONNECTION_PROXY_INFO_USERNAME_MAX_LENGTH, DNS_CONNECTION_PROXY_INFO_PASSWORD_MAX_LENGTH, DNS_CONNECTION_PROXY_INFO_EXCEPTION_MAX_LENGTH, DNS_CONNECTION_PROXY_INFO_EXTRA_INFO_MAX_LENGTH, DNS_CONNECTION_PROXY_INFO_FLAG_DISABLED, DNS_CONNECTION_PROXY_INFO_FLAG_BYPASSLOCAL & DNS_CONNECTION_POLICY_ENTRY_ONDEMAND defines. New DNS_CONNECTION_PROXY_TYPE, DNS_CONNECTION_PROXY_INFO_SWITCH enums. New DNS_CONNECTION_PROXY_INFO, DNS_CONNECTION_PROXY_INFO_EX, DNS_CONNECTION_PROXY_ELEMENT, DNS_CONNECTION_PROXY_LIST, DNS_CONNECTION_NAME, DNS_CONNECTION_NAME_LIST, DNS_CONNECTION_IFINDEX_ENTRY, DNS_CONNECTION_IFINDEX_LIST & DNS_CONNECTION_POLICY_ENTRY, DNS_CONNECTION_POLICY_ENTRY_LIST structs. New DnsConnectionGetProxyInfoForHostUrl, DnsConnectionFreeProxyInfoEx, DnsConnectionGetProxyInfo, DnsConnectionFreeProxyInfo, DnsConnectionSetProxyInfo, DnsConnectionDeleteProxyInfo, DnsConnectionGetProxyList, DnsConnectionFreeProxyList, DnsConnectionGetNameList, DnsConnectionFreeNameList, DnsConnectionUpdateIfIndexTable, DnsConnectionSetPolicyEntries & DnsConnectionDeletePolicyEntries APIs. New DNS_CONNECTION_POLICY_TAG enum.
  • windows.graphics.printing.workflow.native.h\idl: New IPrintWorkflowConfigurationNative interface.
  • Windows.h: New _CHPE_X86_ARM64_ define. This is part of Windows 10 on ARM.
  • winenclave.h: New header file to support Windows software enclaves. This will be the Windows projection for Intel Software Guard Extension Enclaves.
  • winenclaveapi.h: New header file to support Windows software enclaves. New EnclaveGetPlatformHealthReportSize, EnclaveGetPlatformHealthReport , EnclaveGetAttestationReportSize , EnclaveGetAttestationReport , EnclaveVerifyAttestationReport , EnclaveGetSealedDataSize , EnclaveSealData , EnclaveGetUnsealedDataSize & EnclaveUnsealData APIs. This will be the Windows projection for Intel Software Guard Extension Enclaves.
  • wingdi.h: New members in DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO struct.
  • WinInet.h: INTERNET_ERROR_LAST define has been updated.
  • Winineti.h: New INTERNET_OPTION_CANCEL_CACHE_WRITE, INTERNET_OPTION_AUTH_SCHEME_SELECTED, INTERNET_OPTION_NOCACHE_WRITE_IN_PRIVATE & ERROR_INTERNET_DISALLOW_INPRIVATE defines. COOKIE_ALLOWED_COOKIE_FLAGS, HTTP_WEB_SOCKET_MIN_KEEPALIVE_VALUE defines have been updated.
  • winioctl.h: New FILE_DEVICE_SDFXHCI, IOCTL_STORAGE_DIAGNOSTIC, IOCTL_STORAGE_GET_PHYSICAL_ELEMENT_STATUS, IOCTL_STORAGE_REMOVE_ELEMENT_AND_TRUNCATE, STORAGE_TIER_FLAG_SMR, DeviceDsmAction_ReportZones, DeviceDsmAction_OpenZone, DeviceDsmAction_FinishZone, DeviceDsmAction_CloseZone, DeviceDsmAction_ResetWritePointer, DeviceDsmAction_GetRangeErrorInfo, DeviceDsmAction_WriteZeroes, DEVICE_DSM_RANGE_ERROR_INFO_VERSION_V1, DEVICE_STORAGE_NO_ERRORS, STORAGE_HW_FIRMWARE_REQUEST_FLAG_FIRST_SEGMENT, FSCTL_QUERY_REFS_SMR_VOLUME_INFO, FSCTL_SET_REFS_SMR_VOLUME_GC_PARAMETERS, FSCTL_SET_REFS_FILE_STRICTLY_SEQUENTIAL, FSCTL_DUPLICATE_EXTENTS_TO_FILE_EX, FSCTL_QUERY_BAD_RANGES, FSCTL_SET_DAX_ALLOC_ALIGNMENT_HINT, CSV_QUERY_MDS_PATH_V2_VERSION_1, CSV_QUERY_MDS_PATH_FLAG_STORAGE_ON_THIS_NODE_IS_CONNECTED, CSV_QUERY_MDS_PATH_FLAG_CSV_DIRECT_IO_ENABLED, CSV_QUERY_MDS_PATH_FLAG_SMB_BYPASS_CSV_ENABLED, FILE_STORAGE_TIER_FLAG_SMR, DUPLICATE_EXTENTS_DATA_EX_SOURCE_ATOMIC, REFS_SMR_VOLUME_INFO_OUTPUT_VERSION_V1, REFS_SMR_VOLUME_GC_PARAMETERS_VERSION_V1, STREAMS_INVALID_ID, STREAMS_MAX_ID & STREAMS_ASSOCIATE_ID_CLEAR, STREAMS_ASSOCIATE_ID_SET defines. New StorageDeviceZonedDeviceProperty, StorageDeviceUnsafeShutdownCount, ProtocolTypeUfs, DiskOpReasonLostWritePersistence, DiskOpReasonDataPersistenceLossImminent, DiskOpReasonWritePersistenceLossImminent & CsvControlGetCsvFsMdsPathV2 enum values. New STORAGE_PROTOCOL_UFS_DATA_TYPE, STORAGE_ZONED_DEVICE_TYPES, STORAGE_ZONE_TYPES, STORAGE_ZONE_GROUP, STORAGE_ZONED_DEVICE_DESCRIPTOR, STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT, DEVICE_DSM_REPORT_ZONES_PARAMETERS, STORAGE_ZONE_DESCRIPTOR, DEVICE_DSM_REPORT_ZONES_DATA, DEVICE_STORAGE_RANGE_ATTRIBUTES, DEVICE_DSM_RANGE_ERROR_INFO, STORAGE_DIAGNOSTIC_REQUEST, STORAGE_DIAGNOSTIC_DATA, PHYSICAL_ELEMENT_STATUS_REQUEST, PHYSICAL_ELEMENT_STATUS_DESCRIPTOR, PHYSICAL_ELEMENT_STATUS, REMOVE_ELEMENT_AND_TRUNCATE_REQUEST, STORAGE_HW_FIRMWARE_DOWNLOAD_V2, CSV_QUERY_MDS_PATH_V2, DUPLICATE_EXTENTS_DATA_EX, DUPLICATE_EXTENTS_DATA_EX32, REFS_SMR_VOLUME_INFO_OUTPUT, REFS_SMR_VOLUME_GC_PARAMETERS, STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER, STREAMS_ASSOCIATE_ID_INPUT_BUFFER, STREAMS_QUERY_ID_OUTPUT_BUFFER, QUERY_BAD_RANGES_INPUT_RANGE, QUERY_BAD_RANGES_INPUT, QUERY_BAD_RANGES_OUTPUT_RANGE, QUERY_BAD_RANGES_OUTPUT & SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT structs. New STORAGE_ZONE_CONDITION, STORAGE_ZONES_ATTRIBUTES, STORAGE_DIAGNOSTIC_LEVEL, STORAGE_DIAGNOSTIC_TARGET_TYPE, REFS_SMR_VOLUME_GC_STATE, REFS_SMR_VOLUME_GC_ACTION & REFS_SMR_VOLUME_GC_METHOD enums. New members in NTFS_STATISTICS_EX struct.
  • winmeta.h\xml: New WINEVENT_CHANNEL_PROVIDERMETADATA & MSG_channel_ProviderMetadata defines.
  • winnetwk.h: New CONNECT_REQUIRE_INTEGRITY & CONNECT_REQUIRE_PRIVACY defines.
  • WinNls.h: A lot of the NLS APIs in this header file have been marked as deprecated. New GetGeoInfoEx, EnumSystemGeoNames, GetUserDefaultGeoName & SetUserGeoName APIs.
  • winnt.h: New PRODUCT_SERVERRDS define. It’s not clear what SKU this define us for but I will look to add support to DtWinVer once it becomes clear what this value means. A lot of the NLS APIs in this header file have been marked as deprecated. UNREFERENCED_PARAMETER, DBG_UNREFERENCED_PARAMETER & DBG_UNREFERENCED_LOCAL_VARIABLE defines have been updated. New members in ARM64_NT_CONTEXT, PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY, PROCESS_MITIGATION_DYNAMIC_CODE_POLICY, PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY, PROCESS_MITIGATION_IMAGE_LOAD_POLICY, IMAGE_LOAD_CONFIG_DIRECTORY32, IMAGE_LOAD_CONFIG_DIRECTORY64, IMAGE_HOT_PATCH_INFO & IMAGE_HOT_PATCH_BASE structs. New InterlockedIncrementRelease64, InterlockedIncrementNoFence64, InterlockedDecrementAcquire64, InterlockedDecrementRelease64, InterlockedDecrementNoFence64, DOMAIN_USER_RID_WDAG_ACCOUNT, SECURITY_PROCESS_PROTECTION_LEVEL_AUTHENTICODE_RID, ENCLAVE_VBS_FLAG_DEBUG, TREE_CONNECT_ATTRIBUTE_PRIVACY, TREE_CONNECT_ATTRIBUTE_INTEGRITY, TREE_CONNECT_ATTRIBUTE_GLOBAL, FILE_SUPPORTS_POSIX_UNLINK_RENAME, IO_REPARSE_TAG_WCI_1, IO_REPARSE_TAG_CLOUD_*, GUID_LEGACY_RTC_MITIGATION, GUID_PROCESSOR_THREAD_SCHEDULING_POLICY, GUID_PROCESSOR_SHORT_THREAD_SCHEDULING_POLICY, POWER_CONNECTIVITY_IN_STANDBY_SYSTEM_MANAGED, IMAGE_WEAK_EXTERN_ANTI_DEPENDENCY, IMAGE_ENCLAVE_LONG_ID_LENGTH, IMAGE_ENCLAVE_SHORT_ID_LENGTH, IMAGE_ENCLAVE_POLICY_DEBUGGABLE, IMAGE_ENCLAVE_CONFIG64, PIMAGE_ENCLAVE_CONFIG64, IMAGE_ENCLAVE_CONFIG32, PIMAGE_ENCLAVE_CONFIG32, IMAGE_ENCLAVE_IMPORT_MATCH_NONE, IMAGE_ENCLAVE_IMPORT_MATCH_UNIQUE_ID, IMAGE_ENCLAVE_IMPORT_MATCH_AUTHOR_ID, IMAGE_ENCLAVE_IMPORT_MATCH_FAMILY_ID, IMAGE_ENCLAVE_IMPORT_MATCH_IMAGE_ID, FAST_FAIL_INVALID_IAT, FAST_FAIL_HEAP_METADATA_CORRUPTION, FAST_FAIL_PAYLOAD_RESTRICTION_VIOLATION, FAST_FAIL_LOW_LABEL_ACCESS_DENIED, RTL_CORRELATION_VECTOR_STRING_LENGTH, RTL_CORRELATION_VECTOR_VERSION_1, RTL_CORRELATION_VECTOR_VERSION_2, RTL_CORRELATION_VECTOR_VERSION_CURRENT, RTL_CORRELATION_VECTOR_V1_PREFIX_LENGTH, RTL_CORRELATION_VECTOR_V1_LENGTH, RTL_CORRELATION_VECTOR_V2_PREFIX_LENGTH, RTL_CORRELATION_VECTOR_V2_LENGTH, CORRELATION_VECTOR, TraceLoggingCORRELATION_VECTOR, IMAGE_POLICY_METADATA_VERSION, IMAGE_POLICY_SECTION_NAME, IMAGE_POLICY_METADATA_NAME, IMAGE_POLICY_*, DEVICEFAMILYDEVICEFORM_XBOX_ONE, DEVICEFAMILYDEVICEFORM_XBOX_ONE_S, DEVICEFAMILYDEVICEFORM_XBOX_ONE_SCORPIO & DEVICEFAMILYDEVICEFORM_XBOX_ONE_SCORPIO_DEVKIT defines. New TokenChildProcessFlags, ProcessSystemCallFilterPolicy, ProcessPayloadRestrictionPolicy, ProcessChildProcessPolicy & MonitorRequestReasonUser* enum values. New PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY, PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY, PROCESS_MITIGATION_CHILD_PROCESS_POLICY, ENCLAVE_CREATE_INFO_VBS, ENCLAVE_INIT_INFO_VBS, FILE_NOTIFY_EXTENDED_INFORMATION, IMAGE_ENCLAVE_CONFIG32, IMAGE_ENCLAVE_CONFIG64, IMAGE_ENCLAVE_IMPORT, CORRELATION_VECTOR, IMAGE_POLICY_ENTRY & IMAGE_POLICY_METADATA structs. New ENCLAVE_TARGET_FUNCTION function pointer. New RtlInitializeCorrelationVector, RtlIncrementCorrelationVector, RtlExtendCorrelationVector & RtlValidateCorrelationVector APIs. New IMAGE_POLICY_ENTRY_TYPE & IMAGE_POLICY_ID enums. DEVICEFAMILYDEVICEFORM_MAX define has been updated.
  • winnt.rh: A lot of the NLS APIs in this header file have been marked as deprecated.
  • winternl.h: New KPRIORITY define. New CLIENT_ID & SYSTEM_THREAD_INFORMATION structs. New members in SYSTEM_PROCESS_INFORMATION struct.
  • winusb.h: New USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION, USB_STOP_TRACKING_FOR_TIME_SYNC_INFORMATION & USB_FRAME_NUMBER_AND_QPC_FOR_TIME_SYNC_INFORMATION structs. New WinUsb_StartTrackingForTimeSync, WinUsb_GetCurrentFrameNumberAndQpc & WinUsb_StopTrackingForTimeSync APIs. I will look to update WinUSBWrappers in the near future to support this new functionality.
  • WinUser.h: New EnableMouseInPointerForThread API. New IDC_PIN, IDC_PERSON, SPI_GETCARETTIMEOUT & SPI_SETCARETTIMEOUT defines.
  • wlanapi.h: New WLAN_CONNECTION_PERSIST_DISCOVERY_PROFILE_OVERWRITE_EXISTING & DEVPKEY_InfraCast_HostName_ResolutionMode defines.
  • wmcodecdsp.h: New MEDIASUBTYPE_DTS_HD_HRA define.
  • wow64apiset.h: New Wow64SetThreadDefaultGuestMachine, IsWow64Process2 & IsWow64GuestMachineSupported APIs.
  • wslapi.h: New Header file to support managing distributions in the Windows subsystem for Linux.
  • wuapi.h\idl: New uoRollback enum value.
  • wuerror.h: New WU_E_UPDATE_NOT_APPROVED & WU_E_SIH_POST_REBOOT_INSTALL_FAILED defines.

So, there are not too many Win32 changes in this revision of Windows 10 compared to other release but it’s nice to see the Windows SDK updates. Happy coding.

Categories: Programming

Changes in the Windows v10.0.16232 SDK compared to Windows v10.0.15063 SDK (Part One)

July 16, 2017 Comments off

This is a comparison of the differences between the Windows 10 SDK (v10.0.15063) which corresponds to Windows 10 version 1703 and the pre-release version (v10.0.16232) SDK which will correspond to Windows 10 “Redstone 3” aka Windows 10 Fall Creators Update. This will highlight any interesting new Windows API changes which are available in the Fall Creators Update. Part one of this review will concentrate on the “shared” header file which contains the defines which are shared between Kernel mode and User mode. The upcoming second part of this blog post will look at the “um” folder differences which contain the user mode header files.

Ok, let’s dive into the changes:

  • Some of the header files have reworked references to the concept of SDK Family and Partitions which segregate the APIs available from the SDK header files as being available on certain Families E.g. Windows Phone, Windows Desktop, Window Server, WinRT etc.
  • Some of the header files have been updated to keep up to date with the latest SAL annotation improvements.
  • Some of the header files contain code which is protected by a NTDDI_WIN10_RS3 define and some header files have comments that they need to start using this define. This define value is used by the SDK to protect features only available in “Redstone 3” aka Windows 10 Fall Creators Update.
  • afunix.h: New header files for AF_UNIX socket address family.
  • bthdef.h: New BDIF_BR_SECURE_CONNECTION_PAIRED & BDIF_LE_SECURE_CONNECTION_PAIRED defines.
  • bugcodes.h: New KERNEL_PARTITION_REFERENCE_VIOLATION, CALL_HAS_NOT_RETURNED_WATCHDOG_TIMEOUT_LIVEDUMP, DRIPS_SW_HW_DIVERGENCE_LIVEDUMP, EXRESOURCE_TIMEOUT_LIVEDUMP, INVALID_CALLBACK_STACK_ADDRESS, INVALID_KERNEL_STACK_ADDRESS, HARDWARE_WATCHDOG_TIMEOUT, ACPI_FIRMWARE_WATCHDOG_TIMEOUT & TELEMETRY_ASSERTS_LIVEDUMP defines.
  • cfg.h: New CM_PROB_CONSOLE_LOCKED, CM_PROB_NEED_CLASS_CONFIG, NUM_CM_PROB_V8 & NUM_CM_PROB NUM_CM_PROB_V8 defines.
  • common.ver: BUILD_MACHINE_TAG define has been updated.
  • d3dukmdt.h: New DXGKDDI_INTERFACE_VERSION_WDDM2_3, D3D_UMD_INTERFACE_VERSION_WDDM2_3_1 & D3D_UMD_INTERFACE_VERSION_WDDM2_3 defines. DXGKDDI_INTERFACE_VERSION, D3D_UMD_INTERFACE_VERSION has been updated. New DXGKVGPU_ESCAPE_TYPE_*, D3DDDI_COLOR_SPACE* enum values. New DXGKVGPU_ESCAPE_WRITE_PCI_CONFIG &DXGKVGPU_ESCAPE_POWERTRANSITIONCOMPLETE, DXGKVGPU_ESCAPE_INITIALIZE, DXGKVGPU_ESCAPE_RELEASE, D3DDDI_OUTPUT_WIRE_COLOR_SPACE_TYPE & D3DKMDT_3x4_COLORSPACE_TRANSFORM structs. New members in D3DDDI_ALLOCATIONINFO2, D3DDDI_CREATECONTEXTFLAGS & D3DDDI_GAMMARAMP_TYPE structs.
  • devguid.h: New GUID_DEVCLASS_CAMERA, GUID_DEVCLASS_SCMDISK, GUID_DEVCLASS_SCMVOLUME, GUID_DEVCLASS_SMRDISK, GUID_DEVCLASS_SMRVOLUME & GUID_DEVCLASS_SOFTWARECOMPONENT defines.
  • devioctl.h: New FILE_DEVICE_SDFXHCI define.
  • devpkey.h: New DEVPKEY_Device_Reported, DEVPKEY_Device_Legacy & DEVPKEY_DeviceInterface_SchematicName defines.
  • driverspecs.h: SAL_internal_kernel_driver, SAL_kernel, SAL_nokernel, SAL_driver & SAL_nodriver defines have been updated.
  • dxgi1_6.h\idl: New DXGI_ADAPTER_FLAG3_SUPPORT_MONITORED_FENCES, DXGI_ADAPTER_FLAG3_SUPPORT_NON_MONITORED_FENCES & DXGI_ADAPTER_FLAG3_KEYED_MUTEX_CONFORMANCE enum values.
  • dxgicommon.h\idl: New DXGI_COLOR_SPACE_RGB_STUDIO_G24_NONE_P709, DXGI_COLOR_SPACE_RGB_STUDIO_G24_NONE_P2020, DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_LEFT_P709, DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_LEFT_P2020 & DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_TOPLEFT_P2020 enum values.
  • evntprov.h: New EVENT_FILTER_TYPE_STACKWALK_NAME & EVENT_FILTER_TYPE_STACKWALK_LEVEL_KW defines. New EVENT_FILTER_LEVEL_KW struct. This file has also been extensively updated with new comments.
  • evntrace.h: New EVENT_TRACE_TYPE_CONFIG_PROCESSOR define. New TraceProviderBinaryTracking, TraceMaxLoggersQuery, enum values. New ETW_PROCESS_HANDLE_INFO_TYPE & ETW_TRACE_PARTITION_INFORMATION structs. New QueryTraceProcessingHandle API.
  • fwpmtypes.h\idl: New FWPM_PROVIDER_CONTEXT3 struct. New FWPM_FILTER_FLAG_IPSEC_NO_ACQUIRE_INITIATE define. New members in FWPM_STATISTICS0 struct.
  • fwpstypes.h\idl: New FWPS_FILTER_FLAG_IPSEC_NO_ACQUIRE_INITIATE define. New FWPS_FILTER3 struct.
  • fwpvi.h: New FWPM_PROVIDER_CONTEXT FWPM_PROVIDER_CONTEXT3, FWPS_FILTER FWPS_FILTER3, IPSEC_TUNNEL_POLICY IPSEC_TUNNEL_POLICY3, IPSEC_TRAFFIC_SELECTOR IPSEC_TRAFFIC_SELECTOR0, IPSEC_TRAFFIC_SELECTOR_POLICY IPSEC_TRAFFIC_SELECTOR_POLICY0, FwpmProviderContextAdd, FwpmProviderContextGetById, FwpmProviderContextGetByKey, FwpmProviderContextEnum, FwpmIPsecTunnelAdd, FWPS_CALLOUT_CLASSIFY_FN, FWPS_CALLOUT_NOTIFY_FN & FwpsCalloutRegister defines.
  • hidusage.h: New HID_USAGE_CONSUMER_AL_SEARCH define.
  • hvsocket.h: New HVSOCKET_CONNECTED_SUSPEND, HV_GUID_VSOCK_TEMPLATE defines. IOCTL_HVSOCKET_UPDATE_ADDRESS_INFO define has been removed.
  • hwn.h: A new header file for “Hardware Notification Services”.
  • iketypes.h\idl: New IKEEXT_CIPHER_AES_GCM_128_16ICV & IKEEXT_CIPHER_AES_GCM_256_16ICV enum values. New IKEEXT_POLICY_FLAG_SITE_TO_SITE define.
  • ipsectypes.h\idl: New IPSEC_TRAFFIC_SELECTOR0, IPSEC_TRAFFIC_SELECTOR_POLICY0 & IPSEC_TUNNEL_POLICY3 structs. New IPSEC_POLICY_FLAG_SITE_TO_SITE_TUNNEL define.
  • ks386.inc: Various miscellaneous changes to X86 assembler code.
  • kxamd64.inc: Various miscellaneous changes to X64 assembler code.
  • ksarm.h: New header with various defines for ARM
  • ksmedia.h: New KSPROPERTY_CAMERACONTROL_EXTENDED_VIDEOTEMPORALDENOISING enum value. New KSCAMERA_EXTENDEDPROP_VIDEOTEMPORALDENOISING_AUTO, KSCAMERA_EXTENDEDPROP_VIDEOTEMPORALDENOISING_OFF & KSCAMERA_EXTENDEDPROP_VIDEOTEMPORALDENOISING_ON defines.
  • kxamd64.inc: Various miscellaneous changes to X64 assembler code.
  • kxarm.h: New header with various defines for ARM
  • kxarmunw.h: New header with various defines for ARM
  • mstcpip.h: New TCP_INITIAL_RTO_NO_SYN_RETRANSMISSIONS define.
  • netiodef.h: New FALLBACK_INDEX enum
  • ntdddisk.h: New __WRAPPED__ define.
  • ntddndis.h: New defines to support NDIS 6.8 functionality included with Windows 10 Fall Creators Update
  • ntddscsi.h: New IOCTL_SCSI_MINIPORT_DIAGNOSTIC, STORAGE_DIAGNOSTIC_STATUS_* & FIRMWARE_REQUEST_FLAG_FIRST_SEGMENT defines. New MP_STORAGE_DIAGNOSTIC_LEVEL & MP_STORAGE_DIAGNOSTIC_TARGET_TYPE enums. New STORAGE_DIAGNOSTIC_MP_REQUEST struct. New member in STORAGE_FIRMWARE_DOWNLOAD_V2 struct.
  • ntddstor.h: New IOCTL_STORAGE_DIAGNOSTIC, IOCTL_STORAGE_GET_PHYSICAL_ELEMENT_STATUS, IOCTL_STORAGE_REMOVE_ELEMENT_AND_TRUNCATE, STORAGE_TIER_FLAG_SMR, DeviceDsmAction_*, DEVICE_DSM_RANGE_ERROR_INFO_VERSION_V1, DEVICE_STORAGE_NO_ERRORS & STORAGE_HW_FIRMWARE_REQUEST_FLAG_FIRST_SEGMENT defines. New StorageDeviceZonedDeviceProperty, StorageDeviceUnsafeShutdownCount, ProtocolTypeUfs, DiskOpReasonLostWritePersistence, DiskOpReasonDataPersistenceLossImminent & DiskOpReasonWritePersistenceLossImminent enum values. New STORAGE_PROTOCOL_UFS_DATA_TYPE, STORAGE_ZONE_CONDITION, STORAGE_ZONES_ATTRIBUTES, STORAGE_DIAGNOSTIC_LEVEL & STORAGE_DIAGNOSTIC_TARGET_TYPE enums. New STORAGE_ZONED_DEVICE_TYPES, STORAGE_ZONE_TYPES, STORAGE_ZONE_GROUP, STORAGE_ZONED_DEVICE_DESCRIPTOR, STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT, DEVICE_DSM_REPORT_ZONES_PARAMETERS, STORAGE_ZONE_DESCRIPTOR, DEVICE_DSM_REPORT_ZONES_DATA, DEVICE_STORAGE_RANGE_ATTRIBUTES, DEVICE_DSM_RANGE_ERROR_INFO, STORAGE_DIAGNOSTIC_REQUEST, STORAGE_DIAGNOSTIC_DATA, PHYSICAL_ELEMENT_STATUS_REQUEST, PHYSICAL_ELEMENT_STATUS_DESCRIPTOR, PHYSICAL_ELEMENT_STATUS, REMOVE_ELEMENT_AND_TRUNCATE_REQUEST & STORAGE_HW_FIRMWARE_DOWNLOAD_V2 structs. Fix for a small spelling mistake.
  • ntddvol.h: New CSV_FILECACHE_IO_TYPE enum. New CSV_FILECACHE_IO_CONTEXT, CSV_FILECACHE_IO_RANGE & CSV_CACHE_CALLBACK_V3_INPUT structs. New CSV_FILECACHE_HANDLE_CACHE_MISS_V2, CSV_FILECACHE_COMPLETE_CACHE_IO_V2, CSV_FILECACHE_FILE_CLOSE, CSV_FILECACHE_HANDLE_CACHE_IO_V2, CSV_FILECACHE_COMPLETE_CACHE_MISS_V2, CSV_FILECACHE_FILE_SET_EXTENSION, CSV_FILECACHE_FILE_GET_EXTENSION & CSV_FILECACHE_CLEANUP_CACHE function pointers. New CSV_CACHE_CALLBACK_V3_OUTPUT struct.
  • ntdef.h: The concept of LCID and LANGID’s has been marked as deprecated in this header file. New PRODUCT_SERVERRDSH define. This new define refers to a new SKU which was mentioned at https://twitter.com/h0x0d/status/862967975069966336. It is not clear what SKU this refers to but I will add support for this to DtWinVer when more information is available for this. UNREFERENCED_PARAMETER, DBG_UNREFERENCED_PARAMETER & DBG_UNREFERENCED_LOCAL_VARIABLE defines have been updated.
  • ntstatus.h: New STATUS_CONTEXT_STOWED_EXCEPTION, STATUS_PARTITION_TERMINATING, STATUS_ENCLAVE_NOT_TERMINATED, STATUS_ENCLAVE_IS_TERMINATING, STATUS_SMB1_NOT_AVAILABLE, STATUS_EXECUTABLE_MEMORY_WRITE, STATUS_KERNEL_EXECUTABLE_MEMORY_WRITE, STATUS_ATTACHED_EXECUTABLE_MEMORY_WRITE, STATUS_TRIGGERED_EXECUTABLE_MEMORY_WRITE, STATUS_FILE_SYSTEM_VIRTUALIZATION_INVALID_OPERATION, STATUS_CLOUD_FILE_ALREADY_CONNECTED, STATUS_CLOUD_FILE_NOT_SUPPORTED, STATUS_CLOUD_FILE_INVALID_REQUEST, STATUS_CLOUD_FILE_READ_ONLY_VOLUME, STATUS_CLOUD_FILE_CONNECTED_PROVIDER_ONLY, STATUS_CLOUD_FILE_VALIDATION_FAILED, STATUS_CLOUD_FILE_AUTHENTICATION_FAILED, STATUS_CLOUD_FILE_INSUFFICIENT_RESOURCES, STATUS_CLOUD_FILE_NETWORK_UNAVAILABLE, STATUS_CLOUD_FILE_UNSUCCESSFUL, STATUS_CLOUD_FILE_NOT_UNDER_SYNC_ROOT, STATUS_CLOUD_FILE_IN_USE, STATUS_CLOUD_FILE_PINNED, STATUS_CLOUD_FILE_REQUEST_ABORTED, STATUS_CLOUD_FILE_REPARSE_DATA_INVALID, STATUS_CLOUD_FILE_ACCESS_DENIED , STATUS_CLOUD_FILE_INCOMPATIBLE_HARDLINK & STATUS_CLOUD_FILE_PROPERTY_LOCK_CONFLICT defines. STATUS_STRICT_RFG_VIOLATION, STATUS_RFG_ACCESS_VIOLATION, STATUS_RFG_ATTACHED_ACCESS_VIOLATION & STATUS_RFG_ATTACHED_ACCESS_VIOLATION_TRIGGERED defines have been removed.
  • pwn.h: New header file for “Pulse Width Modulator (PWN) IOCTL interface.
  • scsi.h: New REPORT_TIMESTAMP, SET_TIMESTAMP, CLOSE_ZONE, FINISH_ZONE, OPEN_ZONE, RESET_WRITER_POINTER, REPORT_ZONES, GET_PHYSICAL_ELEMENT_STATUS, REMOVE_ELEMENT_AND_TRUNCATE, VPD_ZONED_BLOCK_DEVICE_CHARACTERISTICS_PAGE, RT_PARAMETER_DATA, ST_PARAMETER_DATA, ZONE_DESCRIPTIOR, REPORT_ZONES_DATA, SES_DOWNLOAD_MICROCODE_STATE, SES_DOWNLOAD_MICROCODE_STATUS_DESCRIPTOR, SES_DOWNLOAD_MICROCODE_STATUS_DIAGNOSTIC_PAGE, SES_DOWNLOAD_MICROCODE_CONTROL_DIAGNOSTIC_PAGE, PHYSICAL_ELEMENT_STATUS_DATA_DESCRIPTOR & PHYSICAL_ELEMENT_STATUS_PARAMETER_DATA structs. New SCSIOP_ZBC_OUT, SCSIOP_ZBC_IN, SCSIOP_GET_PHYSICAL_ELEMENT_STATUS, SCSIOP_REMOVE_ELEMENT_AND_TRUNCATE, SERVICE_ACTION_OVERWRITE, SERVICE_ACTION_BLOCK_ERASE, SERVICE_ACTION_CRYPTO_ERASE, SERVICE_ACTION_EXIT_FAILURE, SERVICE_ACTION_CLOSE_ZONE, SERVICE_ACTION_FINISH_ZONE, SERVICE_ACTION_OPEN_ZONE, SERVICE_ACTION_RESET_WRITE_POINTER, SERVICE_ACTION_REPORT_ZONES, REPORT_ZONES_OPTION_LIST_ALL_ZONES, REPORT_ZONES_OPTION_LIST_EMPTY_ZONES, REPORT_ZONES_OPTION_LIST_IMPLICITLY_OPENED_ZONES, REPORT_ZONES_OPTION_LIST_EXPLICITLY_OPENED_ZONES, REPORT_ZONES_OPTION_LIST_CLOSED_ZONES, REPORT_ZONES_OPTION_LIST_FULL_ZONES, REPORT_ZONES_OPTION_LIST_READ_ONLY_ZONES, REPORT_ZONES_OPTION_LIST_OFFLINE_ZONES, REPORT_ZONES_OPTION_LIST_RWP_ZONES, REPORT_ZONES_OPTION_LIST_NON_SEQUENTIAL_WRITE_RESOURCES_ACTIVE_ZONES, REPORT_ZONES_OPTION_LIST_NOT_WRITE_POINTER_ZONES, SERVICE_ACTION_GET_PHYSICAL_ELEMENT_STATUS, SERVICE_ACTION_REMOVE_ELEMENT_AND_TRUNCATE, SERVICE_ACTION_REPORT_TIMESTAMP, HOST_MANAGED_ZONED_BLOCK_DEVICE, ZONED_CAPABILITIES_NOT_REPORTED, ZONED_CAPABILITIES_HOST_AWARE, ZONED_CAPABILITIES_DEVICE_MANAGED, VPD_ZONED_BLOCK_DEVICE_CHARACTERISTICS, RC_BASIS_LAST_LBA_NOT_SEQUENTIAL_WRITE_REQUIRED_ZONES, RC_BASIS_LAST_LBA_ON_LOGICAL_UNIT, ZONE_TYPE_CONVENTIONAL, ZONE_TYPE_SEQUENTIAL_WRITE_REQUIRED, ZONE_TYPE_SEQUENTIAL_WRITE_PREFERRED, ZONE_CONDITION_NOT_WRITE_POINTER, ZONE_CONDITION_EMPTY, ZONE_CONDITION_IMPLICITLY_OPENED, ZONE_CONDITION_EXPLICITLY_OPENED, ZONE_CONDITION_CLOSED, ZONE_CONDITION_READ_ONLY, ZONE_CONDITION_FULL, ZONE_CONDITION_OFFLINE, ZONES_TYPE_AND_LENGTH_MAY_DIFFERENT, ZONES_TYPE_SAME_LENGTH_SAME, ZONES_TYPE_SAME_LAST_ZONE_LENGTH_DIFFERENT, ZONES_TYPE_MAY_DIFFERENT_LENGTH_SAME, REVERSE_BYTES_QUAD REVERSE_BYTES_8, SES_DIAGNOSTIC_PAGE_DOWNLOAD_MICROCODE, GET_PHYSICAL_ELEMENT_STATUS_REPORT_TYPE_PHYSICAL_ELEMENT, GET_PHYSICAL_ELEMENT_STATUS_REPORT_TYPE_STORAGE_ELEMENT, GET_PHYSICAL_ELEMENT_STATUS_ALL, GET_PHYSICAL_ELEMENT_STATUS_FILTER_NEED_ATTENTION, PHYSICAL_ELEMENT_TYPE_STORAGE_ELEMENT, PHYSICAL_ELEMENT_HEALTH_NOT_REPORTED, PHYSICAL_ELEMENT_HEALTH_MANUFACTURER_SPECIFICATION_LIMIT, PHYSICAL_ELEMENT_HEALTH_RESERVED_LOWER_BOUNDARY, PHYSICAL_ELEMENT_HEALTH_RESERVED_UPPER_BOUNDARY, PHYSICAL_ELEMENT_HEALTH_DEPOPULATION_COMPLETED_WITH_ERROR, PHYSICAL_ELEMENT_HEALTH_DEPOPULATION_IN_PROGRESS & PHYSICAL_ELEMENT_HEALTH_DEPOPULATION_COMPLETED_SUCCESS defines. New elements in VPD_BLOCK_DEVICE_CHARACTERISTICS_PAGE & READ_CAPACITY16_DATA structs. Various REVERSE_* defines have been updated.
  • sdkddkver.: New NTDDI_WIN10_RS3 define.
  • sensorsdef.h: New DEVPKEY_LightSensor_AutoBrightnessPreferred, DEVPKEY_LightSensor_ColorCapable, DEVPKEY_Sensor_ProximityTypePKEY_SensorData_IsValid, PKEY_SensorData_TimestampQPC & PKEY_SensorData_LightLevel_Lux_Threshold_AbsoluteDifference defines. New PROXIMITY_TYPE enum.
  • srb.h: New SRB_FUNCTION_GET_DUMP_INFO & SRB_FUNCTION_FREE_DUMP_INFO defines.
  • Sspi.h: New SECPKG_CRED_ATTR_PAC_BYPASS define.
  • tcpmib.h: Enum values in TCP_RTO_ALGORITHM have been re-sequenced. New MIB_TCPSTATS2 struct.
  • TraceLoggingProvider.h: New TraceLoggingCodePointer, TraceLoggingCodePointerFixedArray & TraceLoggingCodePointerArray defines. New enum value in TlgOut_t. _TlgDefineProvider_functionWrapperBegin define has been updated.
  • udpmib.h: New MIB_UDPSTATS2 struct.
  • usb.h: New URB_FUNCTION_GET_ISOCH_PIPE_TRANSFER_PATH_DELAYS, USBD_PF_VIDEO_PRIORITY, USBD_PF_VOICE_PRIORITY & USBD_PF_INTERACTIVE_PRIORITY defines. USBD_PF_VALID_MASK define has been updated. New USBD_ENDPOINT_OFFLOAD_MODE enum. New USBD_ENDPOINT_OFFLOAD_INFORMATION & _URB_GET_ISOCH_PIPE_TRANSFER_PATH_DELAYS structs. New member in URB struct.
  • usbioctl.h: New IOCTL_USB_GET_TRANSPORT_CHARACTERISTICS, IOCTL_USB_REGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE, IOCTL_USB_NOTIFY_ON_TRANSPORT_CHARACTERISTICS_CHANGE, IOCTL_USB_UNREGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE , IOCTL_USB_START_TRACKING_FOR_TIME_SYNC, IOCTL_USB_GET_FRAME_NUMBER_AND_QPC_FOR_TIME_SYNC, IOCTL_USB_STOP_TRACKING_FOR_TIME_SYNC, IOCTL_USB_GET_DEVICE_CHARACTERISTICS, USB_TRANSPORT_CHARACTERISTICS_VERSION_1, USB_TRANSPORT_CHARACTERISTICS_LATENCY_AVAILABLE, USB_TRANSPORT_CHARACTERISTICS_BANDWIDTH_AVAILABLE, USB_REGISTER_FOR_TRANSPORT_LATENCY_CHANGE, USB_REGISTER_FOR_TRANSPORT_BANDWIDTH_CHANGE, USB_CHANGE_REGISTRATION_HANDLE, USB_DEVICE_CHARACTERISTICS_VERSION_1 & USB_DEVICE_CHARACTERISTICS_MAXIMUM_PATH_DELAYS_AVAILABLE defines. New USB_TRANSPORT_CHARACTERISTICS, USB_TRANSPORT_CHARACTERISTICS_CHANGE_REGISTRATION, USB_TRANSPORT_CHARACTERISTICS_CHANGE_NOTIFICATION, USB_TRANSPORT_CHARACTERISTICS_CHANGE_UNREGISTRATIO, USB_DEVICE_CHARACTERISTICS, USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION, USB_STOP_TRACKING_FOR_TIME_SYNC_INFORMATION & USB_FRAME_NUMBER_AND_QPC_FOR_TIME_SYNC_INFORMATION structs.
  • usbiodef.h: New USB_IDLE_NOTIFICATION_EX, USB_GET_TRANSPORT_CHARACTERISTICS, USB_REGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE, USB_NOTIFY_ON_TRANSPORT_CHARACTERISTICS_CHANGE, USB_UNREGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE, USB_START_TRACKING_FOR_TIME_SYNC, USB_GET_FRAME_NUMBER_AND_QPC_FOR_TIME_SYNC, USB_STOP_TRACKING_FOR_TIME_SYNC, USB_GET_DEVICE_CHARACTERISTICS & GUID_DEVINTERFACE_USB_BILLBOARD defines.
  • winbio_err.h: New WINBIO_E_ENROLLMENT_CANCELED_BY_SUSPEND define.
  • winbio_ioctl.h: Various IOCTL_* defines have been updated. New IOCTL_BIOMETRIC_GET_PRIVATE_SENSOR_TYPE define. New WINBIO_PRIVATE_SENSOR_TYPE_INFO struct.
  • winbio_types.h: New WINBIO_MAX_PRIVATE_SENSOR_TYPE_INFO_BUFFER_SIZE defines.
  • winerror.h: New ERROR_CLOUD_*, ERROR_SMB1_NOT_AVAILABLE, ERROR_FILE_SYSTEM_VIRTUALIZATION_INVALID_OPERATION, ERROR_CAPAUTHZ_*, ERROR_PARTITION_TERMINATING, ERROR_ENCLAVE_NOT_TERMINATED, ERROR_CLUSTER_INVALID_INFRASTRUCTURE_FILESERVER_NAME, ERROR_CLUSTERSET_MANAGEMENT_CLUSTER_UNREACHABLE, ERROR_DEPLOYMENT_BLOCKED_BY_USER_LOG_OFF, ERROR_PROVISION_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE_PROVISIONED, ERROR_PACKAGES_REPUTATION_CHECK_FAILED, ERROR_PACKAGES_REPUTATION_CHECK_TIMEDOUT , RO_E_CANNOT_ACTIVATE_FULL_TRUST_SERVER, RO_E_CANNOT_ACTIVATE_UNIVERSAL_APPLICATION_SERVER, APPX_E_INVALID_APPINSTALLER, ERROR_VMCOMPUTE_INVALID_LAYER, ERROR_VMCOMPUTE_WINDOWS_INSIDER_REQUIRED, WHV_E_*, HNS_*, STATEREPOSTORY_E_NESTED_TRANSACTION_NOT_SUPPORTED, DWRITE_E_* & UTC_E_* defines. ERROR_STRICT_RFG_VIOLATION & ERROR_RFG_ACCESS_VIOLATION defines have been removed.
  • ws2def.h: New MSG_ERRQUEUE define.
  • ws2ipdef.h: New IP_MTU, IP_NRT_INTERFACE, IP_RECVERR, IPV6_MTU, IPV6_NRT_INTERFACE, IPV6_RECVERR, TCP_KEEPIDLE & TCP_KEEPINTVL defines. New IN_RECVERR struct.
  • WTypesbase.h\idl: New CLSCTX_ACTIVATE_X86_SERVER, CLSCTX_RESERVED6, CLSCTX_ACTIVATE_ARM32_SERVER enum values. These enum values are part of Windows 10 on ARM.

This review sets the stage for part two of the review where we review the “um” folder. Hopefully I would get around to this in the next couple of weeks. Happy coding.

Categories: Programming

Changes in the Windows v10.0.15021 SDK compared to Windows v10.0.14393 SDK (Part Two)

February 28, 2017 Comments off

This is a follow up to the first part of my blog post which compares the Windows 10 SDK (v10.0.14393) which corresponds to Windows 10 version 1607 and the pre-release version (v10.0.15021) SDK which will correspond to Windows 10 version 1704 aka Windows 10 Creators Update. This part of the blog post will concentrate on the “um” folder differences.

Ok, let’s dive into the changes:

  • A lot of the header files have reworked references to the concept of SDK Family and Partitions which segregate the APIs available from the SDK header files as being available on certain Families e.g. Windows Phone, Windows Desktop, Window Server, WinRT etc.
  • Some of the header files have been updated to keep up to date with the latest SAL annotation improvements.
  • Some of the changes in the new SDK reference the pre-processor value of NTDDI_WIN10_RS2 for of NTDDI_VERSION. This corresponds to Windows 10 codename “Redstone 2” aka Windows 10 version 1704 aka Windows 10 Creators Update.
  • alljoyn_c\AjAPI.h: QCC_DEPRECATED_ON & QCC_DEPRECATED_MSG defines have been removed.
  • alljoyn_c\AuthListener.h: Minor change to comments. alljoyn_c\authlistener_setsharedsecret API has been added.
  • alljoyn_c\BusAttachment.h: Minor change to comments. alljoyn_c\busattachment_deletedefaultkeystore API has been added.
  • alljoyn_c\Init.h: Minor change to comments. alljoyn_routerinitwithconfig API has been added. Removed AllJoynRouterInit & AllJoynRouterShutdown APIs.
  • alljoyn_c\InterfaceDescription.h: Minor change to comments. A number of alljoyn_interfacedescription_* have been added.
  • alljoyn_c\KeyStoreListener.h: alljoyn_keystorelistener_acquireexclusivelock_ptr & alljoyn_keystorelistener_releaseexclusivelock_ptr typedefs have been added. alljoyn_keystorelistener_with_synchronization_callbacks struct has been added. alljoyn_keystorelistener_with_synchronization_create API has been added.
  • Alljoyn_c\Message.h: Calling convention for alljoyn_message_parseargs API has been changed.
  • alljoyn_c\MsgArg.h: Calling convention of alljoyn_msgarg_create_and_set, alljoyn_msgarg_set, alljoyn_msgarg_get, alljoyn_msgarg_array_set, alljoyn_msgarg_array_get, alljoyn_msgarg_getdictelement, alljoyn_msgarg_array_set_offset & alljoyn_msgarg_set_and_stabilize APIs have been changed.
  • alljoyn_c\PermissionConfigurationListener.h: Minor change to comments.
  • alljoyn_c\PermissionConfigurator.h: A number of alljoyn_permissionconfigurator_* APIs have been added. Minor change to comments. alljoyn_certificateid, alljoyn_certificateidarray & alljoyn_manifestarray structs have been added. Removed alljoyn_permissionconfigurator_setmanifesttemplatefromxml API.
  • alljoyn_c\ProxyBusObject.h: Minor change to comments.
  • alljoyn_c\SecurityApplicationProxy.h: Minor change to comments. alljoyn_securityapplicationproxy_getpolicy, alljoyn_securityapplicationproxy_getdefaultpolicy, alljoyn_securityapplicationproxy_policy_destroy, alljoyn_securityapplicationproxy_computemanifestdigest, alljoyn_securityapplicationproxy_digest_destroy & alljoyn_securityapplicationproxy_setmanifestsignature APIs have been added.
  • alljoyn_c\Status.h: A number of QStatus enum values have been added.
  • qcc\windows\mapping.h: QCC_ASSERT & alljoyn_permissionconfigurator_setmanifestfromxml defines have been added.
  • qcc\platform.h: Various QCC_DEPRECATED_* defines have been added.
  • winsqlite\winsqlite3.h & winsqlite2ext.h: Win SQLITE header has been updated to SQLite v3.15.2 from 3.12.2. I will look to update Sqlite3Wrappers in the near future to support this new functionality.
  • A lot of the IDL generated header files have been modified as a result of being run by a new v8.01.0622 of the MIDL compiler instead of v8.00.0618 which was used with v10.0.10240 of the SDK.
  • adoguids.h: inclusion of adogpool.h now is done as #include <adogpool.h>
  • ahadmin_i.c: MIDL_DEFINE_GUID define has been updated.
  • amsi.h\idl: New AMSI_ATTRIBUTE_* enum values.
  • AowAppRuntime.h\idl: Has been removed.
  • appmodel.h: New header file which defines api-ms-win-appmodel-runtime-l1 API Set. New APIs include GetCurrentPackageId, GetCurrentPackageFullName, GetCurrentPackageFamilyName, GetCurrentPackagePath, GetPackageId, GetPackageFullName, GetPackageFullNameFromToken, GetPackageFamilyName, GetPackageFamilyNameFromToken, GetPackagePath, GetPackagePathByFullName, GetStagedPackagePathByFullName, GetCurrentApplicationUserModelId, GetApplicationUserModelId, GetApplicationUserModelIdFromToken, VerifyPackageFullName, VerifyPackageFamilyName, VerifyPackageId, VerifyApplicationUserModelId, VerifyPackageRelativeApplicationId, PackageIdFromFullName, PackageFullNameFromId, PackageFamilyNameFromId, PackageFamilyNameFromFullName, PackageNameAndPublisherIdFromFamilyName, FormatApplicationUserModelId, ParseApplicationUserModelId, GetPackagesByPackageFamily, FindPackagesByPackageFamily, GetStagedPackageOrigin, GetCurrentPackageInfo, OpenPackageInfoByFullName, OpenPackageInfoByFullNameForUser, ClosePackageInfo, GetPackageInfo, GetPackageApplicationIds, AppPolicyGetLifecycleManagement, AppPolicyGetWindowingModel, AppPolicyGetMediaFoundationCodecLoading, AppPolicyGetClrCompat, AppPolicyGetThreadInitializationType, AppPolicyGetShowDeveloperDiagnostic, AppPolicyGetProcessTerminationMethod & AppPolicyGetCreateFileAccess APIs. Provides new APIs to support Packaging, deployment, and query of Windows Store Apps.
  • appserviceinterop.h\idl: New IAppServiceConnectionExtendedExecution interface.
  • AppxPackaging.h: New APPX_FOOTPRINT_FILE_TYPE_*, APPX_CAPABILITY_CLASS_CUSTOM enum values. New IAppxFactory2, IAppxPackageReader2, IAppxPackageWriter2, IAppxManifestReader5, IAppxManifestMainPackageDependenciesEnumerator, IAppxManifestMainPackageDependency, IAppxBundleWriter2, IAppxBundleManifestReader2, IAppxBundleManifestOptionalBundleInfoEnumerator, IAppxBundleManifestOptionalBundleInfo, IAppxContentGroupFilesEnumerator, IAppxContentGroup, IAppxContentGroupsEnumerator, IAppxContentGroupMapReader, IAppxSourceContentGroupMapReader, IAppxContentGroupMapWriter, IAppxEncryptionFactory2, IAppxEncryptionFactory3 & IAppxEncryptedBundleWriter2 interfaces. New APPX_ENCRYPTED_PACKAGE_OPTIONS enum. New APPX_ENCRYPTED_PACKAGE_SETTINGS2 struct. These are various new COM APIs to support Appx Package management.
  • audioenginebaseapo.h\idl: Various new PKEY_CompositeFX_* defines.
  • Bits.idl: new BG_NOTIFY_FILE_RANGES_TRANSFERRED define.
  • bits5_0.h\idl: New BITS_JOB_PROPERTY_MINIMUM_NOTIFICATION_INTERVAL_MS & BITS_JOB_PROPERTY_ON_DEMAND_MODE enum values.
  • BitsMsg.h: Various new BG_E_* defines.
  • CDOSys_I.c: MIDL_DEFINE_GUID define has been updated.
  • certenroll.h: New XCN_CRYPT_STRING_ENCODEMASK, XCN_CRYPT_STRING_CHAIN, XCN_CRYPT_STRING_RESERVED200, XCN_CERT_NAME_STR_AMBIGUOUS_SEPARATOR_FLAGS, SKIHashHPKP, ClientIdWinRT, XCN_CERT_PIN_SHA256_HASH_PROP_ID, XCN_CERT_CLR_DELETE_KEY_PROP_ID, XCN_CERT_NOT_BEFORE_FILETIME_PROP_ID, XCN_CERT_CERT_NOT_BEFORE_ENHKEY_USAGE_PROP_ID, PrivateKeyHelloKspKey & PrivateKeyHelloLogonKey enum values.
  • CertSrv.h: wszREGKEYENROLLMENT & wszREGKEYGROUPPOLICYENROLLMENT defines have been updated.
  • cfgmgr32.h: New CM_DEVCAP_SECUREDEVICE define.
  • chakrart.h: Minor change to some __declspec(deprecated) text
  • ClusApi.h: New NT11_MAJOR_VERSION, CLUSTER_AVAILABILITY_SET_CONFIG_V1, CLUSREG_NAME_GRP_FAULT_DOMAIN, CLUSREG_NAME_GRP_UPDATE_DOMAIN & CLUSREG_NAME_GROUPSET_* defines. New CLUSTER_AVAILABILITY_SET_CONFIG struct. New CreateClusterAvailabilitySet API. New CLCTL_NOTIFY_MONITOR_SHUTTING_DOWN, CLUSCTL_RESOURCE_TYPE_NOTIFY_MONITOR_SHUTTING_DOWN & PLACEMENT_OPTIONS_DONT_USE_LOCAL_TEMP_DISK enum values.
  • codecapi.h: New STATIC_CODECAPI_AVEncSliceGenerationMode, STATIC_CODECAPI_AVEncVideoDirtyRectEnabled, AVEncSliceGenerationMode, AVEncVideoDirtyRectEnabled, CODECAPI_AVEncSliceGenerationMode & CODECAPI_AVEncVideoDirtyRectEnabled defines.
  • combaseapi.h: New CoFileTimeNow & CLSIDFromProgIDEx APIs.
  • commctrl.inl: Minor update to copyright message in comment.
  • commdlg.inl: Minor update to copyright message in comment.
  • CompPkgSup.h: New GetMediaExtensionCommunicationFactory, IsMediaBehaviorEnabled & GetMediaComponentPackageInfo APIs. New MEDIA_BEHAVIOR_MEDIAPLAYBACKLIST_AUTOPLAYBACKITEMRESET define.
  • cper.h: Minor change to comment. Member in WHEA_ARM_PROCESSOR_ERROR_INFORMATION_VALID_BITS struct has been renamed. Member in WHEA_ARM_BUS_ERROR struct has been renamed. Member in WHEA_ARM_PROCESSOR_ERROR_INFORMATION struct has been renamed.
  • cperguid.h: Minor change to comment.
  • d2d1_1.h: New D2D1_PRIMITIVE_BLEND_MAX enum value.
  • d2d1_3.h: New D2D1_GAMMA1 & D2D1_COLOR_CONTEXT_TYPE enums. New D2D1_SIMPLE_COLOR_PROFILE struct. New ID2D1CommandSink4, ID2D1ColorContext1, ID2D1DeviceContext5, ID2D1Device5 & ID2D1Factory6 interfaces. This is quite a lot of new functionality in D2D
  • d2d1_3helper.h: New SimpleColorProfile API
  • d2d1effectauthor_1.h: New ID2D1EffectContext2 interface.
  • d2d1svg.h: New header file which provides new SVG functionality in D2D. New interfaces include ID2D1SvgAttribute, ID2D1SvgPaint, ID2D1SvgStrokeDashArray, ID2D1SvgPointCollection, ID2D1SvgPathData, ID2D1SvgElement & ID2D1SvgDocument
  • d3d11.h\idl: New D3D11_FEATURE_SHADER_CACHE enum value. New D3D11_SHADER_CACHE_SUPPORT_FLAGS enum. New D3D11_FEATURE_DATA_SHADER_CACHE struct.
  • d3d11_3.h\idl: New ID3D11Fence & ID3D11DeviceContext4 interfaces. New D3D11_FENCE_FLAG enum.
  • d3d11_4.h\idl: New ID3D11Device5 interface.
  • d3d11sdklayers.h\idl: Various new D3D11_MESSAGE_ID_* enum values.
  • d3d12.h\idl: New ID3D12GraphicsCommandList1, ID3D12PipelineLibrary1, ID3D12Device2 & ID3D12Tools interfaces. New D3D12_COMMAND_QUEUE_PRIORITY_GLOBAL_REALTIME, D3D12_FEATURE_* & D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH enum values. New D3D12_DEPTH_STENCIL_DESC1, D3D12_RT_FORMAT_ARRAY, D3D12_PIPELINE_STATE_STREAM_DESC, D3D12_FEATURE_DATA_D3D12_OPTIONS2, D3D12_FEATURE_DATA_ARCHITECTURE1, D3D12_FEATURE_DATA_SHADER_CACHE, D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY, D3D12_RANGE_UINT64, D3D12_SUBRESOURCE_RANGE_UINT64 & D3D12_SAMPLE_POSITION structs. New D3D12_PIPELINE_STATE_SUBOBJECT_TYPE, D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER & D3D12_SHADER_CACHE_SUPPORT_FLAGS, D3D12_RESOLVE_MODE enums. D3D12_RESIDENCY_PRIORITY_HIGH enum value has changed.
  • d3d12sdklayers.h\idl: New ID3D12Debug2 interface. New D3D12_GPU_BASED_VALIDATION_FLAGS enum. New D3D12_DEBUG_DEVICE_PARAMETER_GPU_SLOWDOWN_PERFORMANCE_FACTOR enum value. New D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR struct. Various D3D12_MESSAGE_ID_* defines have been updated and added.
  • DbgEng.h: New IDebugPlmClient3 & IDebugOutputStream interfaces. New DEBUG_SRCFILE_SYMBOL_CHECKSUMINFO & DEBUG_FIND_SOURCE_WITH_CHECKSUM defines.
  • DbgHelp.h: New SymTagInlineSite, SymTagBaseInterface, SymTagVectorType, SymTagMatrixType, SymTagHLSLType, SymTagCaller, SymTagCallee, SymTagExport, SymTagHeapAllocationSite, SymTagCoffGroup enum values. New SymGetSourceFileChecksumW, SymGetSourceFileChecksum APIs. New SSRVOPT_RETRY_APP_HANG, SSRVURI_* defines.
  • dcomp.h: DCompositionGetFrameStatistics API has been removed.
  • ddpchunk.h\idl: New module which provides IDedupChunkLibrary & IDedupIterateChunksHash32 interfaces.
  • ddpcommon.h\idl: New module which provides various new defines, enums and structs used by ddpchunk.h\idl modules.
  • ddpdataport.h\idl: New module which provides IDedupDataPort & IDedupDataPortManager interfaces.
  • DeviceCategories.h: New DEVICEDISPLAY_CATEGORY_COMPUTER_CONVERTIBLE, DEVICEDISPLAY_CATEGORY_COMPUTER_DETACHABLE, DEVICEDISPLAY_CATEGORY_DISPLAY_HEADMOUNTED, DEVICEDISPLAY_CATEGORY_POS_LINEDISPLAY, DEVICEDISPLAY_CATEGORY_PRINTFAX_PRINTER_CLOUD, DEVICEDISPLAY_CATEGORY_WEARABLE, DEVICEDISPLAY_CATEGORY_WEARABLE_HEADSET, DEVICEDISPLAY_CATEGORY_WEARABLE_HEADSET_HOLOGRAPHIC & DEVICEDISPLAY_CATEGORY_WEARABLE_HEADSET_VIRTUALREALITY defines.
  • dinput.h: New GetdfDIJoystick API
  • DirectXMath.h: Header file has been reworked to handle updated C++ compiler features such as constexpr.
  • DirectXMathConvert.inl: Minor changes to inline code.
  • DirectXMathMatrix.inl: Minor changes to inline code.
  • DirectXMathMisc.inl: Minor changes to inline code.
  • DirectXMathVector.inl: Minor changes to inline code.
  • DirectXPackedVector.inl: Minor changes to inline code.
  • dpa_dsa.inl: Minor update to copyright message in comment.
  • dpx1.h\idl: New IDpxFile2 & IDpxContainer3 interfaces. New DPX_RESUME_UNTIL_DOWNLOAD_NO_CLONE enum value. New DPX_OPTION_TELEMETRY_CORRELATION_VECTOR define.
  • dwrite_3.h: New IDWriteFontSetBuilder1, IDWriteAsyncResult, IDWriteRemoteFontFileStream, IDWriteRemoteFontFileLoader, IDWriteInMemoryFontFileLoader & IDWriteFactory5 interfaces.
  • dxgiddi.h: New DXGIDDI_MULTIPLANE_OVERLAY_PLANE_INFO & DXGIDDICB_PRESENT_MULTIPLANE_OVERLAY1 structs. New PFNDDXGIDDI_PRESENT_MULTIPLANE_OVERLAY1CB callback. New members in DXGI_DDI_BASE_CALLBACKS struct.
  • DXGIMessages.h: New DXGI_MSG_IDXGIOutput6_CheckHardwareCompositionSupport_NullPointer enum value.
  • eappapis.h: New EapHostPeerGetEncryptedPassword API.
  • EditionUpgradeHelper.h\idl: New IEnableCodeGeneration interface. New methods in IEditionUpgradeHelper & IEditionUpgradeBroker interfaces.
  • edpwin32.h: New FILE_UNPROTECT_OPTIONS struct. New UnprotectFile API.
  • efswrtinterop.h\idl: New IProtectionPolicyManagerInterop3 interface.
  • ExDisp.h\idl: New navReserved6 enum value. New navCheckDontShowNeedHVSI define. New LaunchInHVSI method in IShellUIHelper8 interface.
  • ExDispid.h: New DISPID_LAUNCHINHVSI, DISPID_GETNEEDHVSIAUTOLAUNCHFLAG, DISPID_SETNEEDHVSIAUTOLAUNCHFLAG, DISPID_HASNEEDHVSIAUTOLAUNCHFLAG & DISPID_SHELLUIHELPERLAST defines.
  • expandedresources.h: New module which provides new HasExpandedResources, GetExpandedResourceExclusiveCpuCount & ReleaseExclusiveCpuSets APIs. These APIs may be related to Game mode.
  • FaxCom_i.c: MIDL_DEFINE_GUID define has been updated.
  • FaxComEx_i.c: MIDL_DEFINE_GUID define has been updated.
  • featurestagingapi.h: New GetFeatureVariant API.
  • FhCfg.h\idl: Now pulls in “shobjidl_core.h” instead of “shobjidl.h”
  • filtereg.h\idl: New ILoadFilterWithPrivateComActivation interface.
  • functiondiscoverykeys.h: New DEVICEDISPLAY_DISCOVERYMETHOD_ASP_INFRA define.
  • fwpmu.h: New FW_BITMAP_INDEX_FULL, FWPM_LAYER_ALE_PRECLASSIFY_*, FWPM_CONDITION_BITMAP_IP_*, FWPM_CONDITION_BITMAP_INDEX_KEY, FWPM_CONDITION_COMPARTMENT_ID & FWPM_CALLOUT_POLICY_SILENT_MODE_AUTH_* defines. New FwpmBitmapIndexGet0 & FwpmBitmapIndexFree0 APIs.
  • fwpsu.h: New FWPS_LAYER_ALE_* defines. New FWPS_FIELD_* & InetDiscard* enum values.
  • gamemonitor.h: New module which provides new ReportGameActivity, EnableActiveGameMonitoring & SetGameActivityCorrelationId APIs.
  • gameux.h: Now pulls in “shobjidl_core.h” instead of “shobjidl.h”
  • gamingtcui.h: New ShowGameInviteUIWithContext & ShowGameInviteUIWithContextForUser APIs.
  • HolographicSpaceInterop.h\idl: New module which provides new IHolographicSpaceInterop interface.
  • http.h: New HTTP_SERVICE_CONFIG_SETTING_KEY enum. New HTTP_SERVICE_CONFIG_SETTING_SET struct. Some members in HTTP_REQUEST_TOKEN_BINDING_INFO struct have been renamed and had their data types changed. New HttpRequestInfoTypeSslTokenBindingDraft & HttpServiceConfigSetting enum value. New HttpUpdateServiceConfiguration API.
  • icucommon.h: New module which seems to provide ICU support in Windows.
  • icui18n.h: New module which seems to provide ICU support in Windows.
  • iisext_i.c: MIDL_DEFINE_GUID define has been updated.
  • ImageHlp.h: New SymTagInlineSite, SymTagBaseInterface, SymTagVectorType, SymTagMatrixType, SymTagHLSLType, SymTagCaller, SymTagCallee, SymTagExport, SymTagHeapAllocationSite, SymTagCoffGroup enum values. New SymGetSourceFileChecksumW, SymGetSourceFileChecksum APIs. New SSRVOPT_RETRY_APP_HANG, SSRVURI_* defines.
  • ImageTranscode.h: Now pulls in “shobjidl_core.h” instead of “shobjidl.h”
  • inked_i.c: MIDL_DEFINE_GUID define has been updated.
  • InkPresenterDesktop_i.c: MIDL_DEFINE_GUID define has been updated.
  • inkrenderer.h\idl: New IInkD2DRenderer2 interface. New INK_HIGH_CONTRAST_ADJUSTMENT enum.
  • inkrenderer_i.c: MIDL_DEFINE_GUID define has been updated. New IID_IInkD2DRenderer2 define.
  • inputpaneinterop.h\idl: New modules which provides new IInputPaneInterop interface.
  • inputpanelconfiguration_i.c: MIDL_DEFINE_GUID define has been updated.
  • IsolatedAppLauncher.h\idl: New module which provides new IIsolatedAppLauncher interface.
  • iwscapi.h: New IWSCDefaultProduct interface. New methods in IWscProduct interface.
  • KnownFolders.h: New FOLDERID_AllAppMods & FOLDERID_CurrentAppMods defines.
  • libloaderapi.h: New LOAD_LIBRARY_OS_INTEGRITY_CONTINUITY define.
  • LMAPIbuf.h: New NetApiBufferFree API.
  • LMJoin.h: New DSREG_JOIN_TYPE enum. New DSREG_USER_INFO, DSREG_JOIN_INFO & NETSETUP_PROVISIONING_PARAMS structs. New NETSETUP_PROVISION_* & NETSETUP_PROVISIONING_* defines. New NetProvisionComputerAccount, NetRequestOfflineDomainJoin, NetCreateProvisioningPackage, NetRequestProvisioningPackageInstall & NetGetJoinInformation APIs.
  • manipulations_i.c: MIDL_DEFINE_GUID define has been updated.
  • mdmlocalmanagement.h: New module which provides RegisterDeviceWithLocalManagement, ApplyLocalManagementSyncML & UnregisterDeviceWithLocalManagement APIs
  • MDMRegistration.h: New MENROLL_E_CERTPOLICY_PRIVATEKEYCREATION_FAILED, MENROLL_E_CERTAUTH_FAILED_TO_FIND_CERT & MENROLL_E_EMPTY_MESSAGE defines.
  • memoryapi.h: New FILE_MAP_LARGE_PAGES define.
  • mfapi.h: New MFSampleExtension_LastSlice, MF_CAPTURE_METADATA_UVC_PAYLOADHEADER, MFSampleExtension_Depth_MinReliableDepth, MFSampleExtension_Depth_MaxReliableDepth, MFAudioFormat_Float_SpatialObjects, MFSubtitleFormat_XML, MF_DEVICESTREAM_MULTIPLEXED_MANAGER, MF_MEDIATYPE_MULTIPLEXED_MANAGER, MFSampleExtension_MULTIPLEXED_MANAGER, MF_MT_SPATIAL_AUDIO_MAX_DYNAMIC_OBJECTS, MF_MT_SPATIAL_AUDIO_OBJECT_METADATA_FORMAT_ID, MF_MT_SPATIAL_AUDIO_OBJECT_METADATA_LENGTH, MF_MT_SPATIAL_AUDIO_MAX_METADATA_ITEMS, MF_MT_SPATIAL_AUDIO_MIN_METADATA_ITEM_OFFSET_SPACING, MF_MT_SPATIAL_AUDIO_DATA_PRESENT, MF_MT_DECODER_USE_MAX_RESOLUTION, MF_MT_DECODER_MAX_DPB_COUNT, MFMediaType_MultiplexedFrames & MFMediaType_Subtitle defines. New MFT_ENUM_FLAG_UNTRUSTED_STOREMF enum value. New MFCreateMuxStreamAttributes, MFCreateMuxStreamMediaType & MFCreateMuxStreamSample APIs.
  • Mferror.h: New MF_E_TRANSFORM_ASYNC_MFT_NOT_SUPPORTED, MF_E_TRANSFORM_EXATTRIBUTE_NOT_SUPPORTED, MF_E_UNSUPPORTED_CAPTURE_DEVICE_PRESENT, MF_E_MEDIA_EXTENSION_APPSERVICE_* & MF_E_MEDIA_EXTENSION_PACKAGE_* defines.
  • mfidl.h\idl: New IMFHttpDownloadRequest, IMFHttpDownloadSession, IMFHttpDownloadSessionProvider, IMFSensorStream & IMFSensorTransformFactory interfaces. New MF_PD_ADAPTIVE_STREAMING define. New MFCreateSensorStream API.
  • mfmediaengine.h\idl: New MF_MEDIA_ENGINE_EVENT_SUPPORTEDRATES_CHANGED enum value.
  • mfobjects.h\idl: New IMFMuxStreamAttributesManager, IMFMuxStreamMediaTypeManager & IMFMuxStreamSampleManager interfaces.
  • mfspatialaudio.h\idl: New modules which provide new IMFSpatialAudioObjectBuffer & IMFSpatialAudioSample interfaces.
  • mftransform.h\idl: New IMFDeviceTransform interface
  • micaut_i.c: MIDL_DEFINE_GUID define has been updated.
  • minappmodel.h: New module which provides various defines related to “Package Identify Strings”??
  • minschannel.h: New SECPKG_ATTR_KEYING_MATERIAL_TOKEN_BINDING define.
  • Mobsync.h\idl: Now pulls in “shobjidl_core.h” instead of “shobjidl.h”
  • mscat.h: CRYPTCAT_MAX_MEMBERTAG define has been updated.
  • MSClus.h: New CLCTL_NOTIFY_MONITOR_SHUTTING_DOWN, CLUSCTL_RESOURCE_TYPE_NOTIFY_MONITOR_SHUTTING_DOWN enum values.
  • msft_filestoragetier.mof: New members of MSFT_FileStorageTier class.
  • msft_physicaldisk.mof: New methods of MSFT_PhysicalDisk class.
  • msft_physicalextent.mof: New module which provides new MSFT_PhysicalExtent class.
  • msft_storagepool.mof: New parameters to CreateStorageTier2 method of MSFT_StoragePool class.
  • msft_storagetier.mof: New members of MSFT_StorageTier class. New GetPhysicalExtent method of MSFT_StorageTier class. New parameters to SetAttributes2 method of MSFT_StorageTier class.
  • msft_virtualdisk.mof: New GetPhysicalExtent & SetProperties methods of MSFT_VirtualDisk class.
  • MsHtmcid.h: New IDM_TOGGLEREADINGBAR, IDM_ADDPDFHIGHLIGHT, IDM_DELETEPDFHIGHLIGHT & IDM_RUNFLASH defines.
  • MsHtmHst.h\idl: New CONTEXT_MENU_DISABLEDFLASH define.
  • msinkaut15_i.c: MIDL_DEFINE_GUID define has been updated.
  • msinkaut_i.c: MIDL_DEFINE_GUID define has been updated.
  • mswmdm_i.c: MIDL_DEFINE_GUID define has been updated.
  • ncrypt.h: New NCRYPT_CLAIM_WEB_AUTH_SUBJECT_ONLY, NCRYPT_PREFER_VIRTUAL_ISOLATION_FLAG, NCRYPT_USE_VIRTUAL_ISOLATION_FLAG, NCRYPT_USE_PER_BOOT_KEY_FLAG, NCRYPT_USE_VIRTUAL_ISOLATION_PROPERTY, NCRYPT_USE_PER_BOOT_KEY_PROPERTY, NCRYPT_PCP_RSA_SCHEME_PROPERTY, NCRYPT_PCP_TPM_MANUFACTURER_ID_PROPERTY & NCRYPT_PCP_TPM_FW_VERSION_PROPERTY defines. New NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT & NCRYPT_PCP_TPM_FW_VERSION_INFO structs. I will look to update CryptoWrappers in the near future to support this new functionality.
  • newdev.h: New DIURFLAG_NO_REMOVE_INF, DIURFLAG_UNCONFIGURE_INF, DIURFLAG_BITS & DIURFLAG_SYSTEM_BITS defines. New DiUninstallDriverW, DiUninstallDriverA & DiShowUpdateDriver APIs.
  • NTSecAPI.h: New DeprecatedIUMCredKey enum value.
  • NTSecPKG.h: New PRIMARY_CRED_CACHED_INTERACTIVE_LOGON & PRIMARY_CRED_INTERACTIVE_NGC_LOGON define. New parameter to SpGetRemoteCredGuardLogonBufferFn function pointer.
  • OAIdl.h\idl: New ITypeLibRegistrationReader interface.
  • ObjIdl.h: New EOAC_RESERVED1 & COMGLB_PROPERTIES_RESERVED1 enum values.
  • ObjIdlbase.h\idl: New EOAC_RESERVED1 & COMGLB_PROPERTIES_RESERVED1 enum values.
  • OleAuto.h: New SafeArrayReleaseDescriptor & SafeArrayReleaseData APIs.
  • opmapi.h\idl: OPM_HDCP_WITH_TYPE_ENFORCEMENT_PROTECTION_LEVEL enum has been removed. OPM_PROTECTION_TYPE_HDCP_TYPE_ENFORCEMENT enum value has been removed. New OPMGetVideoOutputForTarget API.
  • opmxbox.h: New module which provide OPM API for XBOX. New OPMXboxEnableHDCP, OPMXboxGetHDCPStatus & OPMXboxGetHDCPStatusAndType APIs.
  • pacmanclientapi_i.c: MIDL_DEFINE_GUID define has been updated.
  • PathCch.h: New PATHCCH_OPTIONS enum.
  • peninputpanel_i.c: MIDL_DEFINE_GUID define has been updated.
  • perflib.h: Small spelling mistakes fixed in comments.
  • PortableDevice.h: New WPD_DEVICE_PROPERTIES_V3 & WPD_DEVICE_EDP_IDENTITY defines.
  • powrprof.h: New ACCESS_OVERLAY_SCHEME & ACCESS_ACTIVE_OVERLAY_SCHEME enum values.
  • prdrvcom.h: New IPrintTicketProvider2 interface.
  • prntvpt.h: New E_PRINTDEVICECAPABILITIES_FORMAT define. New PTGetPrintDeviceCapabilities & PTGetPrintDeviceResources APIs.
  • processthreadsapi.h: New ProcessActivityThrottleStateInfo & ProcessActivityThrottlePolicyInfo enum values. New PROCESS_ACTIVITY_THROTTLE_STATE & PROCESS_ACTIVITY_THROTTLE_POLICY_OP enums. New PROCESS_ACTIVITY_THROTTLE_EXECUTIONSPEED, PROCESS_ACTIVITY_THROTTLE_DELAYTIMERS & PROCESS_ACTIVITY_THROTTLE_AL defines. New PROCESS_ACTIVITY_THROTTLE_POLICY struct.
  • propkey.h: New PKEY_Devices_Aep_Bluetooth_Le_IsConnectable, PKEY_Devices_Aep_PointOfService_ConnectionTypes, PKEY_Supplemental_AlbumID, PKEY_Supplemental_ResourceId & PKEY_Video_IsSpherical defines.
  • propsys.h\idl: New GPS_VOLATILEPROPERTIES, GPS_VOLATILEPROPERTIESONLY & PDTF_ALWAYSINSUPPLEMENTALSTORE enum values.
  • prsht.inl: Updated copyright details in comment.
  • Psapi.h: New GetModuleBaseNameA, GetModuleBaseNameW, GetModuleFileNameExA & GetModuleFileNameExW defines.
  • RadialControllerInterop.h\idl: New IRadialControllerIndependentInputSourceInterop interface.
  • RasError.h: New ERROR_VPN_PLUGIN_GENERIC, ERROR_SSO_CERT_MISSING & ERROR_DEVICE_COMPLIANCE defines.
  • rdpencomapi_i.c: MIDL_DEFINE_GUID define has been updated.
  • realtimeapiset.h: New QueryAuxiliaryCounterFrequency, ConvertAuxiliaryCounterToPerformanceCounter & ConvertPerformanceCounterToAuxiliaryCounter APIs. I was unable to find any documentation for these new interesting looking APIs.
  • RegStr.h: New REGSTR_VAL_ADDRESS define.
  • rendezvoussession_i.c: MIDL_DEFINE_GUID define has been updated.
  • Resapi.h: New CLUS_RESDLL_OPEN_DONT_DELETE_TEMP_DISK, RESTYPE_MONITOR_SHUTTING_DOWN_NODE_STOP & RESTYPE_MONITOR_SHUTTING_DOWN_CLUSSVC_CRASH defines. New PSET_RESOURCE_LOCKED_MODE_EX_ROUTINE function pointer. New member in CLRES_CALLBACK_FUNCTION_TABLE struct.
  • RestrictedErrorInfo.h\idl: New ILanguageExceptionTransform, ILanguageExceptionStackBackTrace & ILanguageExceptionErrorInfo2 interfaces.
  • RpcProxy.h: annotations for ObjectStublessClient* functions have been updated.
  • rtlsupportapi.h: New RtlLookupFunctionEntryCHPE API
  • RTSCOM_i.c: MIDL_DEFINE_GUID define has been updated.
  • schannel.h: New DEFAULT_TLS_SSP_NAME_A, DEFAULT_TLS_SSP_NAME_W, DEFAULT_TLS_SSP_NAME, SP_PROT_TLS1_3_SERVER, SP_PROT_TLS1_3_CLIENT, SP_PROT_TLS1_3 defines. This means that Windows 10 Creators Update will probably support TLS v1.3. I was unable to find any other internet information to document this so this might be a scoop for me to find this!!!!. I plan to update my SSLWrappers class to support TLS v1.3 in the very near future.
  • SearchApi.idl: New ILoadFilterWithPrivateComActivation interface supported by FilterRegistration coclass.
  • securitybaseapi.h: New DeriveCapabilitySidsFromName API.
  • SetupAPI.h: New FLG_ADDREG_TYPE_QWORD & FLG_DELREG_TYPE_QWORD defines.
  • shdeprecated.h: Now pulls in “shobjidl_core.h” instead of “shobjidl.h”
  • sherrors.h: New COPYENGINE_E_REQUIRES_EDP_CONSENT_FOR_REMOVABLE_DRIVE, COPYENGINE_E_BLOCKED_BY_EDP_FOR_REMOVABLE_DRIVE, COPYENGINE_E_RMS_REQUIRES_EDP_CONSENT_FOR_REMOVABLE_DRIVE & COPYENGINE_E_RMS_BLOCKED_BY_EDP_FOR_REMOVABLE_DRIVE defines.
  • shidfact.h: Now pulls in “shobjidl_core.h” instead of “shobjidl.h”
  • ShlObj.hi\idl: A number of API’s have been removed from this module and moved into ShlObj_core.h\idl.
  • Shlwapi.h: “dwOffset” member variable in QITAB struct has been changed from int to DWORD.
  • ShObjIdl.hidl: A number of API’s have been removed from this module and moved into ShlObjidl_core.h\idl.
  • slerror.h: New SL_REMAPPING_MDOLLAR_OSR_* defines.
  • SpatialAudioClient.h\idl: New modules with various new interfaces for Spatial Audio.
  • SpatialAudioHrtf.h\idl: New modules with various new interfaces for Spatial Audio.
  • SpatialAudioMetadata.h\idl: New modules with various new interfaces for Spatial Audio.
  • SpatialInteractionManagerInterop.h\idl: New modules with various new interfaces for Spatial Audio.
  • spellcheck_i.c: MIDL_DEFINE_GUID define has been updated.
  • spellcheckprovider_i.c: MIDL_DEFINE_GUID define has been updated.
  • storagewmi_provider.mof: Now includes “msft_physicalextent.mof” module
  • SyncMgr.h\idl: Now includes “shobjidl_core.h” module
  • thumbnailstreamcache.h\idl: Now includes “shobjidl_core.h” module
  • TipAutoComplete_i.c: MIDL_DEFINE_GUID define has been updated.
  • tokenbinding.h: TOKENBINDING_IDENTIFIER, TOKENBINDING_KEY_TYPES struct members are completely different that previous version. TOKENBINDING_RESULT_DATA struct has a new member. TokenBindingGenerateBinding, TokenBindingVerifyMessage & TokenBindingGenerateID APIs takes different parameters.
  • TSGAuthenticationEngine_i.c: MIDL_DEFINE_GUID define has been updated.
  • TSGPolicyEngine.h\idl: New AA_AUTH_SSPI_NTLM enum value.
  • TSGPolicyEngine_i.c: MIDL_DEFINE_GUID define has been updated.
  • tssbx_i.c: MIDL_DEFINE_GUID define has been updated.
  • tsuserex_i.c: MIDL_DEFINE_GUID define has been updated.
  • UIAutomationClient.h\idl: New IUIAutomationTextRange3 & IUIAutomationElement7, interfaces. New TreeScope_None enum value. New TreeTraversalOptions enum. New UIA_ChangesEventId, UIA_* & AnnotationType_Mathematics defines.
  • UIAutomationCore.h\idl: New IRawElementProviderSimple3 interface. New SayAsInterpretAs, FillType, VisualEffects enum. New METADATAID define.
  • UIAutomationCoreApi.h: New TreeScope_None & AutomationIdentifierType_Style enum values. New FillColor_Property_GUID, OutlineColor_Property_GUID, FillType_Property_GUID, VisualEffects_Property_GUID, OutlineThickness_Property_GUID, CenterPoint_Property_GUID, Rotation_Property_GUID, Size_Property_GUID, Text_BeforeParagraphSpacing_Attribute_GUID, Text_AfterParagraphSpacing_Attribute_GUID, Text_LineSpacing_Attribute_GUID, Text_BeforeSpacing_Attribute_GUID, Text_AfterSpacing_Attribute_GUID, Text_SayAsInterpretAs_Attribute_GUID, Annotation_Mathematics_GUID & StyleId_* defines. New TreeTraversalOptions enum.
  • urlmon.h\idl: New BINDSTATUS_RESERVED_12, URLACTION_ALLOW_VBSCRIPT_IE enum values.
  • Uxtheme.h: New OpenThemeDataForDpi API. This is part of the improvements for DPI scaling for Win32 in the Creators Update.
  • vdslun.h\idl: New VDSBusTypeScm & VDSBusTypeUfs enum values.
  • vdssys.h\idl: New CREATE_VIRTUAL_DISK_FLAG_SPARSE_FILE enum value.
  • vfwmsgs.h: New VFW_S_DVD_RENDER_STATUS define.
  • virtdisk.h: New CREATE_VIRTUAL_DISK_FLAG_SPARSE_FILE enum value.
  • WaaSApi.h\idl: New modules with new IWaaSAssessor interface.
  • WaaSApiTypes.h\idl: New modules with types for new IWaaSAssessor interface.
  • wbcl.h: New SIPAEVENT_MORBIT_API_STATUS, SIPAEVENT_HIBERNATION_DISABLED, SIPAEVENT_DUMPS_DISABLED, SIPAEVENT_DUMP_ENCRYPTION_ENABLED & SIPAEVENT_DUMP_ENCRYPTION_KEY_DIGEST, WBCL_DIGEST_ALG_ID_SM3_256 & WBCL_DIGEST_ALG_BITMAP_SM3_256 defines.
  • WdsTptMgmt_i.c: MIDL_DEFINE_GUID define has been updated.
  • WerApi.h: New WER_FILE_COMPRESSED, WER_MAX_REGISTERED_ENTRIES, WER_MAX_REGISTERED_METADATA, WER_MAX_REGISTERED_DUMPCOLLECTION, WER_METADATA_KEY_MAX_LENGTH & WER_METADATA_VALUE_MAX_LENGTH defines. New WerRegisterExcludedMemoryBlock, WerUnregisterExcludedMemoryBlock, WerRegisterCustomMetadata, WerUnregisterCustomMetadata, WerRegisterAdditionalProcess, WerUnregisterAdditionalProcess, WerStoreQueryReportMetadataV2 & WerFreeString APIs. New WER_REPORT_METADATA_V2 struct.
  • WinBase.h: New ProcThreadAttributeDesktopAppPolicy enum value, New PROCESS_CREATION_MITIGATION_POLICY_CONTROL_FLOW_GUARD_EXPORT_SUPPRESSION, PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_ALLOW_STORE, PROCESS_CREATION_MITIGATION_POLICY2_*, PROCESS_CREATION_DESKTOP_APP_BREAKAWAY_ENABLE_PROCESS_TREE, PROCESS_CREATION_DESKTOP_APP_BREAKAWAY_DISABLE_PROCESS_TREE, PROCESS_CREATION_DESKTOP_APP_BREAKAWAY_OVERRIDE, PROC_THREAD_ATTRIBUTE_DESKTOP_APP_POLICY & SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE defines.
  • winbase.inl: Minor update to copyright message in comment.
  • WinBio.h: New GetProtectionPolicy & NotifyUnitStatusChange structs.
  • winbio_adapter.h: New PIBIO_SENSOR_ASYNC_IMPORT_RAW_BUFFER_FN & PIBIO_SENSOR_ASYNC_IMPORT_SECURE_BUFFER_FN, PIBIO_STORAGE_GET_USER_STATE_FN, PIBIO_STORAGE_INCREMENT_USER_STATE_FN, PIBIO_STORAGE_UPDATE_RECORD_BEGIN_FN, PIBIO_STORAGE_UPDATE_RECORD_COMMIT_FN, PIBIO_FRAMEWORK_VSM_SENSOR_ASYNC_IMPORT_SECURE_BUFFER_FN, PIBIO_FRAMEWORK_VSM_STORAGE_RECORD_MIGRATE_BEGIN_FN, PIBIO_FRAMEWORK_VSM_STORAGE_RECORD_MIGRATE_NEXT_FN, PIBIO_FRAMEWORK_VSM_STORAGE_RECORD_MIGRATE_END_FN, PIBIO_FRAMEWORK_ALLOCATE_MEMORY_FN, PIBIO_FRAMEWORK_FREE_MEMORY_FN & PIBIO_FRAMEWORK_GET_PROPERTY_FN function pointers. New WINBIO_SENSOR_INTERFACE_VERSION_4, WINBIO_STORAGE_INTERFACE_VERSION_5 & WINBIO_FRAMEWORK_INTERFACE_VERSION_5_0 defines. New members in WINBIO_SENSOR_INTERFACE, WINBIO_STORAGE_INTERFACE & WINBIO_FRAMEWORK_INTERFACE structs. New WbioSensorAsyncImportRawBuffer, WbioSensorAsyncImportSecureBuffer, WbioStorageGetUserState, WbioStorageIncrementUserState, WbioStorageUpdateRecordBegin, WbioStorageUpdateRecordCommit, WbioFrameworkVsmSensorAttach, WbioFrameworkVsmSensoreDetach, WbioFrameworkVsmSensorClearContext, WbioFrameworkVsmSensorNotifyPowerChange, WbioFrameworkVsmSensorPipelineInit, WbioFrameworkVsmSensorPipelineCleanup, WbioFrameworkVsmSensorActivate, WbioFrameworkVsmSensorDeactivate, WbioFrameworkVsmSensorAsyncImportRawBuffer, WbioFrameworkVsmSensorAsyncImportSecureBuffer, WbioFrameworkVsmStorageRecordMigrateBegin, WbioFrameworkVsmStorageRecordMigrateNext, WbioFrameworkVsmStorageRecordMigrateEnd, WbioFrameworkVsmStorageGetUserState, WbioFrameworkVsmStorageIncrementUserState, WbioFrameworkAllocateMemory, WbioFrameworkFreeMemory & WbioFrameworkGetProperty APIs.
  • wincred.h: New STATUS_NO_SUCH_LOGON_SESSION define. CREDUIP_IS_USER_PASSWORD_ERROR define has been updated.
  • wincrypt.h: New szOID_HPKP_DOMAIN_NAME_CTL, szOID_HPKP_HEADER_VALUE_CTL, CERT_PIN_SHA256_HASH_PROP_ID, CERT_CLR_DELETE_KEY_PROP_ID, CERT_NOT_BEFORE_FILETIME_PROP_ID, CERT_NOT_BEFORE_ENHKEY_USAGE_PROP_ID, CERT_CHAIN_DISABLE_OPT_IN_SERVER_AUTH_WEAK_FLAG, CERT_CHAIN_OPT_IN_WEAK_FLAGS, CERT_CHAIN_AUTO_HPKP_RULE_INFO, CERT_CHAIN_OPT_IN_WEAK_SIGNATURE, CERT_CHAIN_POLICY_IGNORE_WEAK_SIGNATURE_FLAG, CERT_CHAIN_POLICY_SSL_HPKP_HEADER, CERT_CHAIN_POLICY_THIRD_PARTY_ROOT, CERT_CHAIN_POLICY_SSL_KEY_PIN, SSL_HPKP_PKP_HEADER_INDEX, SSL_HPKP_PKP_RO_HEADER_INDEX, SSL_HPKP_HEADER_COUNT, CERT_CHAIN_POLICY_SSL_KEY_PIN_MISMATCH_ERROR, CERT_CHAIN_POLICY_SSL_KEY_PIN_MITM_ERROR, CERT_CHAIN_POLICY_SSL_KEY_PIN_SUCCESS, CERT_CHAIN_POLICY_SSL_KEY_PIN_MITM_WARNING, CERT_CHAIN_POLICY_SSL_KEY_PIN_MISMATCH_WARNING, CRYPT_STRING_ENCODEMASK, CRYPT_STRING_RESERVED100 & CRYPT_STRING_RESERVED200 defines. IS_PUBKEY_HASH_PROP_ID, CERT_CHAIN_MAX_SSL_TIME_UPDATED_EVENT_COUNT_DEFAULT & CERT_CHAIN_DISABLE_WEAK_FLAGS defines have been updated. New SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA, SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA & SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS structs. I will look to update CryptoWrappers in the near future to support this new functionality.
  • winddi.h: New INDEX_DrvSurfaceComplete, GCAPS2_BITMAPEXREUSE, MS_REUSEDDEVICEBITMAP & CDBEX_REUSE defines. INDEX_LAST define has been updated. New DrvSurfaceComplete & EngFntCacheFlush API. New PFN_DrvSurfaceComplete function pointer.
  • windows.graphics.printing.workflow.native.h\idl: New modules which provide new IPrintWorkflowXpsReceiver, IPrintWorkflowObjectModelSourceFileContentNative & IPrintWorkflowXpsObjectModelTargetPackageNative defines.
  • windows.ui.xaml.hosting.referencetracker.h\idl: New IReferenceTrackerExtension & ITrackerOwner interfaces.
  • WindowsNumerics.h: Change to how _WINDOWS_NUMERICS_INTEROP_NAMESPACE_ define is setup.
  • WindowsStorageCOM.h\idl: New IDDEInitializer interface.
  • wingdi.h: New DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO, DISPLAYCONFIG_DEVICE_INFO_SET_ADVANCED_COLOR_STATE & QDC_INCLUDE_HMD, STAMP_TRUETYPE_VARIATION defines. New DISPLAYCONFIG_COLOR_ENCODING, DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO & DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE structs.
  • winhttp.h: New WINHTTP_AUTOPROXY_ALLOW_AUTOCONFIG, WINHTTP_AUTOPROXY_ALLOW_STATIC, WINHTTP_AUTOPROXY_ALLOW_CM, NETWORKING_KEY_BUFSIZE, WINHTTP_OPTION_KDC_PROXY_SETTINGS, WINHTTP_CALLBACK_STATUS_SETTINGS_WRITE_COMPLETE, WINHTTP_CALLBACK_STATUS_SETTINGS_READ_COMPLETE & WINHTTP_QUERY_FLAG_NUMBER64 defines. New WINHTTP_PROXY_RESULT_EX, WINHTTP_PROXY_NETWORKING_KEY & WINHTTP_PROXY_SETTINGS structs. New WinHttpGetProxyForUrlEx2, WinHttpGetProxyResultEx, WinHttpFreeProxyResultEx, WinHttpWriteProxySettings, WinHttpReadProxySettings, WinHttpFreeProxySettings & WinHttpGetProxySettingsVersion APIs. I will look to update WinHTTPWrappers in the near future to support this new functionality
  • WinInet.h: Update to SECURITY_IGNORE_ERROR_MASK, INTERNET_LAST_OPTION, SECURITY_SET_MASK & HTTP_QUERY_MAX defines. New INTERNET_OPTION_TOKEN_BINDING_PUBLIC_KEY, SECURITY_FLAG_IGNORE_WEAK_SIGNATURE, SECURITY_FLAG_OPT_IN_WEAK_SIGNATURE, HTTP_QUERY_INCLUDE_REFERRED_TOKEN_BINDING_ID, HTTP_QUERY_PUBLIC_KEY_PINS, HTTP_QUERY_PUBLIC_KEY_PINS_REPORT_ONLY & ERROR_INTERNET_SEC_CERT_WEAK_SIGNATURE defines.
  • Winineti.h: New DLG_FLAGS_WEAK_SIGNATURE, INTERNET_OPTION_OPT_IN_WEAK_SIGNATURE, INTERNET_OPTION_PARSE_LINE_FOLDING, INTERNET_OPTION_FORCE_DECODE, INTERNET_OPTION_COOKIES_APPLY_HOST_ONLY, INTERNET_OPTION_EDGE_MODE, HTTP_ADDREQ_FLAG_ALLOW_EMPTY_VALUES, INTERNET_COOKIE_PERSISTENT_HOST_ONLY & INTERNET_COOKIE_EDGE_COOKIES, defines. Update to INTERNET_LAST_OPTION_INTERNAL, COOKIE_ALLOWED_SET_FLAGS & COOKIE_ALLOWED_GET_FLAGS defines. New InternetConvertUrlFromWireToWideChar API.
  • winioctl.h: New FILE_DEVICE_PERSISTENT_MEMORY, FILE_DEVICE_NVDIMM, FILE_DEVICE_HOLOGRAPHIC, IOCTL_STORAGE_GET_DEVICE_NUMBER_EX, STORAGE_DEVICE_FLAGS_RANDOM_DEVICEGUID_REASON_CONFLICT, STORAGE_DEVICE_FLAGS_RANDOM_DEVICEGUID_REASON_NOHWID, STORAGE_DEVICE_FLAGS_PAGE_83_DEVICEGUID, STORAGE_CRYPTO_CAPABILITY_VERSION_1, STORAGE_CRYPTO_DESCRIPTOR_VERSION_1, STORAGE_ATTRIBUTE_PERF_SIZE_INDEPENDENT, STORAGE_DEVICE_NUMA_NODE_UNKNOWN, STORAGE_HW_FIRMWARE_REQUEST_FLAG_LAST_SEGMENT, FSCTL_STREAMS_QUERY_PARAMETERS, FSCTL_STREAMS_ASSOCIATE_ID, FSCTL_STREAMS_QUERY_ID, FSCTL_GET_RETRIEVAL_POINTERS_AND_REFCOUNT, FSCTL_QUERY_VOLUME_NUMA_INFO, USN_REASON_DESIRED_STORAGE_CLASS_CHANGE, QUERY_FILE_LAYOUT_INCLUDE_*, STREAM_LAYOUT_ENTRY_HAS_INFORMATION, STORAGE_CLASS_FLAG_MEDIA_TYPE_MANDATORY, STORAGE_CLASS_FLAG_CAN_BE_PROMOTED, STORAGE_CLASS_FLAG_CAN_BE_DEMOTED, QUERY_STORAGE_CLASSES_FLAGS_MEASURE_WRITE, QUERY_STORAGE_CLASSES_FLAGS_MEASURE_READ, HSM_OPCODE_SET_REPARSE_POINT, HSM_OPCODE_SET_ZERO_DATA, HSM_OPCODE_EXPAND, HSM_OPCODE_NOTIFY_GHOSTING & HSM_OPCODE_UPDATE_BITMAP defines. New STORAGE_DEVICE_NUMBERS, STORAGE_DEVICE_NUMBER_EX, STORAGE_CRYPTO_CAPABILITY, STORAGE_CRYPTO_DESCRIPTOR, STORAGE_DEVICE_NUMA_PROPERTY, RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER, STREAM_INFORMATION_ENTRY, FILE_DESIRED_STORAGE_CLASS_INFORMATION, GET_FILTER_FILE_IDENTIFIER_INPUT, GET_FILTER_FILE_IDENTIFIER_OUTPUT & HSM_OPCOD, structs. New BusTypeUfs, StorageAdapterCryptoProperty, StorageDeviceNumaProperty, StorageTierMediaTypeScm & DiskOpReasonMax enum values. NO_SRBTYPE_ADAPTER_DESCRIPTOR_SIZE define has been updated. New STORAGE_CRYPTO_ALGORITHM_ID, STORAGE_CRYPTO_KEY_SIZE, STORAGE_TIER_CLASS & FILE_STORAGE_TIER_CLASS enums. New members in STORAGE_TIER, STREAM_LAYOUT_ENTRY & VIRTUALIZATION_INSTANCE_INFO_INPUT structs.
  • WinNls.h: New CAL_SRELATIVELONGDATE, CAL_SENGLISHERANAME & CAL_SENGLISHABBREVERANAME defines.
  • winnt.h: New RTL_REFERENCE_COUNT32, PRODUCT_ENTERPRISEG, PRODUCT_ENTERPRISEGN, PRODUCT_CLOUD, PRODUCT_CLOUDN, ARM64_SYSINSTR, ARM64_CNTVCT, SECURITY_MAX_SID_STRING_CHARACTERS, SECURITY_UMFD_BASE_RID, SECURITY_PROCESS_PROTECTION_LEVEL_APP_RID, SYSTEM_ACCESS_FILTER_ACE_TYPE, TRUST_PROTECTED_FILTER_ACE_FLAG, SYSTEM_ACCESS_FILTER_VALID_MASK, SYSTEM_ACCESS_FILTER_NOCONSTRAINT_MASK, SE_SECURITY_DESCRIPTOR_FLAG_NO_ACCESS_FILTER_ACE, SE_DEVELOPMENT_MODE_NETWORK_CAPABILITY, ACCESS_FILTER_SECURITY_INFORMATION, JOB_OBJECT_IMPERSONATE, PROCESSOR_ARCHITECTURE_IA32_ON_ARM64, CFG_CALL_TARGET_CONVERT_EXPORT_SUPPRESSED_TO_VALID, FILE_ATTRIBUTE_PINNED, FILE_ATTRIBUTE_UNPINNED, FILE_ATTRIBUTE_IN_SYNC, FILE_ATTRIBUTE_RECALL_ON_OPEN, FILE_RETURNS_CLEANUP_RESULT_INFO, IO_REPARSE_TAG_WCI_TOMBSTONE, IO_REPARSE_TAG_UNHANDLED, IO_REPARSE_TAG_ONEDRIVE, IO_REPARSE_TAG_GVFS_TOMBSTONE, GUID_ADAPTIVE_INPUT_CONTROLLER_STATE, GUID_DISCONNECTED_STANDBY_MODE, POWER_DISCONNECTED_STANDBY_MODE_NORMAL, POWER_DISCONNECTED_STANDBY_MODE_AGGRESSIVE, PPM_FIRMWARE_LPI, PPM_IDLE_IMPLEMENTATION_LPISTATES, POWER_ACTION_DOZE_TO_HIBERNATE, IMAGE_REL_ARM64_BRANCH19, IMAGE_ARCHIVE_HYBRIDMAP_MEMBER, IMAGE_DYNAMIC_RELOCATION_GUARD_RF_PROLOGUE, IMAGE_DYNAMIC_RELOCATION_GUARD_RF_EPILOGUE, IMAGE_HOT_PATCH_*, IMAGE_GUARD_RF_INSTRUMENTED, IMAGE_GUARD_RF_ENABLE, IMAGE_GUARD_RF_STRICT, IMAGE_DEBUG_TYPE_REPRO, FAST_FAIL_INVALID_SYSCALL_NUMBER, FAST_FAIL_INVALID_FILE_OPERATION, FAST_FAIL_LPAC_ACCESS_DENIED, FAST_FAIL_GUARD_SS_FAILURE, FAST_FAIL_LOADER_CONTINUITY_FAILURE, FAST_FAIL_GUARD_EXPORT_SUPPRESSION_FAILURE, FAST_FAIL_INVALID_CONTROL_STACK, FAST_FAIL_SET_CONTEXT_DENIED, HEAP_CREATE_SEGMENT_HEA, HEAP_CREATE_HARDENED, CTMF_INCLUDE_LPAC, FLUSH_NV_MEMORY_IN_FLAG_NO_DRAIN, FLUSH_NV_MEMORY_DEFAULT_TOKEN, REG_OPTION_DONT_VIRTUALIZE & REG_UNLOAD_LEGAL_FLAGS defines. Various intrinsics have been updated. Various ARM64 defines and intrinsics have been added / updated. The PRODUCT_CLOUD* defines refer to Windows 10 Cloud which is a new SKU of Windows 10. The author’s DtWinVer code as of v2.04 includes support for detecting this SKU of Window. New SYSTEM_ACCESS_FILTER_ACE, TOKEN_BNO_ISOLATION_INFORMATION, PROCESS_MITIGATION_RETURN_FLOW_GUARD_POLICY, PROCESS_MITIGATION_THREAD_CONTEXT_POLICY, JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3, IMAGE_DYNAMIC_RELOCATION3, IMAGE_DYNAMIC_RELOCATION64, IMAGE_DYNAMIC_RELOCATION32_V2, IMAGE_DYNAMIC_RELOCATION64_V2, IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER, IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER & NV_MEMORY_RANG structs. New AccessReasonFilterAce, TokenBnoIsolation, ProcessReturnFlowGuardPolicy, ProcessThreadContextPolicy, JobObjectReserved*, QueryPotentialDripsConstraint, EnergyTrackerCreate, EnergyTrackerQuery, UpdateBlackBoxRecorder, MonitorRequestReasonAcDcDisplayBurstSuppressed, MonitorRequestReasonSystemStateEntered, MonitorRequestReasonWinrt & IMPORT_OBJECT_NAME_EXPORTAS enum values. JOB_OBJECT_ALL_ACCESS, IO_REPARSE_TAG_GLOBAL_REPARSE, CTMF_VALID_FLAGS, REG_LEGAL_OPTION & REG_OPEN_LEGAL_OPTION defines have been updated. New members in PROCESS_MITIGATION_DYNAMIC_CODE_POLICY, PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY, IMAGE_LOAD_CONFIG_DIRECTORY32, IMAGE_LOAD_CONFIG_DIRECTORY64, IMAGE_HOT_PATCH_INFO, IMAGE_HOT_PATCH_BASE & IMAGE_HOT_PATCH_HASHES structs. New RtlUnwindEx, RtlLookupFunctionEntryCHPE, RtlGetNonVolatileToken, RtlFreeNonVolatileToken, RtlFlushNonVolatileMemory, RtlDrainNonVolatileFlush, RtlWriteNonVolatileMemory & RtlFlushNonVolatileMemoryRanges APIs.
  • winsafer.h: New SRP_POLICY_MANAGEDINSTALLER define.
  • winspool.h: New PRINTER_DRIVER_CATEGORY_CLOUD define.
  • winsvc.h: New SERVICE_CONTROL_LOWRESOURCES, SERVICE_CONTROL_SYSTEMLOWRESOURCES, SERVICE_ACCEPT_LOWRESOURCES, SERVICE_ACCEPT_SYSTEMLOWRESOURCES & SERVICE_STOP_REASON_MINOR_MEMOTYLIMIT defines. New SC_EVENT_TYPE struct. New SC_NOTIFICATION_CALLBACK function pointer. New SubscribeServiceChangeNotifications, UnsubscribeServiceChangeNotifications & WaitServiceState APIs. I will look to update CNTService in the near future to support this new functionality.
  • WinTrust.h: New SPC_WINDOWS_HELLO_COMPATIBILITY_OBJID define.
  • WinUser.h: New WM_DPICHANGED_BEFOREPARENT, WM_DPICHANGED_AFTERPARENT & WM_GETDPISCALEDSIZE defines. New DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS & DIALOG_DPI_CHANGE_BEHAVIORS enums. New SetDialogControlDpiChangeBehavior, GetDialogControlDpiChangeBehavior, SetDialogDpiChangeBehavior, GetDialogDpiChangeBehavior & SetProcessDpiAwarenessContext APIs. This is part of the improvements for DPI scaling for Win32 in the Creators Update.
  • winuser.inl: Minor update to copyright message in comment.
  • winuser.rh: New WM_DPICHANGED_BEFOREPARENT, WM_DPICHANGED_AFTERPARENT & WM_GETDPISCALEDSIZE defines.
  • wkspbkax_i.c: MIDL_DEFINE_GUID define has been updated.
  • wlanapi.h: New wlan_notification_msm_link_degraded & wlan_notification_msm_link_improved enum values. New WLAN_DEVICE_SERVICE_GUID_LIST struct. New WlanDeviceServiceCommand & WlanGetSupportedDeviceServices APIs. New GUID_DEVINTERFACE_ASP_INFRA_DEVICE, DEVPKEY_WiFiDirect_Service_Aeps, DEVPKEY_WiFiDirect_NoMiracastAutoProject, DEVPKEY_WiFiDirect_IsInfraCastSupported, DEVPKEY_WiFiDirect_IsInfraCastStreamSecuritySupported, DEVPKEY_WiFiDirect_InfraCastAccessPointBssid, DEVPKEY_WiFiDirect_InfraCastSinkHostName, DEVPKEY_InfraCast_ChallengeAep, DEVPKEY_WiFiDirect_IsDMGCapable & DEVPKEY_InfraCast_DevnodeAep defines.
  • wmdmlog_i.c: MIDL_DEFINE_GUID define has been updated.
  • Wscapi.h: New wscLaunchAdminMakeDefaultUI API.
  • wsmandisp_i.c: MIDL_DEFINE_GUID define has been updated.
  • wuerror.h: New WU_S_ALREADY_REVERTED, WU_S_SEARCH_CRITERIA_NOT_SUPPORTED, WU_S_UH_DOWNLOAD_SIZE_CALCULATED, WU_S_METADATA_SKIPPED_BY_ENFORCEMENTMODE, WU_S_METADATA_IGNORED_SIGNATURE_VERIFICATION, WU_E_REVERT_NOT_ALLOWED, WU_E_IDLESHUTDOWN_OPCOUNT_SERVICEREGISTRATION, WU_E_FILETRUST_SHA2SIGNATURE_MISSING, WU_E_METADATA*, WU_E_WMI_NOT_SUPPORTED, WU_E_UPDATE_MERGE_NOT_ALLOWED & WU_E_SKIPPED_UPDATE_INSTALLATION defines.
  • xamlOM.h\idl: New IVisualTreeServiceCallback2 & IVisualTreeService3 interfaces.

There seems to be quite a bit of interesting changes in the updated Windows 10 Creators Update proving that there is life in the Win32 API yet for us old school C++ Windows programmers. Happy coding.

Categories: Programming

Changes in the Windows v10.0.15021 SDK compared to Windows v10.0.14393 SDK (Part One)

February 14, 2017 1 comment

This is a comparison of the differences between the Windows 10 SDK (v10.0.14393) which corresponds to Windows 10 version 1607 and the pre-release version (v10.0.15021) SDK which will correspond to Windows 10 version 1704 aka Windows 10 Creators Update. This will highlight any interesting new Windows API changes which are available in Windows 10 version 1704. Part one of this review will concentrate on the “shared” header file which contains the defines which are shared between Kernel mode and User mode. The upcoming second part of this blog post will look at the “um” folder differences which contain the user mode header files. I expect the second part of this review will be much bigger as there are just over 2000 files in the “um” directory compared to just 253 in the “shared” directory.

Ok, let’s dive into the changes:

  • A lot of the header files have reworked references to a new pre-processor define _M_HYBRID_X86_ARM64. This probably refers to the upcoming version of Windows which will run on ARM hardware but will include x86 emulation. For more information see https://arstechnica.com/information-technology/2016/11/x86-emulation-rumored-to-be-coming-to-windows-for-arm-in-late-2017/.
  • A lot of the header files have reworked references to the concept of SDK Family and Partitions which segregate the APIs available from the SDK header files as being available on certain Families e.g. Windows Phone, Windows Desktop, Window Server, WinRT etc.
  • apiset.h: Contains a number of new API_SET_* defines.
  • bthdef.h: Various pre-processor GUID defines have been reworked and added. New BDIF_LE_CONNECTED & BDIF_LE_CONNECTABLE defines.
  • Some of the changes in the new SDK reference the pre-processor value of NTDDI_WIN10_RS2 for of NTDDI_VERSION. This corresponds to Windows 10 codename “Redstone 2” aka Windows 10 version 1704.
  • bugcodes.h: New CLUSTER_CLUSPORT_STATUS_IO_TIMEOUT_LIVEDUMP, SECURE_FAULT_UNHANDLED, BUGCODE_NETADAPTER_DRIVER, PDC_PRIVILEGE_CHECK_LIVEDUMP, TTM_WATCHDOG_TIMEOUT, WIN32K_CALLOUT_WATCHDOG_LIVEDUMP, WIN32K_CALLOUT_WATCHDOG_BUGCHECK, FAST_ERESOURCE_PRECONDITION_VIOLATION, STORE_DATA_STRUCTURE_CORRUPTION, MANUALLY_INITIATED_POWER_BUTTON_HOLD, USER_MODE_HEALTH_MONITOR_LIVEDUMP & HYPERVISOR_WATCHDOG_TIMEOUT defines.
  • cfg.h: New DN_QUERY_REMOVE_PENDING & DN_QUERY_REMOVE_ACTIVE defines.
  • clfs.h: Minor spelling mistake fixes in a number of comments
  • common.ver: VER_LEGALCOPYRIGHT_YEARS & VER_LEGALCOPYRIGHT_STR_WITH_YEARS defines have been updated to 2017
  • d3dukmdt.h: New DXGKDDI_INTERFACE_VERSION_WDDM2_2, D3D_UMD_INTERFACE_VERSION_WDDM2_2_1* & IOCTL_GPUP_DRIVER_ESCAPE CTL_CODE defines. New GPUP_DRIVER_ESCAPE_INPUT, DXGKVGPU_ESCAPE_HEAD, DXGKVGPU_ESCAPE_READ_PCI_CONFIG, DXGKVGPU_ESCAPE_READ_VGPU_TYPE, D3DDDI_CREATEHWCONTEXTFLAGS, D3DDDI_CREATEHWQUEUEFLAGS & PeriodicMonitoredFence structs. New DXGKVGPU_ESCAPE_TYPE enum. New D3DDDI_members in D3DDDI_ALLOCATIONINFO2, D3DDDI_ALLOCATIONINFO2 & D3DDDI_ESCAPEFLAGS structs. New D3DDDI_COLOR_SPACE_YCBCR_STUDIO_GHLG_TOPLEFT_P2020, D3DDDI_COLOR_SPACE_YCBCR_FULL_GHLG_TOPLEFT_P2020 & D3DDDI_PERIODIC_MONITORED_FENCE enum values.
  • devguid.h: New GUID_DEVCLASS_HOLOGRAPHIC & GUID_DEVCLASS_NETDRIVER defines.
  • devioctl.h: New FILE_DEVICE_PERSISTENT_MEMORY, FILE_DEVICE_NVDIMM & FILE_DEVICE_HOLOGRAPHIC defines.
  • devpkey.h: New DEVPKEY_Device_ExtendedAddress & DEVPKEY_DeviceInterface_UnrestrictedAppCapabilities defines.
  • dxgdi.h/idl: New DXGI_SWAP_CHAIN_FLAG_RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS defines.
  • dxgdi1_5.h/idl: New DXGI_OUTDUPL_FLAG enum.
  • dxgdi1_6.h/idl: New header files for DXGDI 1.6. Includes new IDXGIAdapter4 & IDXGIOutput6 interfaces.
  • dxgdicommon.h/idl: New header file including DXGI_RATIONAL & DXGI_SAMPLE_DESC structs & DXGI_COLOR_SPACE_TYPE enum moved from existing header file.
  • evntrace.h: New PrivateLoggerNotificationGuid define. New EVENT_TRACE_PROPERTIES_V2 & TRACE_PERIODIC_CAPTURE_STATE_INFO structs. New TracePeriodicCaptureStateListInfo & TracePeriodicCaptureStateInfo enum values.
  • fwpmtypes.h: New FWPM_FILTER_FLAG_SILENT_MODE define
  • fwpmtypes.h: New FWP_ACTION_BITMAP_INDEX_SET define. New member in FWPM_ACTION0 struct.
  • fwpstypes.h/idl: New FWPS_FILTER_FLAG_SILENT_MODE define.
  • fwptypes.h/idl: New enum values in FWP_DATA_TYPE. New FWP_MATCH_NOT_PREFIX enum value. New FWP_BITMAP_ARRAY64 struct. New FWP_BYTEMAP_ARRAY64_SIZE, FWP_BITMAP_ARRAY64_SIZE, FWP_ACTION_BITMAP_INDEX_SET & FWP_CONDITION_REAUTHORIZE_REASON_* defines.
  • fwpvi.h: New FwpmBitmapIndexGet & FwpmBitmapIndexFree defines.
  • hidusage.h: Various new HID_USAGE_* defines. These defines probably cover the new Surface Dial device, game, simulation, holographic controllers & digitizers.
  • hvsocket.h: New IOCTL_HVSOCKET_UPDATE_ADDRESS_INFO & HVSOCKET_ADDRESS_FLAG_PASSTHRU defines. New HVSOCKET_ADDRESS_INFO struct.
  • infstr.h: New INFSTR_SUBKEY_SOFTWARE & INFSTR_SOFTWAREVERSION_SECTION defines.
  • ipifcons.h: New IF_TYPE_XBOX_WIRELESS define.
  • ks.h: New KSSTREAM_HEADER_OPTIONSF_SECUREBUFFERTRANSFE define.
  • ks386.inc: New PS_MITIGATION_OPTION_*, STATUS_SET_CONTEXT_DENIED, FAST_FAIL_INVALID_CONTROL_STACK & FAST_FAIL_SET_CONTEXT_DENIED defines.
  • ksamd64.inc: New PS_MITIGATION_OPTION_*, STATUS_SET_CONTEXT_DENIED, FAST_FAIL_INVALID_CONTROL_STACK & FAST_FAIL_SET_CONTEXT_DENIED, KTHREAD_CONTROL_STACK_BIT, SrMsrFsBase, PcSfCode, PcSfVa, KgdtFlags1, KGDT_ENTRY_PRESENT, FAST_FAIL_GUARD_SS_FAILURE, KI_EXCEPTION_SECURE_FAULT, KI_EXCEPTION_SEGMENT_NOT_PRESENT, PdaGdt, PdaKernelGsBase & PsMsrFsBase defines.
  • ksarm.h: New IbMitigationOptionsMap, PS_MITIGATION_OPTION_*, STATUS_SET_CONTEXT_DENIED, FAST_FAIL_INVALID_CONTROL_STACK & FAST_FAIL_SET_CONTEXT_DENIED defines.
  • ksmedia.h: New KS_CAPTURE_ALLOC_SECURE_BUFFER, KSPROPERTY_CAMERACONTROL_EXTENDED_SECURE_MODE, MetadataId_CaptureStats, MetadataId_CameraExtrinsics, MetadataId_CameraIntrinsics & MetadataId_FrameIllumination enum values. New SECURE_BUFFER_INFO, KSCAMERA_METADATA_FRAMEILLUMINATION, KSCAMERA_METADATA_CAPTURESTATS, KSAUDIOMODULE_DESCRIPTOR, KSAUDIOMODULE_PROPERTY & KSAUDIOMODULE_NOTIFICATION structs. New STATIC_KS_SECURE_CAMERA_SCENARIO_ID, KS_SECURE_CAMERA_SCENARIO_ID, KSCAMERA_METADATA_CAPTURESTATS_FLAG_*, KSCAMERA_EXTENDEDPROP_SECUREMODE_DISABLED, KSCAMERA_EXTENDEDPROP_SECUREMODE_ENABLED, KSPROPSETID_AudioModule, AUDIOMODULE_MAX_DATA_SIZE, AUDIOMODULE_MAX_NAME_CCH_SIZE & KSNOTIFICATIONID_AudioModule defines. New KSPROPERTY_AUDIOMODULE enum.
  • kxamd64.inc: Various miscellaneous changes to X64 assembler code.
  • mstcpip.h: New TCPSTATE enum. New SIO_TCP_INFO define. New TCP_INFO_v0 struct.
  • netioapi.h: New MIB_IF_ENTRY_LEVEL struct. New GetIfEntry2Ex API. New MibIfTableNormalWithoutStatistics enum value.
  • netiodef.h: New IPV6_FULL_TRAFFIC_CLASS_MASK, IPV6_FULL_TRAFFIC_CLASS, ND_OPT_RDNSS_MIN_LEN & ND_OPT_DNSSL_MIN_LEN defines. New ND_OPT_RDNSS & ND_OPT_DNSSL enum values. New ND_OPTION_RDNSS, ND_OPTION_DNSSL structs. New parameters to Ipv6pGetVersionClassEcnFlow API.
  • nfcdtadev.h: The GUID_DEVINTERFACE_NFCDTA define has been updated.
  • ntddndis.h: New defines to support NDIS 6.7 functionality included with Windows 10 v1704
  • ntddscsi.h: New FIRMWARE_STATUS_* & FIRMWARE_REQUEST_FLAG_LAST_SEGMENT defines.
  • ntddstor.h: New IOCTL_STORAGE_GET_DEVICE_NUMBER_EX, STORAGE_DEVICE_FLAGS_*, STORAGE_CRYPTO_CAPABILITY_VERSION_1, STORAGE_CRYPTO_DESCRIPTOR_VERSION_1, STORAGE_ATTRIBUTE_PERF_SIZE_INDEPENDENT, STORAGE_DEVICE_NUMA_NODE_UNKNOWN & STORAGE_HW_FIRMWARE_REQUEST_FLAG_LAST_SEGMENT defines. New STORAGE_DEVICE_NUMBERS, STORAGE_DEVICE_NUMBER_EX, STORAGE_CRYPTO_KEY_SIZE, STORAGE_CRYPTO_CAPABILITY, STORAGE_CRYPTO_DESCRIPTOR & STORAGE_DEVICE_NUMA_PROPERTY structs. New BusTypeUfs, StorageAdapterCryptoProperty, StorageDeviceNumaProperty, StorageTierMediaTypeScm & DiskOpReasonMax enum values. New STORAGE_CRYPTO_ALGORITHM_ID & STORAGE_TIER_CLASS enums. New member of STORAGE_TIER struct.
  • ntddvdeo.h: New VideoRepaintDesktop, VideoUpdateCursor & VideoDisableMultiPlaneOverlay enum values.
  • ntdef.h: New DECLSPEC_CHPE_GUEST define. New WNF_STATE_NAME struct. New PRODUCT_ENTERPRISEG, PRODUCT_ENTERPRISEGN, PRODUCT_CLOUD & PRODUCT_CLOUDN. These later two defines refer to Windows 10 Cloud which is a new SKU of Windows 10. The author’s DtWinVer code as of v2.04 includes support for detecting this SKU of Window.
  • ntiologic.h: New IO_ERROR_DUMP_CREATION_ERROR define.
  • ntstatus.h: New STATUS_LOST_MODE_LOGON_RESTRICTION, STATUS_VRF_CFG_ENABLED, STATUS_ATTRIBUTE_NOT_PRESENT, STATUS_NOT_A_TIERED_VOLUME, STATUS_ALREADY_HAS_STREAM_ID, STATUS_JOB_NOT_EMPTY, STATUS_ALREADY_INITIALIZED, STATUS_STRICT_CFG_VIOLATION, STATUS_STRICT_RFG_VIOLATION, STATUS_RFG_ACCESS_VIOLATION, STATUS_RFG_ATTACHED_ACCESS_VIOLATION, STATUS_SET_CONTEXT_DENIED, STATUS_LPAC_ACCESS_DENIED, STATUS_FILE_SYSTEM_VIRTUALIZATION_UNAVAILABLE, STATUS_FILE_SYSTEM_VIRTUALIZATION_METADATA_CORRUPT, STATUS_FILE_SYSTEM_VIRTUALIZATION_BUSY, STATUS_FILE_SYSTEM_VIRTUALIZATION_PROVIDER_UNKNOWN, STATUS_CLOUD_FILE_TOO_MANY_PROPERTY_BLOBS, STATUS_CLOUD_FILE_METADATA_VERSION_NOT_SUPPORTED, STATUS_NOT_A_CLOUD_FILE, STATUS_CLOUD_FILE_NOT_IN_SYNC, STATUS_CLUSTER_CAM_TICKET_REPLAY_DETECTED, STATUS_FVE_OSV_KSR_NOT_ALLOWED, STATUS_PCP_WRONG_PARENT, STATUS_PCP_KEY_NOT_LOADED, STATUS_PCP_NO_KEY_CERTIFICATION, STATUS_PCP_KEY_NOT_FINALIZED, STATUS_PCP_ATTESTATION_CHALLENGE_NOT_SET, STATUS_PCP_NOT_PCR_BOUND, STATUS_PCP_KEY_ALREADY_FINALIZED, STATUS_PCP_KEY_USAGE_POLICY_NOT_SUPPORTED, STATUS_PCP_KEY_USAGE_POLICY_INVALID, STATUS_PCP_SOFT_KEY_ERROR, STATUS_PCP_KEY_NOT_AUTHENTICATED, STATUS_PCP_KEY_NOT_AIK, STATUS_PCP_KEY_NOT_SIGNING_KEY, STATUS_PCP_LOCKED_OUT, STATUS_PCP_CLAIM_TYPE_NOT_SUPPORTED, STATUS_PCP_TPM_VERSION_NOT_SUPPORTED, STATUS_PCP_BUFFER_LENGTH_MISMATCH, STATUS_HV_OPERATION_FAILED, STATUS_GDI_HANDLE_LEAK & STATUS_SPACES_REDIRECT defines. STATUS_HV_NOT_ALLOWED_WITH_NESTED_VIRT_ACTIVE define value has been updated.
  • rpcdce.h: New RpcServerInqBindingsEx API.
  • scsi.h: New UNKNOWN_OR_NO_DEVICE define.
  • sddl.h: New SDDL_ACCESS_FILTER, SDDL_TRUST_PROTECTED_FILTER & SDDL_ACE_COND_TOKEN_ATTRIBUTE_PREFIX defines.
  • sdkddkver.h: New defines for NTDDI_WIN10_RS2 which corresponds to Windows 10 v1704.
  • srb.h: New SRB_FUNCTION_CRYPTO_OPERATION & REQUEST_INFO_STREAM_FLAG defines.
  • Sspi.h: New SECBUFFER_DTLS_MTU & SEC_WINNT_AUTH_DATA_TYPE_CREDMAN_CERT defines. New SEC_DTLS_MTU struct.
  • tbs.h: New TBS_OWNERAUTH_TYPE_ENDORSEMENT_20 & TBS_OWNERAUTH_TYPE_STORAGE_20 defines.
  • TraceLoggingProvider.h: New TraceLoggingPackedDataEx defines.
  • usbspec.h: New USB_DEVICE_CAPABILITY_CONFIGURATION_SUMMARY define. New USB_DEVICE_CAPABILITY_CONFIGURATION_SUMMARY_DESCRIPTOR struct.
  • vhf.h: New members in VHF_CONFIG struct.
  • wdmguid.h: New GUID_SECURE_DRIVER_INTERFACE, GUID_SDEV_IDENTIFIER_INTERFACE, GUID_SCM_BUS_NVD_INTERFACE, GUID_SCM_BUS_LD_INTERFACE, GUID_SCM_PHYSICAL_NVDIMM_INTERFACE & GUID_PNP_EXTENDED_ADDRESS_INTERFACE defines.
  • winbio_err.h: New WINBIO_E_POLICY_PROTECTION_UNAVAILABLE, WINBIO_E_INSECURE_SENSOR, WINBIO_E_INVALID_BUFFER_ID, WINBIO_E_INVALID_BUFFER & WINBIO_E_TRUSTLET_INTEGRITY_FAIL defines.
  • winbio_types.h: New WINBIO_SECURE_BUFFER_HEADER_V1 & WINBIO_GESTURE_METADATA structs. New WINBIO_SECURE_BUFFER_TYPE_V1, WINBIO_FRAMEWORK_CHANGE_UNIT_STATUS, WINBIO_OPERATION_ENROLL_AUTHORIZE, WINBIO_OPERATION_ENROLL_REVOKE, WINBIO_OPERATION_GET_PROTECTION_POLICY, WINBIO_MATCH_TYPE, WINBIO_MATCH_SOFTWARE, WINBIO_MATCH_TRUSTED_EXECUTION_ENVIRONMENT, WINBIO_MATCH_ON_CHIP & WINBIO_OPERATION_NOTIFY_UNIT_STATUS_CHANGE defines. New member in WINBIO_EXTENDED_UNIT_STATUS, WINBIO_PROTECTION_POLICY struct.
  • windef.h: New DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 define. This new define relates to the new feature of Mixed Mode DPI scaling and new Per Monitor v2 support.
  • windot11.h: New DOT11_WFD_APS2_SERVICE_TYPE_MAX_LENGTH & DOT11_WFD_ASP2_INSTANCE_NAME_MAX_LENGTH defines.
  • winerror.h: New FACILITY_PIX, ERROR_FILE_SYSTEM_VIRTUALIZATION_UNAVAILABLE, ERROR_FILE_SYSTEM_VIRTUALIZATION_METADATA_CORRUPT, ERROR_FILE_SYSTEM_VIRTUALIZATION_BUSY, ERROR_FILE_SYSTEM_VIRTUALIZATION_PROVIDER_UNKNOWN, ERROR_GDI_HANDLE_LEAK, ERROR_CLOUD_FILE_TOO_MANY_PROPERTY_BLOBS, ERROR_CLOUD_FILE_METADATA_VERSION_NOT_SUPPORTED, ERROR_NOT_A_CLOUD_FILE, ERROR_CLOUD_FILE_NOT_IN_SYNC, ERROR_PNP_QUERY_REMOVE_DEVICE_TIMEOUT, ERROR_PNP_QUERY_REMOVE_RELATED_DEVICE_TIMEOUT, ERROR_PNP_QUERY_REMOVE_UNRELATED_DEVICE_TIMEOUT, ERROR_VRF_CFG_ENABLED, ERROR_STRICT_CFG_VIOLATION, ERROR_STRICT_RFG_VIOLATION, ERROR_RFG_ACCESS_VIOLATION, ERROR_SET_CONTEXT_DENIED, ERROR_LOST_MODE_LOGON_RESTRICTION, ERROR_ALREADY_HAS_STREAM_ID, ERROR_PRI_MERGE_MULTIPLE_PACKAGE_FAMILIES_NOT_ALLOWED, ERROR_PRI_MERGE_MULTIPLE_MAIN_PACKAGES_NOT_ALLOWED, ERROR_PRI_MERGE_BUNDLE_PACKAGES_NOT_ALLOWED, ERROR_PRI_MERGE_MAIN_PACKAGE_REQUIRED, ERROR_PRI_MERGE_RESOURCE_PACKAGE_REQUIRED, ERROR_PRI_MERGE_INVALID_FILE_NAME, ERROR_PACKAGE_MOVE_BLOCKED_BY_STREAMING, ERROR_INSTALL_OPTIONAL_PACKAGE_APPLICATIONID_NOT_UNIQUE, ERROR_PACKAGE_STAGING_ONHOLD, ERROR_INSTALL_INVALID_RELATED_SET_UPDATE, APPX_E_INVALID_CONTENTGROUPMAP, WER_E_TOO_HEAVY, TPM_E_PCP_WRONG_PARENT, TPM_E_KEY_NOT_LOADED, TPM_E_NO_KEY_CERTIFICATION, TPM_E_KEY_NOT_FINALIZED, TPM_E_ATTESTATION_CHALLENGE_NOT_SET, TPM_E_NOT_PCR_BOUND, TPM_E_KEY_ALREADY_FINALIZED, TPM_E_KEY_USAGE_POLICY_NOT_SUPPORTED, TPM_E_KEY_USAGE_POLICY_INVALID, TPM_E_SOFT_KEY_ERROR, TPM_E_KEY_NOT_AUTHENTICATED, TPM_E_PCP_KEY_NOT_AIK, TPM_E_KEY_NOT_SIGNING_KEY, TPM_E_LOCKED_OUT, TPM_E_CLAIM_TYPE_NOT_SUPPORTED, TPM_E_VERSION_NOT_SUPPORTED, TPM_E_BUFFER_LENGTH_MISMATCH, FVE_E_OSV_KSR_NOT_ALLOWED, ERROR_HV_OPERATION_FAILED, ERROR_VMCOMPUTE_PROTOCOL_ERROR, STATEREPOSITORY_E_BUSY_TIMEOUT_EXCEEDED, STATEREPOSITORY_E_BUSY_RECOVERY_TIMEOUT_EXCEEDED, STATEREPOSITORY_E_LOCKED_TIMEOUT_EXCEEDED, STATEREPOSITORY_E_LOCKED_SHAREDCACHE_TIMEOUT_EXCEEDED, STATEREPOSITORY_E_SERVICE_STOP_IN_PROGRESS, ERROR_TIERING_FILE_IS_NOT_PINNED, ERROR_NOT_A_TIERED_VOLUME, ERROR_ATTRIBUTE_NOT_PRESENT, DXGI_ERROR_DYNAMIC_CODE_POLICY_VIOLATION, DXGI_ERROR_NON_COMPOSITED_UI, DXGI_ERROR_CACHE_CORRUPT, DXGI_ERROR_CACHE_FULL, DXGI_ERROR_CACHE_HASH_COLLISION, DXGI_ERROR_ALREADY_EXISTS, UTC_E_TIME_TRIGGER_ON_START_INVALID, UTC_E_TIME_TRIGGER_ONLY_VALID_ON_SINGLE_TRANSITION, UTC_E_TIME_TRIGGER_INVALID_TIME_RANGE, UTC_E_MULTIPLE_TIME_TRIGGER_ON_SINGLE_STATE & UTC_E_BINARY_MISSING defines. The ERROR_HV_NOT_ALLOWED_WITH_NESTED_VIRT_ACTIVE define value has been updated.
  • winsmcrd.h: New SCARD_ATTR_VENDOR_SPECIFIC_INFO define.
  • wmistr.h: New WNODE_FLAG_VERSIONED_PROPERTIES define.
  • ws2ipdef.h: New PMTUD_STATE enum. New IP_MTU_DISCOVER, IP_RECVTOS, IP_RECVTTL, IPV6_MTU_DISCOVER & TCP_KEEPCNT defines.
  • WTypesbase.h/idl: New APPIDREGFLAGS_AAA_NO_IMPLICIT_ACTIVATE_AS_IU, APPIDREGFLAGS_RESERVED7 defines.

This review sets the stage for part two of the review where we review the “um” folder. Hopefully I would get around to this in the next couple of weeks. So far there has not been too much unexpected in the changes but all the interested changes will probably be in the “um” folder. Happy coding.

Categories: Programming

A Comprehensive comparison of the MFC & ATL changes in VS 2017 RC compared to Visual Studio 2015 Update 3 (Part Two)

January 10, 2017 Comments off

This is the second part of a two-part blog post which compares MFC and ATL in VS 2017 RC with those in Visual Studio 2015. The first part of this blog post covered the changes in the header files. This follow-up blog post will cover the differences in the source code modules.

Please note that this review is based on the VS 2017 Release Candidate (Build 26014.00) which was released on December 15 2016.

As ATL is mostly a header only library you would expect almost all of the differences to be in the MFC “.cpp” source code files.

Ok, the changes are as follows:

src\atls\x64

  • This folder has been renamed from “amd64”.

src\mfc\x64

  • This folder has been renamed from “amd64”.

afxdatarecovery.cpp

afxeditbrowsectrl.cpp

  • Line 379: Fix for passing a parameter to CString::Format as an object instead of a C style string.

afxjumplist.cpp

  • Line 477, 486, 498: Fix for passing a parameter to TRACE1 as an object instead of a C style string.

afxlinkctrl.cpp

  • Line 114: Fix for passing a parameter to TRACE as an object instead of a C style string.

afxmousemanager.cpp

  • Line 121, 127: Fix for passing a parameter to TRACE as an object instead of a C style string.

afxribbonbar.cpp

afxribboncustomizedialog.cpp

  • Line 207: Fix for passing a parameter to CString::Format as an object instead of a C style string.

afxshowallbutton.cpp

  • Line 133: Fix for passing a parameter to CString::Format as an object instead of a C style string.

afxstatusbar.cpp

afxtagmanager.cpp

  • Line 196: Fix for passing a parameter to TRACE as an object instead of a C style string.

afxtoolbar.cpp

afxtoolbarslistpropertypage.cpp

  • Line 386, 452: Fix for passing a parameter to CString::Format as an object instead of a C style string.

afxtoolbarsmenupropertypage.cpp

  • Line 475, 523: Fix for passing a parameter to CString::Format as an object instead of a C style string.

afxusertool.cpp

  • Line 68: Fix for passing a parameter to TRACE as an object instead of a C style string.

afxvisualmanageroffice2007.cpp

  • Line 365: Fix for passing a parameter to TRACE as an object instead of a C style string.

afxvisualmanagerwindows7.cpp

  • Line 129: Fix for passing a parameter to TRACE as an object instead of a C style string.

ctlreg.cpp

  • Line 148: Fix for passing a parameter to TRACE as an object instead of a C style string.

dbcore.cpp

  • Line 67, 174, 180, 183: Fix for passing a parameter to TRACE as an object instead of a C style string.

oledlgs1.cpp

  • Line 692: Fix for passing a parameter to CString::Format as an object instead of a C style string.

oledoccl.cpp

  • Line 330: Fix for passing a parameter to CString::Format as an object instead of a C style string.

olemisc.cpp

  • Line 990-991: Fix for passing two parameters to _snwprintf_s as an object instead of a OLECHAR* string.

olereg.cpp

  • Line 555, 589: Fix for passing a parameter to TRACE as an object instead of a C style string.

oleunk.cpp

  • Line 202, 235, 257, 286, 309, 394, 396: Fix for passing a parameter to TRACE as an object instead of a C style string.

winctrl3.cpp

  • Line 65-77: Logic in _AFX_CHECKLIST_STATE::GetCheckBoxSize has been reworked to check the version number of comctrl32 in addition to the existing call to IsAppThemed. I was unable to find any information about this bug fix.

So, as you can see very fix bug fixes and some C++ conformance fixes in the MFC source code.

Hopefully this review was useful for those developers thinking of migrating their large ATL / MFC code base to the latest version of Visual Studio. Happy coding.

Categories: Programming