Remove error code description from mErrorText of CRTException.
Move SystemException to WCL.h.
Move SystemFunctionException to WCL.h.
Add additional constructor that accept function's name in LPCWSTR.
Rename String::LoadReadOnly to LoadString and make it global.
Initialize Enumerable<T> class.
Add forward declarations.
Change constructor String(LPWSTR dynamicBuffer, DWORD stringLength, DWORD bufferSize) to public.
Rename String::CreateV(LPCWSTR format, va_list arguments) to FormatStringV and move to global.
Rename String::Create(LPCWSTR format, ...) to FormatString and move to global.
Add FormatMessageV(LPCWSTR format, va_list arguments).
Add FormatMessage(LPCWSTR format, ...).
Add FormatMessageV(UINT messageId, LPCWSTR fallback, va_list arguments).