Цитата(fox1 @ Oct 12 2012, 15:22)

SecurityDescriptor обязателен начиная с Windows XP.
С чего бы это вдруг?
MSDN - CreateFile, описание параметра lpSecurityAttributes :
Цитата
lpSecurityAttributes [in, optional]
A pointer to a SECURITY_ATTRIBUTES structure that contains two separate but related data members: an optional security descriptor, and a Boolean value that determines whether the returned handle can be inherited by child processes.
This parameter can be NULL.
If this parameter is NULL, the handle returned by CreateFile cannot be inherited by any child processes the application may create and the file or device associated with the returned handle gets a default security descriptor.
Цитата
Насчет дублирования IsWinNT() в каждом классе - вопрос спорный, можно конечно отдельную процедуру завести и глобальные флаги, но считаю это дело вкуса.
Это не 'дело вкуса'. У вас N штук
совершенно идентичных куска кода, которые к тому же совершенно не имеют отношения к тем классам, где они объявлены (в частности это видно по тому, что они не используют никаких членов классов, где они объявлены).
Нужно было просто сделать обычную процедуру (не в классе). Если С++ ООП язык, это еще не значит, что в ОО программах нельзя использовать обычные функции
Цитата
При использовании контейнера std::deque<char> надо синхронизировать доступ к этому контейнеру из потоков - проще свой завести, буфер стандартный, ни каких велосипедов.
Да ну? Давайте сравним:
Код
void CBuffer::WriteChar(CHAR cChar)
{
CSingleLock Lock(&m_Lock, TRUE);
m_pBuffer.push_back(cChar);
// Разрешаем доступ к буферу до того, как просигнализируем
// о поступлении нового символа, чтобы не потерять
// ни одного такта процессора в случае, если после этого
// сигнала процессор будет переключен на поток,
// осуществляющий чтение, а доступ еще не будет разрешен
Lock.Unlock();
m_NotEmpty->SetEvent();
}
Несколько короче, не правда ли?
Цитата
На Builder переходить ... тоже вопрос спорный, многозадачность в нем своеобразная.
Обычная, как везде в Windows. Но сам Bulder действительно вещь своеобразная (особенно последние версии)
Цитата
Последнии версии VS очень сильно ориентированы на FrameWork, но и MFC ни кто не отменял.
Это да, но изучать с нуля умершую архитектуру я бы ТС не посоветовал
Цитата
Синхронный и асинхронный ввод - вывод (I/O)
Угу, только асинхронный тут не нужен
Цитата
я прошу вас, если можно, привести два (желательно подробных) примера простых программ (полностью текст) открытия основного окна и в нем вывод в дополнительное окно значения переменной short или long как на рисунке в предыдущем моем сообщении.
Если в вас будет Builder или Qt или WindowsForm с С#, то это пара строк. На MFC это займет пару сотен строк. На голом WinAPI - пару тысяч. Вам на чем примеры приводить?