Блог
Практические статьи KomuraSoft LLC о разработке сайтов, SEO, Google Ads, разработке для Windows, использовании существующих систем и расследовании сбоев.
ИИ-поиск по всему сайту
Поисковые запросы передаются в Cloudflare AI Search для формирования результатов. Не вводите персональные данные.
-
Глубины виртуализации Windows (часть 3) — виртуальные машины, которые загружаются за секунды: почему WSL2, Windows Sandbox и контейнеры такие лёгкие
Почему WSL2 и Windows Sandbox стартуют за секунды и ощущаются такими лёгкими? Статья разбирает механизмы — от динамического базового образа и direct map чере...
-
Глубины виртуализации Windows (часть 2) — память, которую не видит даже ядро: как работают VBS, HVCI и Credential Guard
На чистой установке на совместимом оборудовании VBS включена по умолчанию и с помощью гипервизора и SLAT создаёт изоляцию сильнее ядра. Статья разбирает стру...
-
Глубины виртуализации Windows (часть 1) — где на самом деле работает ваш Windows? Гипервизор и разделы
Когда включают Hyper-V, сам хостовый Windows работает поверх гипервизора как корневой раздел. Статья разбирает основы виртуализации через роли VT-x, SLAT и V...
-
Win32 Thread Pool API — параллелизм без создания потоков через CreateThreadpoolWork
По всему нативному коду разбросаны вызовы CreateThread? Статья разбирает Thread Pool API Win32, переработанный в Vista, — четыре объекта work, timer, wait и ...
-
Именованные каналы на практике — стандартный IPC Windows: от проектирования до безопасности
Практическое руководство по именованным каналам — стандартному межпроцессному взаимодействию Windows. Статья по первичным источникам разбирает выбор между ба...
-
Приложения, которые ломаются после выхода из сна — как работают события питания Windows и как строить бизнес-приложения, которые это переживают
Открыли ноутбук — и соединения бизнес-приложения мертвы: причина в проекте, который не учитывал сон. Статья разбирает поток уведомлений WM_POWERBROADCAST, по...
-
DllMain и блокировка загрузчика — настоящая причина, почему говорят «ничего не делай в инициализации DLL»
Почему из DllMain нельзя вызывать LoadLibrary и синхронизироваться с другими потоками. Статья по первичным источникам объясняет, как блокировка загрузчика се...
-
Что на самом деле значит «Не отвечает» — как Windows решает, что приложение зависло, и как проектировать приложения, которые не зависают
«Не отвечает» в Windows — механизм, в котором ОС судит, что окно не извлекало сообщение 5 секунд, и подменяет его окном-призраком. Статья разбирает внутренно...
-
Ложные пробуждения — почему условные переменные просыпаются «без уведомления» и как правильно ждать в Windows
Ожидание условной переменной может вернуться, даже когда уведомление не пришло (ложное пробуждение). Статья объясняет по реализации Windows, почему специфика...
-
Как работают буфер обмена и перетаскивание — правильная обработка OLE-передачи данных в бизнес-приложениях
Вставляете таблицу Excel — и оформление разваливается; закрываете исходное приложение — и вставить больше нельзя: оба случая от того, что буфер обмена кладёт...