Як програмно оновити обладнання

Ось хотів було зробити програмне оновлення обладнання, нападобіє як в "Диспетчері пристроїв".
Проте за виклик цієї функції вилазить Access violation. Намагався включити привілей "SeDebugPrivilege", але це не допомогло.
Як же реалізувати це завдання?


Виправив DWORD на DEVINST, хоча у модулі CfgMgr32.pas цей тип визначено як DWORD.
А вилітає коли намагається виконати 7-й рядок функції.

Всі. я розібрався. тепер не потрібно вручну щоразу при необхідності вилізти в мережу оновлювати обладнання для модем, який при завантаженні вінди був вирубаний.
Ось повний код програми:
а ось порипаний модуль (всі інші тепер не потрібні для цієї дії):
з оригінальним модулем не виходило (Access'и валилися), видно якусь змінну потрібно було ініціалізувати (типу). Довелося застосувати грубу силу.