Как привязать прогу к оборудованию? Есть ли и где такие фунуции, которуе могут прочесть название железных компонентов кмпа? Возможно у когото есть уже подобные модули. Хотелось бы пообщфться на эту тему.
Здравствуйте, Phoenix75, Вы писали:
P>Как привязать прогу к оборудованию? Есть ли и где такие фунуции, которуе могут прочесть название железных компонентов кмпа? Возможно у когото есть уже подобные модули. Хотелось бы пообщфться на эту тему.
Алгоритм привязки следующий:
1. Подключить файл dbt.h из MS Platform SDK.
2. Объявить экземпляр структуры DEV_BROADCAST_DEVICEINTERFACE,
после чего указать GUID интерфейса, соответствующего вашему устройству.
3. Вызвать функцию RegisterDeviceNotification. В качестве первого параметра
передается дескриптор главного окна приложения (HANDLE), если оборудование
привязывается к программе, или дескриптор сервиса (SERVICE_STATUS_HANDLE),
если к системному сервису.
4. Обрабатывать сообщение WM_DEVICECHANCE (в случае программы) либо
SERVICE_CONTROL_DEVICEEVENT (в случае сервиса).
5. В заключение вызвать API-функцию UnregsiterDeviceNotification.
Если вы хотите, чтобы программа/служба реагировала на ваше собственное устройство,
в драйвере нужно определить GUID устройства, после чего вызвать функцию
IoRegisterDeviceInterface в обработчике IRP_MN_START_DEVICE.