Archive

Archive for August, 2016

PyDebug++ v1.06

August 28, 2016 Comments off

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

  • The watch window now uses the Python Sequence and Mapping protocols instead of the Iterator protocol (in addition to the existing code which uses a dictionary) to determine if a variable contains sub-variables. This now allows dict objects to be shown correctly in the various variable windows.
  • Fixed a bug where breakpoints would not get disabled in the Scintilla UI when the document is modified.
Categories: Web Site Updates

PyDebug++ v1.05

August 28, 2016 Comments off

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

  • Added support for showing expandable Python variables in the Watch, Locals, Built-Ins & Globals windows.
  • Numerous improvements to the handling of keyboard and mouse interaction in the Watch, Locals, Built-Ins & Globals windows.
Categories: Web Site Updates

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

August 20, 2016 Comments off

This is a comparison of the differences between the original Windows 10 SDK (v10.0.10240) and the SDK (v10.0.14393) which corresponds to Windows 10 version 1607 aka Windows 10 Anniversary Update. This will highlight any interesting new Windows API changes which are available in Windows 10 version 1607. 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 may also look at the “ucrt” folder which contains the Universal CRT and the “winrt” folder which contains the WinRT APIs if time permits. I expect the second part of this review will be much bigger as there are just under 2000 files in the “um” directory compared to just 249 in the “shared” directory.

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 changes in the new SDK reference the pre-processor value of NTDDI_WIN10_RS1 for NTDDI_VERSION. This corresponds to Windows 10 codename “Redstone 1” aka Windows 10 version 1607 aka Windows 10 Build 14393.

· apiioct.h: Has been removed

· bcrypt.h: New reference to a define for BCRYPT_KDF_RAW_SECRET which was introduced in Windows 8.1, New BCRYPT_ENABLE_INCOMPATIBLE_FIPS_CHECKS in preference to defunct BCRYPT_ECC_NO_COFACTOR_MULTIPLICATION define,

· bdatypes: New HEVC_VIDEO_OR_TEMPORAL_VIDEO & HEVC_TEMPORAL_VIDEO_SUBSET defines.

· bthdef.h: New BDIF_LE_VISIBLE define.

· bugcodes.h: New VSL_INITIALIZATION_FAILED, SOFT_RESTART_FATAL_ERROR, STORAGE_MINIPORT_ERROR, ERRATA_WORKAROUND_UNSUCCESSFUL, COREMSGCALL_INTERNAL_ERROR, COREMSG_INTERNAL_ERROR, PDC_LOCK_WATCHDOG_LIVEDUMP, PDC_UNEXPECTED_REVOCATION_LIVEDUMP, HYPERGUARD_VIOLATION, KERNEL_STORAGE_SLOT_IN_USE, SMB_SERVER_LIVEDUMP, LOADER_ROLLBACK_DETECTED, WIN32K_SECURITY_FAILURE, UFX_LIVEDUMP, WORKER_THREAD_RETURNED_WHILE_ATTACHED_TO_SILO, TTM_FATAL_ERROR, WIN32K_POWER_WATCHDOG_TIMEOUT & CLUSTER_SVHDX_LIVEDUMP defines.

· common.ver: VER_LEGALCOPYRIGHT_YEARS define has been updated to “2016”

· d3dkmddi.h: Has been removed

· d3dkmdt.h: Has been removed

· d3dukmdt.h: New DXGKDDI_INTERFACE_VERSION_WDDM2_1, D3D_UMD_INTERFACE_VERSION_WDDM2_1*, DXGK_MAX_PAGE_TABLE_LEVEL_COUNT, DXGK_MIN_PAGE_TABLE_LEVEL_COUNT, D3DDDI_COLOR_SPACE_* defines. New DXGK_PTE_PAGE_SIZE, DXGK_PTE, D3DDDI_SEGMENTPREFERENCE, D3DDDI_UPDATEALLOCPROPERTY_FLAGS, D3DDDI_UPDATEALLOCPROPERTY, D3DDDI_OFFER_FLAGS & D3DDDI_RECLAIM_RESULT structs. New members in D3DDDI_ESCAPEFLAGS based on WDM 2.0 flag. New D3DDDI_HDR_METADATA_TYPE enum and D3DDDI_HDR_METADATA_HDR10 struct which support HDR features.

· dcomtypes.h: Now references dxgi1_5.h header file. New DCOMPOSITION_DEPTH_MODE

· devioctl.h: New FILE_DEVICE_UCM & FIEL_DEVICE_UCMTCPI defines.

· dpfilter.h: New DPFLTR_STORAGECLASSMEMORY_ID & DPFLTR_FSLIB_ID enum values

· dxgi.h/idl: New DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING enum value. New DXGI_PRESENT_ALLOW_TEARING define

· dxgdi1_5.h/idl: New header file for new functionality in DXGDI including IDXGIOutput5, DXGI_HDR_METADATA_TYPE, IDXGISwapChain4, DXGI_OFFER_RESOURCE_FLAGS, DXGI_RECLAIM_RESOURCE_RESULTS, IDXGIDevice4, DXGI_FEATURE & IDXGIFactory5

· dxgitype.h/idl: New DXGI_COLOR_SPACE_* defines

· evntprov.h: New MAX_EVENT_FILTER_EVENT_NAME_SIZE & EVENT_FILTER_TYPE_EVENT_NAME defines. New EVENT_FILTER_EVENT_NAME struct

· evntrace.h: New EVENT_TRACE_TYPE_CONFIG_DEFRAG, EVENT_TRACE_TYPE_CONFIG_MOBILEPLATFORM, EVENT_TRACE_TYPE_CONFIG_DEVICEFAMILY, EVENT_TRACE_TYPE_CONFIG_FLIGHTID, EVENT_TRACE_COMPRESSED_MODE defines. New ETW_COMPRESSION_RESUMPTION_MODE enum.

· fwpmtypes.h/idl: New FWPM_FILTER_FLAG_SYSTEMOS_ONLY, FWPM_FILTER_FLAG_GAMEOS_ONLY, FWPM_NET_EVENT_FLAG_ENTERPRISE_ID_SET, FWPM_NET_EVENT_FLAG_POLICY_FLAGS_SET, FWPM_NET_EVENT_FLAG_EFFECTIVE_NAME_SET defines. New FWPM_NET_EVENT_HEADER3 & FWPM_NET_EVENT3 structs.

· fwptypes.h/idl: New FWP_MATCH_PREFIX enum value. New FWP_CONDITION_REAUTHORIZE_REASON_EDP_POLICY_CHANGED define.

· fwpvi.h: Updated values for FWPM_NET_EVENT_HEADER, FWPM_NET_EVENT, FwpmNetEventEnum & FwpmNetEventSubscribe defines.

· gnsdriver.h: New GNSS_DRIVER_VERSION_4 & IOCTL_GNSS_*, BREADCRUMBING_UNSUPPORTED, BREADCRUMBING_VERSION_1, MIN_BREADCRUMBS_SUPPORTED defines. New members in GNSS_DEVICE_CAPABILITY struct. New GNSS_BREADCRUMBING_PARAM, GNSS_BREADCRUMBING_ALERT_DATA, GNSS_BREADCRUMB_V1 & GNSS_BREADCRUMB_LIST structs. New GNSS_Event_BreadcrumbAlertEvent enum value. New GNSS_BREADCRUMBING_ALERT_DATA member in GNSS_EVENT struct.

· gpio.h: New IOCTL_GPIO_COMMIT_FUNCTION_CONFIG_PINS define.

· hidusage.h: New HID_USAGE_PAGE_HAPTICS, HID_USAGE_GENERIC_INTERACTIVE_CONTROL, HID_USAGE_CONSUMER_GAMEDVR_* & HID_USAGE_HAPTICS_* defines.

· hvsocket.h: New header file related to Hyper-V sockets?

· ioevent.h: New GUID_IO_DISK_HEALTH_NOTIFICATION define. New DISK_HEALTH_NOTIFICATION_DATA struct.

· ipifcons.h: New IF_TYPE_IEEE802154 define.

· ks.h: New KSPROPERTY_TYPE_FSFILTERSCOPE, KSCATEGORY_SENSOR_GROUP, KSALLOCATOR_REQUIREMENTF_SYSTEM_MEMORY_CUSTOM_ALLOCATION, KSALLOCATOR_FLAG_ENABLE_CACHED_MDL, KSALLOCATOR_FLAG_2D_BUFFER_REQUIRED & KSSTREAM_HEADER_TRACK_COMPLETION_NUMBERS defines. KSALLOCATOR_FLAG_ENABLE_CACHED_MDL define has been removed. New member in KSALLOCATOR_FRAMING struct. New member in KS_FRAMING_ITEM struct. Fix to the SAL annotations of KsLoadResource API.

