AA+ v1.78

February 19, 2017 Leave a comment

Just to let everyone know that v1.78 of AA+ has been released. Updates for this version include:

  • Fixed a bug in the CAADynamicalTime::UTC2TT & CAADynamicalTime::TT2UTC methods where the code would incorrectly use BaseMJD instead of JD when determining if the date is in the valid range of UTC. Thanks to Luigi Candurro for reporting this bug.
Categories: Web Site Updates

AA+ v1.77

February 18, 2017 Leave a comment

Just to let everyone know that v1.77 of AA+ has been released. Updates for this version include:

  • Fixed a transcription error on the DeltaT value for 1 May 2015. The correct value is 67.8012 instead of 67.8011. Thanks to Luigi Candurro for reporting this error.
  • Fixed a number of transcription errors on the predicted DeltaT values from 2019.75 to 2025.75. Thanks to Luigi Candurro for reporting these errors.
  • CAADynamicalTime::TT2UTC is now implemented as TT2UT1 for date ranges prior to 1 January 1961 and 500 days after the last leap second (which is currently 1 January 2017). Also CAADynamicalTime::UTC2TT is now implemented as UT12TT for date ranges prior to 1 January 1961 and 500 days after the last leap second. These changes address problems where these two functions would end up using a constant offset between UTC and TT for dates away from the current epoch. This problem was discovered while calculating rise, transit and set times for the Moon in B.C.E years. Thanks to Luigi Candurro for prompting this update.
  • Reworked the CAADate::SetInGregorianCalendar method to use the AfterPapalReform method.
  • Documentation now includes info on CAADate::AfterPapalReform methods. Thanks to Luigi Candurro for reporting this issue.
Categories: Web Site Updates

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

February 14, 2017 Leave a 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

AA+ v1.76

February 12, 2017 Leave a comment

Just to let everyone know that v1.76 of AA+ has been released. Updates for this version include:

  • Fixed a copy and paste bug in CAASaturnMoons::CalculateHelper in the calculation of the value mu for the eight moon (Iapetus). Thanks to Cedric Foellmi for reporting this issue.
Categories: Web Site Updates

DtWinVer v2.04

February 12, 2017 Leave a comment

Just to let everyone know that v2.04 of DtWinVer has been released. Updates for this version include:

  • Added support for the following product types: PRODUCT_ENTERPRISEG, PRODUCT_ENTERPRISEGN, PRODUCT_CLOUD & PRODUCT_CLOUDN.
  • Renamed IsWindows10Version1703 method to IsWindows10Version1704.
Categories: Web Site Updates

AA+ v1.75

February 11, 2017 Leave a comment

Just to let everyone know that v1.75 of AA+ has been released. Updates for this version include:

  • Applied a bug fix to CAAMoon::EclipticLatitude and CAAMoon::RadiusVector along the same lines as the fix to CAAMoon::EclipticLongitude on February 2009. The bug fix should in fact have been applied to the later two methods. Thanks to Jeffrey Roe for reporting this issue.
Categories: Web Site Updates

SocksSvc v1.06

February 10, 2017 Leave a comment

Just to let everyone know that v1.06 of SocksSvc has been released. Updates for this version include:

  • Updated copyright details.
  • Replaced BOOL with bool throughout codebase
  • Replaced NULL with nullptr throughout codebase
  • Updated the code to compile cleanly in VC 2013 – 2015. The code now requires at a minimum VC 2013
  • Updated the code to handle IPv6 Socks v5 support
  • Added SAL annotations to all the code
  • Fixed up logic in CSocksClient::DoSocks5Negotiation to pick an appropriate socks5 client method
  • Reworked all CSocksSocket::Read methods to avoid the use of "new".
  • Updated all the CSocksSocket::Read methods to handle WSAEWOULDBLOCK errors.
  • Updated CSocksClient::Relay method to handle WSAEWOULDBLOCK errors.
  • Updated CSocksClient::SendConnectionResponsev5 method to return bound server address and port number in IPv4 and IPv6 connection responses.
Categories: Web Site Updates