The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск Wine 8.18"
Отправлено Аноним, 16-Окт-23 03:32 
Это работает наоборот. Есть фреимворк P/Invoke https://learn.microsoft.com/en-us/dotnet/standard/native-int... оттуда из .NET нативно вызывается код С и C++. Можно из кода .NET прицепиться к любой подсистеме, это то что в Windows и в Java называется маршалингом, кода управляемый код (код запущенный внутри CLR) обращается к любой внешней нативной библиотеке. Фактически P/Invoke автоматизирует биндинги из одного языка в другой через аннотации в коде, чтобы всё мапилось автоматически и не нужно было писать библиотеку-обвязку.

При этом подсистема GDI продолжает быть в ядре: https://learn.microsoft.com/en-us/windows-hardware/drivers/d... хотя её пытаются переписать на Rust от греха подальше. Она исторически использовалась для дисплейных драйверов для отрисовки интерфейсов Windows Forms и Explorer вплоть до Windows XP, просуществовала на этой задаче для обратной совместимости вплоть до 7 включительно и была окончательно заменена на WDDM, который пришел в Windows Vista с целью привнести композитный рабочий стол в Windows. В современных Windows DirectX (начиная с DirectX 10) является модулем ядра, а не юзерспейсной библиотекой (до 9 включительно) теперь он вместо GDI для этой задачи. Все драйверы пришлось переписать, потому что GDI представляет собой модель отрисовки векторной графики с использованием CPU и используется для рендеринга шрифтов. GDI-совместимые драйверы видеоадаптеров Windows в чем-то напоминали юзерспейсные драйверы Device Dependent X (DDX) в X11. Современная отрисовка рабочего стола Windows производится на поверхность через DirectX.

Важно понимать, что GDI по-прежнему используется для других задач, например для принтеров. Существуют так называемые GDI-принтеры, которые не способны не принять ни вектор, ни PostScript, ни тем более PDF. Они могут распечатать только RGB-растр, который должен быть создан средствами GDI-драйвера этого принтера. Естественно (начиная с Vista) есть поддержка преобразования документов в формат PostScript через компонент XPS, но это не отменяет наличие оборудования на рынке, которое не способно ничего сделать без GDI-растра.
https://learn.microsoft.com/en-us/windows/win32/printdocs/gd...
Даже если написать XPS-драйвер к такому принтеру, он всё равно будет зависеть от GDI, потому что Raster Image Processor (RIP) внутри GDI-принтера отсутствует.

Так что забудьте свои глупости, вы не знаете как работает Windows

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру