вторник, 9 апреля 2019 г.

Запрос документации о том, что политика "Запрашивать достоверный путь для входа в учётную запись" больше не рекомендуется

Это перевод Asking for clear written documentation that Require trusted path for credential entry is no longer recommended. Автор: Реймонд Чен.

Клиент включил политику "Запрашивать достоверный путь для входа в учётную запись" (в разделе "Конфигурация компьютера", "Административные шаблоны", "Компоненты Windows", "Пользовательский интерфейс учетных данных"). Он потребовал, чтобы Microsoft предоставила чёткую письменную документацию о том, что эта политика больше не рекомендуется к применению.

воскресенье, 7 апреля 2019 г.

Почему деинсталятор моей программы пропадает из меню "Пуск"?

Это перевод Why does my app’s uninstaller disappear from the Start menu? Автор: Реймонд Чен.

Клиент сообщил, что его программа установки создает ярлык в меню "Пуск" с названием "Удалить Contoso Deluxe", но через несколько секунд после завершения установки значок "Удалить Contoso Deluxe" исчезает из меню "Пуск". Основной ярлык Contoso Deluxe всё ещё там. В чём дело?

пятница, 5 апреля 2019 г.

Почему попытка остановить мою службу возвращает ERROR_BROKEN_PIPE?

Это перевод What does it mean when my attempt to stop a Windows NT service fails with ERROR_BROKEN_PIPE? Автор: Реймонд Чен.

Один клиент сообщил, что иногда у них возникает проблема: в состав их программного продукта входит служба Windows NT, и когда их клиентская программа пытается остановить службу, то иногда происходит сбой с ошибкой ERROR_BROKEN_PIPE. Их клиентская программа написана на C#, поэтому для остановки службы используется метод ServiceController.Stop, а об ошибке сообщается в форме исключения. В Win32 же это эквивалентно вызову функции ControlService с кодом SERVICE_CONTROL_STOP.

При каких условиях попытка остановить службу может привести к ошибке ERROR_BROKEN_PIPE?

понедельник, 21 января 2019 г.

Почему компилятор генерирует операции с памятью для полной переменной, даже если задействован только один байт?

Это перевод Why does the compiler generate memory operations on the full variable even though only one byte is involved? Автор: Реймонд Чен.

Когда-то я помогал с генерацией кода JIT компиляторе, и я заметил одну вещь: когда компилятору нужно было, скажем, установить старший бит в четырёхбайтовой переменной, он сделал так:
xor dword ptr [variable], 80000000h
вместо более компактного:
xor byte ptr [variable + 3], 80h
Эти две операции функционально эквивалентны: установка верхнего бита в четырёхбайтовом значении эквивалентна установке верхнего бита в однобайтовом значении - потому что младшие биты не зависят от операции.

Поддержка классического оборудования эмуляцией

Это перевод Keeping classic hardware alive through emulation. Автор: Реймонд Чен.

На конференции и выставке Windows 2000, которая совпала с запуском операционной системы, я посетил стенд emulators.com, где они с увлечением демонстрировали SoftMac 2000 - эмулятор Mac, работающий на Windows 2000.

пятница, 11 января 2019 г.

Зачем нужна красная зона? Я же могу просто использовать стек?

Это перевод Why do we even need to define a red zone? Can’t I just use my stack for anything? Автор: Реймонд Чен.

В Windows стек растет от больших адресов к меньшим. Иногда это определяется архитектурно, а иногда просто условно. Значение, на которое указывает регистр указателя стека, располагается на вершине стека, а значения, расположенные глубже в стеке, находятся по адресам выше. Но что происходит с данными по адресам меньшим, чем указатель стека?

среда, 19 декабря 2018 г.

вторник, 20 ноября 2018 г.

Как однажды ядро Windows пыталось противостоять гамма-лучам, разрушающим кэш процессора

Это перевод For a brief period, the kernel tried to deal with gamma rays corrupting the processor cache. Автор: Реймонд Чен.

Однажды вот такой код был добавлен в часть ядра, которая возвращает систему из энергосберегающего режима:
;
; Сбрасывает кэш процессора, чтобы все побочные гамма-лучи (я не шучу),
; которые могли изменить биты кэша S1, игнорировались бы.
;
; Это не шутка. Это просили производители процессора.
; Я серьёзно.
;
invd

суббота, 3 ноября 2018 г.

Что случилось со шрифтом Arial Unicode MS?

Это перевод What happened to the Arial Unicode MS font? Автор: Реймонд Чен.

Клиент хотел узнать, что случилось со шрифтом Arial Unicode MS. Раньше он устанавливался вместе с Microsoft Office, но был удалён из Microsoft Office 2016. По этому поводу было придумано множество различных теорий заговоров.

вторник, 2 октября 2018 г.

В трёх экземплярах, будьте добры

Это перевод Windows Confidential: In Triplicate, Please? Автор: Реймонд Чен.

Однажды клиент заметил, что размер файла, о котором сообщал Explorer, не меняется, пока приложение, которое обновляет файл, не закрывает файл окончательно. (Проблема была немного в другом, но мы не будем об этом).

Клиентская техподдержка нашла запись в блоге по этому вопросу, но клиент попросил её найти какую-либо формальную документацию. Неясно, какую именно формальную документацию клиент искал для решения проблемы.