Я разрабатываю приложение, которое связывается с драйвером устройства. Как я могу вызвать такую функцию
VOID TchBklSetIntensity(BKL_CONTEXT* BklContext,ULONG Intensity)
в приложении пользовательского режима C #?
Водитель изолированный из пространства пользователя, и эти функции драйвера устройства существуют в пределах ядра.
Однако обычно есть сопутствующая библиотека, которая обращается к драйверу, открывая специально назначенное имя файла, например: XXXXX
в котором библиотека записывает определенную последовательность байтов в этот файл, чтобы поговорить с драйвером. Этот код API был бы тогда доступен для пользователя наземного пространства, кода высокого уровня, такого как, в данном случае, C #.
Например, зарезервированные имена файлов, такие как classi one, это NUL, которое является зарезервированным именем файла (может быть nul), в котором перенаправление на него эквивалентно Unix / Linux /dev/null
,
Других решений пока нет …