· ks386.inc: New / updated values of UsSystemCallPad, PrInstrumentationCallback, ExecutiveProcessObjectLength, EtPicoContext, thProcess, KTHREAD_RESTRICTED_GUI_THREAD_MASK, ExecutiveThreadObjectLength, ProcessEnvironmentBlockLength, XcfgEnabledSupervisorFeatures, ThUserFsBase, ThUserGsBase, PwWow64Info, X87ErrorOffset, X87FloatSaveLength & KF_FPU_LEAKAGE_BIT. X86AMD64_R3_LONG_MODE_CODE value has been removed.

· Ksamd64.inc: New / updated values of UsSystemCallPad, ExecutiveProcessObjectLength, EtCid, EtPicoContext, thProcess, KTHREAD_RESTRICTED_GUI_THREAD_MASK, KTHREAD_RESTRICTED_GUI_THREAD_MASK, KernelThreadObjectLength, ExecutiveThreadObjectLength, ProcessEnvironmentBlockLength, XcfgEnabledSupervisorFeatures, SYSTEM_CALL_INT_2E, UsSystemCall, X86AMD64_R3_LONG_MODE_CODE, DEBUG_ACTIVE_SET_CONTEXT_STATE_LOCK_BIT, DEBUG_ACTIVE_SET_CONTEXT_STATE_LOCK, LfFloatSaveLength, X87ErrorOffset, X87FloatSaveLength, ThSetContextState, ThUserFsBase, ThUserGsBase, EpWoW64Process, KF_FPU_LEAKAGE_BIT & HV_DEPRECATE_AUTO_EOI.

· ksarm.h: New / updated values for UsSystemCallPad, ExecutiveProcessObjectLength, EtPicoContext, thProcess, KTHREAD_RESTRICTED_GUI_THREAD_MASK, ExecutiveThreadObjectLength, ProcessEnvironmentBlockLength, ThUserRoBase & ThUserRwBase.

· ksmedia.h: New DEVPKEY_KsAudio_PacketSize_Constraints2, KSAUDIO_SPEAKER_*, KSCAMERA_EXTENDEDPROP_FACEAUTH_MODE_*, KSCAMERAPROFILE_FaceAuth_Mode & KSCameraProfileSensorType_* defines. New KSAUDIO_PACKETSIZE_CONSTRAINTS2 struct. New KSPROPERTY_AUDIO_MIC_SENSITIVITY, KSPROPERTY_AUDIO_MIC_SNR, KSPROPERTY_CAMERACONTROL_EXTENDED_FACEAUTH_MODE & KSPROPERTY_CAMERACONTROL_EXTENDED_END enum values. New KSDATAFORMAT_SUBTYPE_* defines which refer to Dolby Digital+ Atmos amongst others. New members in KSCAMERA_PROFILE_PININFO struct. Various new defines for Bluetooth Midi. This seems to be a new feature in Windows 10 version 1607. See https://www.steinberg.net/forums/viewtopic.php?f=198&t=96105 for more details.

· kxamd64.inc: Various miscellaneous changes to X64 assembler code.

· lmerr.h: New NERR_CannotUnjoinAadDomain define

· mmreg.h: New WAVE_FORMAT_ALAC & WAVE_FORMAT_OPUS defines.

· mstcpip.h: New ASSOCIATE_NAMERES_CONTEXT & TCP_ICW_LEVEL_* defines. New ASSOCIATE_NAMERES_CONTEXT_INPUT struct. New members in INET_PORT_RESERVATION_INFORMATION struct. New GetDefaultCompartmentId API. InitializeCompartmentEntry, CreateCompartment & DeleteCompartment APIs have been removed.

· netiodef.h: New TH_OPT_FASTOPEN & TCP_FASTOPEN_COOKIE_SIZE* defines. New TCP_OPT_FASTOPEN & TCP_FASTOPEN_COOKIE structs. See https://blogs.windows.com/msedgedev/2016/06/15/building-a-faster-and-more-secure-web-with-tcp-fast-open-tls-false-start-and-tls-1-3/ for more information.

