Archive
DtWinVer v1.95
Just to let everyone know that v1.95 of DtWinVer has been released. Updates for this version include:
- It turns out that the new detection code to detect Windows 8.1 with Bing was flawed in the previous release as the PRODUCT_CORE_* ProductInfo values just means the standard / core version of Windows 8.1. The code has now been updated to use a registry search to correctly detect if Windows 8.1 with Bing is installed.
DtWinVer v1.94
Just to let everyone know that v1.94 of DtWinVer has been released. Updates for this version include:
- Updated the code to correctly handle / identify Windows 8.1 with Bing (aka CoreConnected). This applies to the ProductInfo values: PRODUCT_CORE_ARM, PRODUCT_CORE_N, PRODUCT_CORE_COUNTRYSPECIFIC, PRODUCT_CORE_SINGLELANGUAGE & PRODUCT_CORE. Thanks to Petr Stejskal for reporting this issue. The suite value that is used to identify this is COSVERSION_SUITE2_CORECONNECTED and the method IsCoreConnected.
- The ProductInfo value PRODUCT_PRERELEASE_ARM now correctly sets the underlying processor type to ARM
CSerialPort v1.30
Just to let everyone know that v1.30 of CSerialPort has been released. Updates for this version include:
- Removed unnecessary inclusion of WinError.h
- Removed the CSerialPort::DataWaiting method as it depends on the port being open in overlapped mode. Instead client code can simply call CSerialPort::WaitEvent directly themselves. Removing this method also means that the CSerialPort::m_hEvent handle has not also been removed.
- The CSerialPort::WriteEx method has been reworked to expose all the parameters of the underlying WriteFileEx API. This rework also fixes a memory leak in WriteEx which can sometimes occur. This reworks also means that the CSerialPort::_OnCompletion and CSerialPort::_OnCompletion methods have been removed. Thanks to Yufeng Huang for reporting this issue.
- The CSerialPort::ReadEx method has been reworked to expose all the parameters of the underlying ReadFileEx API. This rework also fixes a memory leak in ReadEx which can sometimes occur. This reworks also means that the CSerialPort::_OnCompletion and CSerialPort::_OnCompletion methods have been removed. Thanks to Yufeng Huang for reporting this issue.
CAnonymousPipe v1.03
Just to let everyone know that v1.03 of CAnonymousPipe has been released. Updates for this version include:
- Updated copyright details.
- Updated sample project settings to more modern default values
- Removed all TRACE calls from the class.
- Updated the code to clean compile on VC 2010 and later
- Added SAL annotations to all the code
- Reworked the class to make it a header only implementation.
- Updated the code to compile without taking a dependency on MFC
CPJNSNTPClient v1.15
Just to let everyone know that v1.15 of CPJNSNTPClient has been released. Updates for this version include:
- Updated the code to clean compile on VC 2010 and later
- Updated the code to compile with the latest version of the CWSocket class
- Removed all the code which refers to a proxy connection
- Updated the code to operate optionally independent of MFC. If the preprocessor value "CWSOCKET_MFC_EXTENSTIONS" is not defined then the SNTP code will not use MFC, while if it is defined then the code will use MFC. This preprocessor value is used to control the MFC mode of the CWSocket class.
- CPJNSNTPClient::SetClientTime now preserves the last error value and the sample app now reports this value.
- Optimized the implementation of CPJNNTPTime::MsToNtpFraction, NtpFractionToMs & NtpFractionToSecond methods. These optimizations have got rid of the the need for the previous m_MsToNTP lookup table.
- Reworked the CPJNNTPTime::CPJNNTPTime(const SYSTEMTIME& st) constructor to use SystemTimeToFileTime Windows API
- Reworked the CPJNNTPTime::operator SYSTEMTIME() method to use FileTimeToSystemTime Windows API
- The sample app now displays the stratum and leap indicator values from the received SNTP response.
SCardWrappers v1.01
Just to let everyone know that v1.01 of SCardWrappers has been released. Updates for this version include:
- Updated copyright details
- Updated the code to compile cleanly on VC 2013
- Added SAL annotations to all the code
CPerformanceCounter v1.01
Just to let everyone know that v1.01 of CPerformanceCounter has been released. Updates for this version include:
- Updated copyright details.
CCriticalSectionEx, CThreadSafe, CThreadSafeScalar v1.03
Just to let everyone know that v1.03 of CCriticalSectionEx, CThreadSafe & CThreadSafeScalar has been released. Updates for this version include:
- Updated copyright details.
- Updated the sample app and code to clean compile in VC 2010 and later.
- The code now statically references InitializeCriticalSectionAndSpinCount, TryEnterCriticalSection & SetCriticalSectionSpinCount rather than by using GetProcAddress.
- Removed the SpinCountsAvailable, TimeoutsAvailable & NumberOfProcessors methods as we are not using GetProcAddress anymore.
- Removed the m_bLocked member variable.