- Теперь для воспроизведения файла проигрыватель сначала пытается использовать режим Media Foundation, а если файл воспроизвести в нем невозможно, использует DirectShow (ранее было наоборот)
- Добавлена возможность просмотра информации о форматах мультимедиа в режиме Media Foundation
- Переработан регулятор громкости, так чтобы изменение уровня громкости в режимах Media Foundation и DirectShow происходило одинаково
- Исправлены проблемы с производительностью при перемотке на большой промежуток времени в режиме Media Foundation
- Исправлено блокирование воспроизведения модальным диалоговым окном при возникновении ошибки в режиме Media Foundation
- Исправлена ошибка Access violation при завершении воспроизведения файла в режиме Media Foundation
- Исправлена некорректная перерисовка окна видео во время паузы
- Исправлена ошибка при попытке воспроизвести видеофайл на машине, не имеющей ни одного активного звукового устройства
понедельник, 2 мая 2022 г.
Обновление Small Media Player - v2.4
воскресенье, 27 марта 2022 г.
Диагностика ошибок в программах с помощью дампов памяти
Статья перенесена на новый сайт: SmallSoft - Диагностика ошибок в программах с помощью дампов памяти
воскресенье, 20 февраля 2022 г.
CIL Tools update 2.4
A new CIL Tools update is released. The update contains a new project, CilTools.CommandLine, as well as some changes and fixes to existing projects.
Changes in the new version:
General
- New project: CilTools.CommandLine
CilTools.BytecodeAnalysis
- Add support for including bytecode size and source code lines in disassembler output
- Add support for .entrypoint directive
- Add support for generic constraints
- Add support for properties in disassembler
- Add ICustomMethod interface as a base for custom method implementations to replace CustomMethod base class. This means that custom method implementations can now be derived from MethodInfo or ConstructorInfo.
- Improve generics support. Generic context is now passed correctly to generic parameter types is more cases; this enables getting generic parameter names and their declaring methods/types.
- Fix TypeSpec.IsGenericParameter for byrefs
- Fix ldtoken syntax for methods
- Fix string literal escaping in disassembler to use ECMA-335 rules
CilTools.Runtime
- Update custom method implementations to derive from MethodInfo/ConstructorInfo and implement ICustomMethod
CIL View
- Add support for opening C#/VB code and MSBuild projects
- Add Show source support
- Add options to include bytecode size and source code lines (from PDB) in disassembler output
- Add support for opening IL source files
- Add support for .entrypoint directive
- Add Export type to file menu command
- Add support for generic constraints
- Add support for disassembling properties
- Add support for interactive method execution
- Use .NET Core runtime directory when resolving dependencies for .NET Core assemblies
- Use runtime directory of the inspected process instead of current runtime directory for assembly resolution when opening a process
- Load assembly images from memory instead of files when opening a process
- When an assembly contains a single type, automatically navigate to that type
- When the type contains only one non-constructor method and no other members (like fields), automatically navigate to that single method when type is selected
- Change member identifier color to more visible with lower brightness
- Fix
ldtokensyntax for methods - Fix string literal escaping in disassembler to use ECMA-335 rules
четверг, 21 октября 2021 г.
Проблемы с принтерами в Windows 10 после обновления KB5006670
В октябре 2021 вышло обновление Windows 10 KB5006670, в которое вошли изменения диспетчера печати, призванные исправить проблемы, вызванные предыдущими обновлениями (теми, которые закрывали скандальную уязвимость Print Nightmare). К сожалению, это обновление также вызвало новые проблемы с общими принтерами. В ситуациях, когда общий принтер установлен на машине с неподдерживаемой версией Windows (XP, 7) и используется на машине с обновленной Windows 10, печать стала выдавать ошибку "Принтер удален на сервере". Попытка удалить и заново установить притер также выдавала ошибку (код 0x00004cf и другие). Проблема в равной мере коснулась разных моделей принтеров: HP, Kyocera. Принтеров, подключенных как сетевые через Ethernet, она не коснулась.
Причины проблемы
Исследования с помощью Wireshark показали, что обновленный диспетчер печати пытается использовать аутентификацию NTLM при взаимодействии с общим принтером (ранее это взаимодействие проходило без какой-либо аутентификации). Для этого в запросе rpc bind устанавливается дополнительный параметр Auth type: NTLMSSP. Эта аутентификация проходит с ошибкой "Reject reason: Authentication type not recognized (8)".
На рисунке ниже приведен вид перехваченного пакета с ошибкой в WireShark:
Решение проблемы
Данная проблема обсуждалась на форуме bleepingcompurer. Одно из предложенных решений: запретить аутентификацию NTLM, благо этот протокол не самый безопасный и в доменных сетях есть лучшая альтернатива - Kerberos. В моем случае это не помогло, вероятно, Kerberos также оказался сломанным. Ниже приведены решения, которые у нас сработали.
Вариант 1
1. Добавить принтер как локальный, указав порт, допустим, LPT2, и выбрав "Использовать установленный драйвер".
2. Выполнить в командной строке команду:
NET USE LPT2: "\\Computer\Printer" /PERSISTENT:YES
Почему этот способ работает, не понятно. Но сработал он только в схеме WinXP -> Windows 10. Для Windows 7 применить его не получилось: принтер устанавливается и настройки открываются, но печать выводит ошибку.
Вариант 2
Удалить обновление KB5006670:
wusa /uninstall /kb:5006670
Скрыть обновление через утилиту почему-то не удалось, поэтому это только временное решение. Но обновления можно отложить, и возможно Microsoft поправят проблему.
Оба решения являются лишь обходными путями. Нормального решения, которое бы отключило аутентификацию при взаимодействии с принтером из старых ОС, так и не было найдено. Также это не первая проблема с общими принтерами, ранее вообще были синие экраны при попытке печати. Видимо, стоит признать, что механизм общих принтеров крайне ненадежен при наличии старых ОС. Лучше использовать сетевые принтеры Ethernet или обновлять все компьютеры на новые Windows.
воскресенье, 10 октября 2021 г.
WinForms Excel Library v1.4 update
Changes in the new version:
- Added .NET Core support (.NET Core 3.1 or newer)
- Added XML comments for members that didn't have them
понедельник, 2 августа 2021 г.
CIL Tools update 2.3
The new version of CIL Tools is released. Download at Github releases.
Changes in new version:
CilTools.BytecodeAnalysis
- Escape IL assembler keywords when used as identifiers
- Make ITypeInfo interface public to enable inspecting function pointer types with CilTools.Metadata
- Change TypeSpec.IsFunctionPointer from method to property (breaking change)
- Fix bug that prevented CilReader.GetInstructions from correctly enumerating instuctions more than once for the same iterator instance
CilTools.Runtime
- Add support for Assembly.GetName() on dynamic assemblies (.NET Framework only)
CIL View
- Escape IL assembler keywords when used as identifiers
- Make search in Open process window case-insensitive
- Add support for displaying dynamic assembly names when inspecting process (.NET Framework only)
- Show loaded modules in process info
среда, 7 июля 2021 г.
Обновление Small Media Player - v2.3
Изменения в новой версии:
- Добавлена поддержка декодеров, использующих технологию Media Foundation
- Убрана поддержка Windows XP
- Убрана поддержка воспроизведения Audio CD
- Исправлено некорректное положение контекстного меню при щелчке правой кнопкой мыши по заголовкам столбцов в списке воспроизведения
Загрузить: Small Media Player 2.3
Поддержка Media Foundation
Ранее проигрыватель использовал только DirectShow для воспроизведения файлов. Теперь, если файл не удалось воспроизвести с помощью DirectShow, выполняется попытка воспроизвести с помощью Media Foundation - более новой технологии, введенной в Windows Vista. Благодаря этому, теперь программа сможет открыть некоторые файлы, которые ранее не открывались из-за проблем со стандартными декодерами DirectShow; например, MP3-файлы с некорректным блоком ID3V2-тегов в начале. Кроме того, в Windows 10 был добавлен стандартный декодер для MKV с видео H.264, поэтому теперь этот формат можно будет открыть без необходимости установки пакета кодеков.
Прекращение поддержки Windows XP
Начиная с данной версии, программа не запустится на Windows XP. На Windows Vista программа должна работать, хотя я не тестирую на этой ОС. Последняя версия с поддержкой XP - 2.2, при необходимости будут выходить исправления критических ошибок для нее, но все развитие будет фокусироваться на более новых ОС.