· ntddisk.h: New PARTITION_DM, PARTITION_EZDRIVE, PARTITION_GPT, GPT_BASIC_DATA_ATTRIBUTE_OFFLINE, GPT_BASIC_DATA_ATTRIBUTE_DAX & DISK_ATTRIBUTE_MAINTENANCE defines. New member in DRIVE_LAYOUT_INFORMATION_MBR struct.

· ntddndis.h: New defines to support NDIS 6.51 and 6.6 functionality included with Windows 10 up to v1607 and Windows Server 2016.

· ntddscsi.h: Defines for DUMP_POINTERS_EX_V2_SIZE & DUMP_POINTERS_EX_V3_SIZE have been updated.

· ntddstor.h: New GUID_DEVINTERFACE_UNIFIED_ACCESS_RPMB, IOCTL_STORAGE_GET_COUNTERS, IOCTL_STORAGE_REINITIALIZE_MEDIA, IOCTL_STORAGE_RPMB_COMMAND, IOCTL_STORAGE_ATTRIBUTE_MANAGEMENT, STORAGE_RPMB_DESCRIPTOR_VERSION_1, STORAGE_RPMB_MINIMUM_RELIABLE_WRITE_SIZE, STORAGE_TIER_FLAG_PARITY, STORAGE_ATTRIBUTE_*, STORAGE_DEVICE_MAX_OPERATIONAL_STATUS, STORAGE_ADAPTER_SERIAL_NUMBER_V1_MAX_LENGTH, STORAGE_ADAPTER_SERIAL_NUMBER_V1_VERSION, STORAGE_ADAPTER_SERIAL_NUMBER_V1_SIZE, DeviceDsmAction_GetPhysicalAddresses, DeviceDsmAction_ScopeRegen, DEVICE_DSM_FLAG_PHYSICAL_ADDRESSES_OMIT_TOTAL_RANGES, DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT_VERSION_V1, STORAGE_COUNTERS_VERSION_V1, STORATTRIBUTE_NONE & STORATTRIBUTE_MANAGEMENT_STATE defines. New BusTypeSCM, StorageAdapterRpmbProperty, StorageDeviceAttributesProperty, StorageDeviceManagementStatus, StorageAdapterSerialNumberProperty & StorageDeviceLocationProperty enum values. New STORAGE_RPMB_FRAME_TYPE, STORAGE_RPMB_DESCRIPTOR, STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR, STORAGE_DISK_HEALTH_STATUS, STORAGE_DISK_OPERATIONAL_STATUS, STORAGE_OPERATIONAL_REASON, STORAGE_DEVICE_MANAGEMENT_STATUS, STORAGE_ADAPTER_SERIAL_NUMBER, DEVICE_LOCATION, STORAGE_DEVICE_LOCATION_DESCRIPTOR, DEVICE_STORAGE_ADDRESS_RANGE, DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT, STORAGE_RPMB_DATA_FRAME, STORAGE_COUNTER, STORAGE_COUNTERS, STORAGE_ATTRIBUTE_MGMT_ACTION & STORAGE_ATTRIBUTE_MGMT structs. New STORAGE_OPERATIONAL_STATUS_REASON, STORAGE_RPMB_COMMAND_TYPE & STORAGE_COUNTER_TYPE enums.

· ntddvdeo.h: New DEVPKEY_IndirectDisplay, INDIRECT_DISPLAY_INFO_FLAGS_CREATED_IDDCX_ADAPTER defines. New INDIRECT_DISPLAY_INFO struct. New member in VIDEO_WIN32K_CALLBACKS_PARAMS struct.

· ntddvol.h: New CSV_FILECACHE_CONTEXT, CSV_CACHE_CALLBACK_V2_OUTPUT & CSV_CACHE_CALLBACK_V2_INPUT structs. Various changes related to call back functions for Csvfs. New CSV_BLOCK_AND_FILE_CACHE_CALLBACK_VERSION define.

· ntdef.h: changes to PROBE_ALIGNMENT define. New PFORCEINLINE, OBJ_DONT_REPARSE, UFIELD_OFFSET & _ENUM_FLAG_CONSTEXPR defines. New WaitDequeue enum value. Various new PRODUCT_* defines. For code which uses the new PRODUCT_* defines please see the author’s DtWinVer code at http://www.naughter.com/dtwinver.html.

