Здравствуйте! Столкнулся с проблемой! Есть VCL сервис, в нем используется WMI, для получения информации о железе. Работало в 99,9% но на некотых компьютерах не работает. Вот случилось так что и на моем (Windows 2000) перестало работать.
Вот кусок кода:
| Код | ... function WMIGetInfo(const Comp, NameSpace, User, Pass, Arg: WideString; var Instances: integer) ... wmiServices := wmiLocator.ConnectServer (Comp, Namespace, User, Pass,'', '', 0, nil) ; if Pos ('SELECT', Arg) = 1 then wmiObjectSet := wmiServices.ExecQuery (Arg, 'WQL', wbemFlagReturnImmediately, nil) else wmiObjectSet := wmiServices.InstancesOf(Arg, wbemFlagReturnImmediately or wbemQueryFlagShallow, nil); Instances := wmiObjectSet.Count; if Instances = 0 then Exit; Enum := (wmiObjectSet._NewEnum) as IEnumVariant; ...
|
В последней строке возникает исключительная ситуация Interface not Supported.
Что делать незнаю... Что вбивать в гугл тоже не понятно... Если кто то сталкивался с подобной проблемой подскажите плиз. |