Это перевод Why are device-independent bitmaps upside down? Автор: Реймонд Чен.
Для всех, кто в первый раз знакомится с независимыми от устройства (device-independent) растровыми изображениями Windows, становится сюрпризом тот факт, что они перевёрнуты - в том смысле, что первая строка пикселей соответствует нижней строке изображения, а последующие строки пикселей идут по изображению вверх, при этом последняя строка пикселей соответствует самой верхней строке изображения.
Ладно, не будем называть эти растровые изображения перевёрнутыми вверх ногами. Менее осуждающий термин - называть их восходящими (bottom-up) растровыми изображениями.
Итак, почему растровые изображения, не зависящие от устройства, хранятся снизу вверх?
...when altering one's mind becomes as easy as programming a computer, what does it mean to be human?..
среда, 26 мая 2021 г.
вторник, 17 ноября 2020 г.
Почему в выводе echo командной строки с перенаправлением появляется 1? Кто вставляет эти единицы?
Это перевод Why does my command line redirection echo with an extra 1? Who’s inserting these rogue 1s everywhere? Автор: Реймонд Чен.
Если вы оставите включённым режим echo в командном файле, и командный файл выполняет команду с перенаправлением, тогда в выводе появится загадочная единичка.
Если вы оставите включённым режим echo в командном файле, и командный файл выполняет команду с перенаправлением, тогда в выводе появится загадочная единичка.
среда, 9 сентября 2020 г.
Как можно заклинить виртуальный картридер?
Это перевод How is it possible to jam a virtual card reader? Автор: Реймонд Чен.
Когда-то давно я поддерживал систему с разделением времени, известную как VM/CMS. Каждый пользователь, вошедший в систему, получал свою собственную виртуальную машину с виртуальными аппаратными устройствами: виртуальным устройством для чтения карт, виртуальным устройством для записи перфокарт и виртуальным принтером.
Хорошо, у вас есть виртуальный картридер. Как вы будете загружать виртуальные карты в свой виртуальный картридер? И зачем вообще это делать?
Когда-то давно я поддерживал систему с разделением времени, известную как VM/CMS. Каждый пользователь, вошедший в систему, получал свою собственную виртуальную машину с виртуальными аппаратными устройствами: виртуальным устройством для чтения карт, виртуальным устройством для записи перфокарт и виртуальным принтером.
Хорошо, у вас есть виртуальный картридер. Как вы будете загружать виртуальные карты в свой виртуальный картридер? И зачем вообще это делать?
среда, 2 сентября 2020 г.
Чему может быть равно свойство Status у WMI класса Win32_ComputerSystem?
Это перевод What are the possible Status values for Win32_ComputerSystem? Автор: Реймонд Чен.
Документация для WMI класса
Документация для WMI класса
Win32_ComputerSystem содержит такое описание свойства Status:Что эта чушь пытается нам сказать? И что она говорит нам о возможных значениях свойстваStatus
Тип данных:string
Доступ: только чтение
Квалификаторы: MaxLen (10), DisplayName (“Status”)
Текущее состояние объекта. Могут быть определены различные рабочие и нерабочие состояния. К рабочим статусам относятся: OK, Degraded и Pred Fail. Последнее значение может использоваться, к примеру, жёстким диском с поддержкой SMART, который может функционировать правильно, но прогнозирует сбой в ближайшем будущем. К нерабочим состояниям относятся: Error, Starting, Stopping и Service, которые могут применяться во время переноса зеркала диска, перезагрузки списка разрешений пользователей или другой административной работы.
Это свойство наследуется отCIM_.ManagedSystemElement
Значения могут быть следующими:
OK (“OK”)
Error (“Error”)
Degraded (“Degraded”)
Unknown (“Unknown”)
Pred Fail (“Pred Fail”)
Starting (“Starting”)
Stopping (“Stopping”)
Service (“Service”)
Stressed (“Stressed”)
NonRecover (“NonRecover”)
No Contact (“No Contact”)
Lost Comm (“Lost Comm”)
Status для Win32_ ComputerSystem?понедельник, 31 августа 2020 г.
Существует ли кодовая страница, совпадающая с ASCII и позволяющая сделать двустороннюю конвертацию в Unicode?
Это перевод Is there a code page that matches ASCII and can round trip arbitrary bytes through Unicode? Автор: Реймонд Чен.
Вам может понадобится такая кодовая страница, если у вас есть фрагмент двоичных данных с внедрённым текстом ASCII. Вы бы хотели иметь возможность извлекать текст ASCII и даже манипулировать им, но при этом и также обрабатывать части, не относящиеся к ASCII, как загадочные символы, не имеющие смысла. Но вам также нужно иметь возможность преобразовать их обратно в исходные байты.
Вам может понадобится такая кодовая страница, если у вас есть фрагмент двоичных данных с внедрённым текстом ASCII. Вы бы хотели иметь возможность извлекать текст ASCII и даже манипулировать им, но при этом и также обрабатывать части, не относящиеся к ASCII, как загадочные символы, не имеющие смысла. Но вам также нужно иметь возможность преобразовать их обратно в исходные байты.
пятница, 21 августа 2020 г.
Об использовании FILE_FLAG_WRITE_THROUGH и FILE_FLAG_NO_BUFFERING для проецируемых в память файлов
Это перевод On using FILE_FLAG_WRITE_THROUGH and FILE_FLAG_NO_BUFFERING for memory-mapped files. Автор: Реймонд Чен.
Клиент хотел использовать флаги
Клиент хотел использовать флаги
FILE_FLAG_WRITE_THROUGH и FILE_FLAG_NO_BUFFERING для проецируемого в память файла (memory-mapped file), основываясь на этом руководстве в документации для функции CreateFile:
По этой причине флагКлиент был обеспокоен тем, повлияет ли такая комбинация флагов на согласованность данных.FILE_FLAG_WRITE_THROUGHчасто используется совместно с флагомFILE_FLAG_NO_BUFFERINGв качестве замены для вызова функцииFlushFileBuffersпосле каждой записи, что может привести к ненужным потерям производительности. Совместное использование этих флагов позволяет избежать штрафов.
суббота, 23 мая 2020 г.
Отладка зависания: все потоки встали на WinHttpGetProxyForUrl
Это перевод Diagnosing a hang: Everybody stuck in WinHttpGetProxyForUrl. Автор: Реймонд Чен.
Клиент сообщил, что их программа рано или поздно полностью встаёт, а все её потоки (750 штук) зависают при вызове
Клиент сообщил, что их программа рано или поздно полностью встаёт, а все её потоки (750 штук) зависают при вызове
WinHttpGetProxyForUrl со следующим стеком вызова:ntdll!ZwWaitForSingleObject+0x14 KERNELBASE!WaitForSingleObjectEx+0x8f winhttp!OutProcGetProxyForUrl+0x160 winhttp!WinHttpGetProxyForUrl+0x349 contoso!submit_web_request+0x232 ntdll!TppWorkpExecuteCallback+0x35e ntdll!TppWorkerThread+0x474 kernel32!BaseThreadInitThunk+0x14 ntdll!RtlUserThreadStart+0x21(я упростил стек вызова для простоты объяснения)
Дело о SHGetFolderPath(CSIDL_COMMON_DOCUMENTS), возвращающей ERROR_PATH_NOT_FOUND
Это перевод The case of the
У клиента возникла проблема с функцией
SHGetFolderPath(CSIDL_COMMON_DOCUMENTS) that returned ERROR_PATH_NOT_FOUND. Автор: Реймонд Чен.У клиента возникла проблема с функцией
SHGetFolderPath. В частности, у них была программа, которая вызывала функцию так:
SHGetFolderPath(0, CSIDL_COMMON_DOCUMENTS, 0, SHGFP_TYPE_CURRENT, PChar(pathBuffer));но вызов функции возвращал ошибку $80070003 - это HRESULT-версия для
ERROR_PATH_NOT_FOUND. Ошибка возникает только при запуске из Jenkins pipeline. Если же программа запускается автономно, то функция завершается успешно и возвращает ожидаемый результат.среда, 11 марта 2020 г.
Печальная, но короткая история значения реестра SM_AccessoriesName
Это перевод The sad but short story of the SM_AccessoriesName registry value. Автор: Реймонд Чен.
SM_AccessoriesName - ещё одна жертва программ, влезающих в недокументированные разделы реестра.
SM_AccessoriesName - ещё одна жертва программ, влезающих в недокументированные разделы реестра.
Однажды генеральный директор компании пожаловался в Конгресс на расширения файлов Windows
Это перевод That time the CEO of a company complained to Congress about Windows file extensions. Автор: Реймонд Чен.
В те времена, когда ненавидеть Microsoft было ещё более модно, чем сегодня (да, некоторые вещи никогда не выходят из моды), я помню, как генеральный директор одной технологической компании свидетельствовал перед Конгрессом, чтобы пожаловаться на файловые расширения Windows.
В те времена, когда ненавидеть Microsoft было ещё более модно, чем сегодня (да, некоторые вещи никогда не выходят из моды), я помню, как генеральный директор одной технологической компании свидетельствовал перед Конгрессом, чтобы пожаловаться на файловые расширения Windows.
Подписаться на:
Сообщения (Atom)