Публикации от Александр Алексеев

Что в Windows 3.1 делала кнопка "Игнорировать" в диалоге GPF?

Это перевод What did the Ignore button do in Windows 3.1 when an application encountered a general protection fault? Автор: Реймонд Чен. Когда ваше приложение вызывало General Protection Fault (GPF, общее нарушение защиты, сегодня известное как Access Violation) в Windows 3.0, система показывала такой диалог об ошибке: Application error CONTOSO caused a General Protection Fault […]

Читать на сайте автора.

Почему у каждого диска есть свой собственный текущий каталог?

Это перевод Why does each drive have its own current directory? Автор: Реймонд Чен. Комментатор Dean Earley спросил: «Почему есть ‘текущий каталог’ и ‘текущий диск’? Почему бы их не объединить?»Лаконичный ответ: потому что изначально у каждого диска был свой собственный каталог. Сейчас это не так, даже если иногда вам кажется иначе. Хорошо, давайте развернём это […]

Читать на сайте автора.

FPO

Это перевод FPO. Автор: Ларри Остерман. На прошлой неделе я болтал с одним парнем из команды измерения производительности. Он мне рассказал историю, которая меня очень удивила. Как оказалось, они обнаружили проблему производительности в одном стороннем драйвере. К сожалению, у них возникли проблемы в локализации узкого места, поскольку разработчик драйвера скомпилировал его с FPO (Frame Pointer […]

Читать на сайте автора.

Почему системный файловый диалог меняет текущий каталог?

Это перевод Why does the common file dialog change the current directory? Автор: Реймонд Чен. Когда вы перемещаетесь по папкам в системном диалоге открытия (или сохранения) файлов, то диалог вызывает функцию Set­Current­Directory, передавая ей каталог, в который вы перешли (эй, не заставляйте меня возрождать уголок зануды). Окей, возможно, вашей первой реакцией будет: «Правда? Я вообще […]

Читать на сайте автора.

Ваш отладочный код может быть уязвимостью в безопасности: подгрузка опциональной отладочной DLL без указания полного пути

Это перевод Your debugging code can be a security vulnerability: Loading optional debugging DLLs without a full path. Автор: Реймонд Чен. Запомните: плохих парней не заботит, если вы добавили код лишь для целей отладки. Если есть код — они его атакуют.Посмотрите на такой код: type TDocLoadingProc = procedure(Stream: TStream);var OnDocLoading: TDocLoadingProc;procedure LoadDebuggingHooks;var hmodDebug: HMODULE;begin hmodDebug […]

Читать на сайте автора.

Одна из причин, почему ShellExecute возвращает SE_ERR_ACCESSDENIED, а ShellExecuteEx возвращает ERROR_ACCESS_DENIED

Это перевод One possible reason why ShellExecute returns SE_ERR_ACCESSDENIED and ShellExecuteEx returns ERROR_ACCESS_DENIED. Автор: Реймонд Чен. (этот странный заголовок написан для поисковой оптимизации) Один клиент сообщил, что при вызове ShellExecute эта функция иногда завершалась с ошибкой SE_ERR_ACCESSDENIED (= 5) — в зависимости от того, что они пытались открыть (а если бы они использовали ShellExecuteEx, то […]

Читать на сайте автора.

На одну короткую минуту славы DirectX стал более популярным чем другое слово, заканчивающееся на X

Это перевод For a brief shining moment, DirectX was more popular than another word that ends in x. Автор: Реймонд Чен. В месяц сразу после выхода DirectX 3 слово «directx» стало самым популярным для поиска на microsoft.com. Само по себе, это не было столь удивительным. Удивительным было слово на шестом месте: «sex». Вы знаете, это […]

Читать на сайте автора.

Интерфейс пользователя + многопоточный апартмент = смерть

Это перевод User interface code + multi-threaded apartment = death. Автор: Реймонд Чен. Существуют однопоточные апартменты (single-threaded apartment) и многопоточные апартменты (multi-threaded apartment). Ну, сначала существовали только однопоточные… Нет, давайте начнём по-другому.Сначала в приложениях был только один поток. Вспомните, в 16-битной Windows не было потоков. Каждый процесс, программа и были тем, что сегодня мы называем […]

Читать на сайте автора.

Что если две программы сделают это? Практический экзамен

Это перевод What if two programs did this? Practical exam. Автор: Реймонд Чен. У клиента, который не читает этот блог, есть следующий вопрос. У нашего приложения есть требование: оно должно быть поверх всех других окон, даже если показываются окна со стилем topmost. Для этого в наших сообщениях WM_KILLFOCUS и WM_PAINT мы делаем наше окно topmost, […]

Читать на сайте автора.

В чём разница между каталогами и папками?

Это перевод What is the difference between a directory and a folder? Автор: Реймонд Чен. В Windows 95 появился Проводник Windows (Windows Explorer) и вместе ним — новый термин «папка» (folder). Чем папка отличается от каталога?Кто-то считает, что Windows 95 просто переименовала каталоги в папки, но это не совсем так. Проводник Windows позволяет вам просматривать […]

Читать на сайте автора.