Кое-кто с невежливым ником хотел узнать, что делает флаг
SEE_MASK_UNICODE
.А ничего он не делает.
Этот флаг был добавлен во время переноса Оболочки Windows 95 в Windows NT. Это случилось раньше, чем у меня есть доступ к базе данных исходников, но я могу предположить, как он был добавлен.
Одной из вещей, которые было необходимо сделать во время переноса, было создание Unicode-вариантов всех ANSI-функций, добавленных в Windows 95. Это можно было делать несколькими способами. Иногда создавали два варианта одной функции: с A и W суффиксами. Иногда это достигалось A и W вариантами одного интерфейса. Иногда это достигалось добавлением в запись флага, говорящего нужно ли использовать/трактовать данные как ANSI или как Unicode.
Я подозреваю, что изначально для
ShellExecuteEx
планировалось использовать третью модель (с флагом). Вероятно, потом разработчики изменили решение и вместо этого сделали A и W варианты самой записи SHELLEXECUTEINFO
(SHELLEXECUTEINFOA
и SHELLEXECUTEINFOW
) и функции ShellExecuteEx
(ShellExecuteExA
и ShellExecuteExW
). Но когда они переключились к другой модели, они оставили флаг нетронутым - вероятно, с целью убрать его позднее, когда будет исправлен весь код, который уже передаёт этот флаг. Однако эта задача так и не была выполнена.Итак, сегодня этот флаг всё ещё находится в заголовочных файлах Windows, хотя на него никто не обращает внимания.
Комментариев нет:
Отправить комментарий
Можно использовать некоторые HTML-теги, например:
<b>Жирный</b>
<i>Курсив</i>
<a href="http://www.example.com/">Ссылка</a>
Вам необязательно регистрироваться для комментирования - для этого просто выберите из списка "Анонимный" (для анонимного комментария) или "Имя/URL" (для указания вашего имени и ссылки на сайт). Все прочие варианты потребуют от вас входа в вашу учётку.
Пожалуйста, по возможности используйте "Имя/URL" вместо "Анонимный". URL можно просто не указывать.
Ваше сообщение может быть помечено как спам спам-фильтром - не волнуйтесь, оно появится после проверки администратором.
Примечание. Отправлять комментарии могут только участники этого блога.