· ntstatus.h: New FACILITY_PLATFORM_MANIFEST defines. FACILITY_MAXIMUM_VALUE define value has changed. Various new STATUS_* defines. Some new STATUS_* values such as STATUS_SECUREBOOT_POLICY_NOT_AUTHORIZED, STATUS_SECUREBOOT_POLICY_UNKNOWN, STATUS_SECUREBOOT_POLICY_MISSING_ANTIROLLBACKVERSION, STATUS_SECUREBOOT_PLATFORM_ID_MISMATCH, STATUS_SECUREBOOT_POLICY_ROLLBACK_DETECTED, STATUS_SECUREBOOT_POLICY_UPGRADE_MISMATCH, STATUS_SECUREBOOT_REQUIRED_POLICY_FILE_MISSING, STATUS_SECUREBOOT_NOT_BASE_POLICY & STATUS_SECUREBOOT_NOT_SUPPLEMENTAL_POLICY are the developer values related to changes in Secure Boot which has caused the backdoor into it to be discovered. Some new STATUS_PLATFORM_MANIFEST_* defines look like they are related to Device Guard.

· nvme.h: This header file has been removed.

· poclass.h: New GUID_DEVICE_GENERIC_EVENT_DEVICE & IOCTL_GET_WAKE_ALARM_SYSTEM_POWERSTATE defines.

· pointofservicecommontypes.h: This header file has been removed.

· pointofservicedriverinterface.h: This header file has been removed.

· reshub.h: New FUNCTION_CONFIG_DESCRIPTOR, PNP_FUNCTION_CONFIG_DESCRIPTOR_REVISION, PNP_FUNCTION_CONFIG_DESCRIPTOR_REVISION_MINIMUM, PNP_GPIO_INTERRUPT_IO_DESCRIPTOR_LENGTH, PNP_LARGE_VENDOR_DESCRIPTOR_LENGTH & PNP_SERIAL_BUS_DESCRIPTOR_LENGTH defines. New PNP_LARGE_VENDOR_DESCRIPTOR & PNP_FUNCTION_CONFIG_DESCRIPTOR structs. PNP_SERIAL_BUS_DESCRIPTOR_LENGTH define has been removed.

· rpcdcep.h: New RPC_SYSTEM_HANDLE_FREE_UNRETRIEVED, RPC_SYSTEM_HANDLE_FREE_RETRIEVED, RPC_SYSTEM_HANDLE_FREE_ALL & RPC_SYSTEM_HANDLE_FREE_ERROR_ON_CLOSE defines. I_RpcClntChkSystemHandleLeak, I_RpcSvrChkSystemHandleLeak, I_RpcClntSetSystemHandle, I_RpcSvrSetSystemHandle, I_RpcClntGetSystemHandle & I_RpcSvrGetSystemHandle APIs have been removed. New LRPC_SYSTEM_HANDLE_MARSHAL_DIRECTION enum. New I_RpcSystemHandleTypeSpecificWork API

· rpcndr.h: New SYSTEM_HANDLE_PIPE & SYSTEM_HANDLE_MAX enum values.

· sal.h: changes to the _In_defensive_, _Out_defensive_ & _Inout_defensive_ defines.

· scsi.h: New SCSI_WRITE_BUFFER_MODE_DOWNLOAD_MICROCODE_WITH_OFFSETS_SAVE_DEFER_ACTIVATE & SCSI_WRITE_BUFFER_MODE_ACTIVATE_DEFERRED_MICROCODE defines. Changes to the WHICH_BIT macro.

· sdkddkver.h: New defines for NTDDI_WIN10_TH2 which corresponds to Windows 10 v1511 and NTDDI_WIN10_RS1 which corresponds to Windows 10 v1607. The NTDDI_VERSION is now set to NTDDI_WIN10_RS1 if not already set.

· sensordef.h/idl: New GUID_SensorCategory_PersonalActivity, GUID_SensorType_FloorElevation, GUID_SensorType_GeomagneticOrientation, GUID_SensorType_GravityVector, GUID_SensorType_LinearAccelerometer, PKEY_SensorData_ElevationChangeMode, PKEY_SensorData_CumulativeElevation_Meters, PKEY_SensorData_CumulativeElevationFloorCount, PKEY_SensorData_CumulativeElevationStepCount, PKEY_SensorData_ElevationChange_Meters, PKEY_SensorData_VerticalSpeed_MetersPerSecond, PKEY_SensorData_ElevationChangeFloorCount defines. New ACTIVITY_STATE_COUNT, ELEVATION_CHANGE_MODE & SIMPLE_DEVICE_ORIENTATION enums. Changes to the definition of ActivityState_Max define.

