Archive

Archive for March, 2014

W3Mfc v1.97 & CThreadPoolServer v1.37

March 29, 2014 2 comments

Just to let everyone know that v1.97 of W3Mfc & v1.37 of CThreadPoolServer has been released. Updates for this version include:

  • Reworked the CThreadPoolRequest, CThreadPoolQueue, CThreadPool, CIOCPThreadPoolQueue and CDirectedThreadPoolQueue classes to compile without MFC. To achieve this the internal dependencies on MFC have been removed resulting in some breaking changes. For example the CThreadPool class is now templatised on a TCLIENT and TQUEUE class instead of via CRuntimeClass values being passed as parameters for these to the CThreadPool::Start method. In addition the threads in the thread pool are creating using the CRT function _beginthreadex instead of via AfxBeginThread. Also all the dependencies on the MFC multithreading classes such as CCriticalSection and CEvent have been replaced by ATL or raw Win32 functionality. You can use the W3MFC sample web server source code to see the required client side changes to use the updated thread pool classes.
Categories: Web Site Updates

W3Mfc v1.96, CWSocket / CSSLSocket v1.34 & CThreadPoolServer v1.36

March 17, 2014 2 comments

Just to let everyone know that v1.96 of W3Mfc, v1.34 of CWSocket, CSSLSocket & v1.36 of CThreadPoolServer has been released. Updates for this version include:

  • Updated copyright details
  • Updated the code to compile cleanly on VC 2013 & VC 20013.
  • The sample app is now linked against the latest OpenSSL v1.0.1f dlls.
  • Reviewed all ASSERT calls for correctness
  • Reviewed all AFXASSUME calls for correctness
  • Updated #endif comments throughout the code base
  • By default W3MFC now builds using the non MFC build configuration for CWSocket and CWSocketException
  • Removed defunct code in CW3MFCClient constructor for old versions of Windows
  • Removed support for TransmitPackets and TransmitFile APIs from W3MFC for simplicity reasons.
  • Reworked CW3MFCClient::TransmitFile method
  • Reworked CWSocket::Shutdown method to use standard SDK defines rather than enums in the class
  • Removed all the CWSocket proxy connection methods as they cannot be easily supported / tested by the author.
  • Reworked the CWSocket and CWSocketException 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 CWSocket::ReceiveFrom to use GetNameInfoW / getnameinfo.
  • Reworked CWSocket::AddressToString to use GetNameInfoW / getnameinfo.
  • CWSocket::AddressToString now also returns the port number
  • Provided an overloaded version of CWSocket::AddressToString which takes a SOCKADDR& parameter
  • CWSocket::AddressToString method now takes a nFlags parameter
  • The CWSocket::CreateAndConnect has been enhanced to include nFamily and nProtocolType parameters. This allows client code for example to explicitly connect to IPv4 or IPv6 addresses.
Categories: Web Site Updates

DDXFolder & CChooseDirDlg v1.39

March 1, 2014 Comments off

Just to let everyone know that v1.39 of DDXFolder & CChooseDirDlg has been released. Updates for this version include:

  • Updated copyright details.
  • Updated MFC message maps in sample app and in DDXFile module to use C++ standard for pointers to member methods.
  • Reworked DDX_FolderControl to use DDX_Control for most of its functionality
  • Updated the code to clean compile on VC 2013 & 2012.
  • Updated the code to clean compile using /analyze
Categories: Web Site Updates

DDXFile v1.25

March 1, 2014 Comments off

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

  • Updated copyright details.
  • Updated MFC message maps in sample app and in DDXFile module to use C++ standard for pointers to member methods.
  • Reworked DDX_FilenameControl to use DDX_Control for most of its functionality
  • Reworked how the code exposes the bVistaStyle support in the MFC CFileDialog class. The code now uses the MSC C++ __if_exists / __if_not_exists statements
  • Updated the code to clean compile on VC 2013 & 2012.
  • Updated the code to clean compile using /analyze
Categories: Web Site Updates