Delphi-Quellcode:
// iterate through enum values (WbemObjects) and get the property values
while (l_WMIObjectInstances.Next(1, l_TempObj, l_ObjValue) = S_OK) do
begin
l_WMIObject:= IUnknown(l_TempObj) as SWBemObject;
l_WMIPropertySet := l_WMIObject.Properties_;
l_WMIProperty := l_WMIPropertySet.Item(WMI_ATTRIB_MAC, 0);
if not VarIsNull(l_WMIProperty.Get_Value) then
result.Add(l_WMIProperty.Get_Value);
end;
Hast Du in dem Bereich der getMacAddress Routine mal einen Breakpoint gesetzt
und bist dann schrittweise durch den Code gegangen?
Wieviele Objekt hat denn l_WMIObjectInstances := (l_WMIObjectSet._NewEnum) as IEnumVariant; ?
Dann bin ich auch mit meinem Latein am Ende.
Grüße
Klaus