2015-10-26 3 views
-2

Я разрабатываю приложение, которое общается с драйвером устройства. Как я могу назвать такую ​​функциюКак выполнить функцию драйвера в пользовательском режиме?

VOID TchBklSetIntensity(BKL_CONTEXT* BklContext,ULONG Intensity) 

в режиме пользовательского режима C#?

+0

Драйвер должен явно разоблачить его. Если не через обычное чтение/запись, то через ioctl вы будете вызывать DeviceIoControl() в вашей программе на C#. –

ответ

0

Водитель изолированный от сухопутного пространства пользователя, и те функции драйвера устройства существуют в пределах области ядра.

Однако, как правило, есть сопровождающая библиотека, которая разговаривает с водителем, открывая специально обозначенное имя файла, например: XXXXX, в котором библиотека записывает определенную последовательность байтов в этот файл, чтобы поговорить с драйвером. Тогда этот код API будет доступен для пользовательского пространства земли, кода высокого уровня, такого как, в данном случае, C#.

Например, зарезервированные имена файлов, такие как classi one, являются NUL, который является зарезервированным именем файла (может быть nul), в котором перенаправление на него эквивалентно Unix/Linux /dev/null.

Смежные вопросы