· sensorutils.h: Changes to MILLISECONDS_TO_100NANOSECONDS & MILLISECONDS_FROM_100NANOSECONDS macros.

· smcdbg.h: Has been removed

· srb.h: New REQUEST_INFO_NO_FILE_OBJECT_FLAG & REQUEST_INFO_VOLSNAP_IO_FLAG defines.

· Sspi.h: New SECBUFFER_TOKEN_BINDING, SECBUFFER_PRESHARED_KEY, SECBUFFER_PRESHARED_KEY_IDENTITY, SEC_WINNT_AUTH_DATA_TYPE_SMARTCARD_CONTEXTS, NGC_DATA_FLAG_KERB_CERTIFICATE_LOGON_FLAG_CHECK_DUPLICATES, NGC_DATA_FLAG_KERB_CERTIFICATE_LOGON_FLAG_USE_CERTIFICATE_INFO & NGC_DATA_FLAG_IS_SMARTCARD_DATA defines. New SEC_TOKEN_BINDING, SEC_PRESHAREDKEY, SEC_PRESHAREDKEY_IDENTITY, SECPKG_APP_MODE_INFO & SEC_WINNT_AUTH_DATA_TYPE_SMARTCARD_CONTEXTS_DATA structs.

· tbs.h: New TPM_WNF_PROVISIONING struct. New TPM_WNF_INFO_CLEAR_SUCCESSFUL, TPM_WNF_INFO_OWNERSHIP_SUCCESSFUL & TPM_WNF_INFO_NO_REBOOT_REQUIRED defines.

· TraceLoggingActivity.h: The _TlgActivityBase::zInternalStart method has been rewritten.

· TraceLoggingProvider.h: New code to optionally define and emit TraceLoggingWriteEx. The TraceLoggingCustom macro has been removed. Updates to existing TraceLogging*, _TlgInTypeBase*, _TlgInfoVars_* & _TlgWrite_imp macros. New TraceLogging*, _TLG_AssertValidPackedMetadataInType, _TlgDataDescCreate* _TlgTempVars_*, _TlgDataDescCount_* _TlgChannelVal_*, _TlgLevelVal_* _TlgOpcodeVal*, _TlgKeywordVal_*, _TlgEvtTagVal_*, _TlgAnnotes_* & _TlgDescVal* macros have been added. New TRACELOGGING_PROTOCOL_MICROSOFT_RESERVED* defines. Updates and changes to the newly renamed TlgIn_t, TlgOut_t enums. New TLG_EVENT_WRITE_EX define. Existing _TlgWrite functionality has been refactored into a new _TlgWriteCommon function. New _TlgWriteEx function. Updates to parameter types and SAL annotation in _TlgCreateString function.

· trustedrt.h: Has been removed

· usbioctl.h: New IOCTL_INTERNAL_USB_FAIL_GET_STATUS_FROM_DEVICE define. New member in USB_PORT_PROPERTIES struct.

· usbiodef.h: New USB_FAIL_GET_STATUS define.

· uuids.h: New __EVR_GUIDS__ define usage.

· warning.h: New code to look at a DONT_DISABLE_PCH_WARNINGS_IN_WARNING_H define to optionally turn off some Visual C++ compiler warnings.

· wdmguid.h: New GUID_SCM_BUS_INTERFACE & GUID_BUS_TYPE_SCM defines.

· winbio_err.h: new WINBIO_E_INVALID_KEY_IDENTIFIER, WINBIO_E_KEY_CREATION_FAILED, WINBIO_E_KEY_IDENTIFIER_BUFFER_TOO_SMALL & WINBIO_E_PROPERTY_UNAVAILABLE defines.

· winbio_ioctl.h: WINBIO_SENSOR_* defines have been removed and moved to winbio_types.h.

· winbio_types.h: New WINBIO_CAPABILITY_SECURE_SENSOR, WINBIO_SENSOR_*, WINBIO_ANTI_SPOOF_TURN_SIDE_TO_SIDE, WINBIO_OPAQUE_ENGINE_DATA_ITEM_COUNT, WINBIO_PROPERTY_EXTENDED_UNIT_STATUS defines. New members in WINBIO_PRESENCE_PROPERTIES, WINBIO_PRESENCE, WINBIO_PRESENCE_PROPERTIES, WINBIO_PRESENCE, WINBIO_EXTENDED_SENSOR_INFO & WINBIO_EXTENDED_ENROLLMENT_STATUS structs. New WINBIO_EXTENDED_UNIT_STATUS, WINBIO_EXTENDED_ENROLLMENT_PARAMETERS & WINBIO_ACCOUNT_POLICY structs.

· windef.h: New DPI_AWARENESS_CONTEXT* defines. New DPI_AWARENESS enum.

· windot11.h: New dot11_phy_type_dmg enum value. New DOT11_KEY_ALGO_GCMP struct.

· winerror.h: New FACILITY_USERMODE_HNS, RPC_S_SYSTEM_HANDLE_COUNT_EXCEEDED, RPC_S_SYSTEM_HANDLE_TYPE_MISMATCH, DNS_ERROR*, REGDB_E_PACKAGEPOLICYVIOLATION, STG_E_DEVICE_UNRESPONSIVE, NTE_NOT_ACTIVE_CONSOLE, SEC_E_INVALID_UPN_NAME, WER_E_INSUFFICIENT_CONSENT, STATEREPOSITORY_E_TRANSACTION_REQUIRED, D2DERR_INVALID_GLYPH_IMAGE, SQLITE_E_IOERR_VNODE, SQLITE_E_IOERR_AUTH & UTC_E_* defines. Various new ERROR_* defines. Some new ERROR_SECUREBOOT_* values are the developer values related to changes in Secure Boot which has caused the backdoor into it to be discovered. The HRESULT_FROM_WIN32 macro is now flagged as constexpr when compiled in VC 2015 or later. Some of the SQLITE_E* define values have been changed.

· winpackagefamily.h: Various new Window Partition types have been defined including WINAPI_PARTITION_SERVER, WINAPI_PARTITION_PKG_CLUSTER, WINAPI_PARTITION_PKG_VSS, WINAPI_PARTITION_PKG_TRAFFIC, WINAPI_PARTITION_PKG_ISCSI, WINAPI_PARTITION_PKG_STORAGE, WINAPI_PARTITION_PKG_MPSSVC, WINAPI_PARTITION_PKG_APPXDEPLOYMENT & WINAPI_PARTITION_PKG_WER.

· winsmcrd.h: New SCARD_READER_TYPE_NGC & SCARD_READER_TYPE_EMBEDDEDS defines.

· wlantypes.h: New DOT11_CIPHER_ALGO_GCMP enum value.

· wmistr.h: New TRACELOG_JOIN_GROUP & WMIGUID_ALL_ACCESS_RS1 defines.

· WpAccelerometer.h: Has been removed

· WpAmbient.h: Has been removed

· WpFusion.h: Has been removed

· WpGyro.h: Has been removed

· WpMagnetometer.h: Has been removed

· WpOrientation.h: Has been removed

· WpProximity.h: Has been removed

· WpSensors.h: Has been removed

This review sets the stage for part two of the review where we review the “um” folder. It looks like there’s some interesting stuff in Windows 10 version 1607 for native mode C++ developers to dig into. Happy coding.

Categories: Programming

CPJNSMTPConnection v3.20

August 19, 2016 Comments off

Just to let everyone know that v3.20 of CPJNSMTPConnection has been released. Updates for this version include:

  • Reworked the CPJNSMTPException::GetErrorMessage to not bother putting the last response into the return error message text.
  • CPJNSMTPConnection class is now protected inherited from SSLWrappers::CSocket.
Categories: Web Site Updates

CPJNPOP3Connection v1.54

August 19, 2016 Comments off

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

  • Updated the code to work with the latest version of the MD5 classes of the author which can operate in non MFC mode.
  • Reworked CPJNPOP3Connection class to be inherited from SSLWrappers::CSocket. This allows for easier overloading of the various SSLWrappers class framework virtual functions
  • Reworked the CPJNPOP3Exception::GetErrorMessage to not bother putting the last response into the return error message text.
  • Tested the classes support for the APOP command using a free trial version of the MDaemon Messaging server
Categories: Web Site Updates

CPJNSMTPConnection v3.19

August 17, 2016 Comments off

Just to let everyone know that v3.19 of CPJNSMTPConnection has been released. Updates for this version include:

  • Reworked CPJNSMTPConnection class to be inherited from SSLWrappers::CSocket. This allows for easier overloading of the various SSLWrappers class framework virtual functions
Categories: Web Site Updates

W3Mfc v2.02

August 17, 2016 Comments off

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

  • Minor update to remove some unreferenced header files includes as well as warnings if you do not have MFC included in your pre-compiled headers.
  • Reworked CW3MFCClient class to be inherited from SSLWrappers::CSocket. This allows for easier overloading of the various SSLWrappers class framework virtual functions.
Categories: Web Site Updates

DtWinVer v2.01

August 17, 2016 Comments off

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

  • Renamed IsWindows10AnniversaryUpdate method to IsWindows10Version1607
  • Provided new IsWindows10Redstone2, IsHolographic, IsSubscription, IsUtilityVM, IsWorkstation, IsAzure & IsIoTCommercial methods.
  • Added support for the following product types: PRODUCT_HOLOGRAPHIC, PRODUCT_PRO_SINGLE_LANGUAGE, PRODUCT_PRO_CHINA, PRODUCT_ENTERPRISE_SUBSCRIPTION, PRODUCT_ENTERPRISE_SUBSCRIPTION_N, PRODUCT_DATACENTER_NANO_SERVER, PRODUCT_STANDARD_NANO_SERVER, PRODUCT_DATACENTER_A_SERVER_CORE, PRODUCT_STANDARD_A_SERVER_CORE, PRODUCT_DATACENTER_WS_SERVER_CORE, PRODUCT_STANDARD_WS_SERVER_CORE, PRODUCT_UTILITY_VM, PRODUCT_DATACENTER_EVALUATION_SERVER_CORE, PRODUCT_STANDARD_EVALUATION_SERVER_CORE, PRODUCT_PRO_WORKSTATION, PRODUCT_PRO_WORKSTATION_N, PRODUCT_PRO_FOR_EDUCATION, PRODUCT_PRO_FOR_EDUCATION_N, PRODUCT_AZURE_SERVER_CORE, PRODUCT_AZURE_NANO_SERVER, PRODUCT_IOTUAPCOMMERCIAL & PRODUCT_MOBILE_ENTERPRISE.
  • Added SAL annotations to all the code.
Categories: Web Site Updates

CThreadPoolServer v1.40

August 11, 2016 Comments off

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

  • Fixed two handle leaks in the CThreadPoolClient destructor. Thanks to Robin Hilliard for reporting this bug.
Categories: Web Site Updates

CPJNSMTPConnection v3.18

August 11, 2016 Comments off

Just to let everyone know that v3.18 of CPJNSMTPConnection has been released. Updates for this version include:

  • Reworked the SMTP classes to optionally compile without MFC. By default the classes now use STL classes and idioms but if you define CWSOCKET_MFC_EXTENSTIONS the classes will revert back to the MFC behaviour.
  • Reworked the CPJNSMPTBase64Encode class to use ATL::CHeapPtr.
  • Reworked the CPJNSMPTQPEncode class to use ATL::CHeapPtr.
  • Reworked the CPJNSMPTQEncode class to use ATL::CHeapPtr.
  • Added SAL annotations to all the code.
  • CPJNSMTPBodyPart::ConvertToUTF8 now internally uses ATL::CHeapPtr.
  • The CPJNSMTPMessage::m_CustomHeaders member variable is now public. As such the AddCustomHeader, GetCustomHeader, GetNumberOfCustomHeaders & RemoveCustomHeader methods have been removed.
  • Removed unnecessary code which catches and rethrows a CPJNSMTPException exception from the version of CPJNSMTPConnection::SendMessage which sends a message from a memory buffer.
  • Reworked the CPJNSMTPMessage::ParseMultipleRecipients method to avoid the use of the C++ new allocator.
  • Reworked the CPJNSMTPMessage::AddMultipleAttachments method to avoid the use of the C++ new allocator.
  • Reworked the sample app to exercise the SendMessage method which sends from a memory buffer.
  • Removed defunct comments about VC 6 in CPJNMD5 class.
  • Reworked the CPJNMD5 class to optionally compile without MFC. By default the class now uses STL classes and idioms but if you define CPJNMD5_MFC_EXTENSIONS the classes will revert back to the MFC behaviour.
  • Reworked the CNTLMClientAuth class to optionally compile without MFC. By default the class now uses STL classes and idioms but if you define CNTLMCLIENTAUTH_MFC_EXTENSIONS the class will revert back to the MFC behaviour.
Categories: Web Site Updates