Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
Delphi 12 Athens
|
Re: WMI Speicherfresser wie beseitiegen
25. Nov 2009, 21:36
'n Versuch
Delphi-Quellcode:
var
Server: string;
Enum: IEnumVARIANT;
varArr: OleVariant;
lNumElements: ULong;
begin
Server := '127.0.0.1';
try
log.Lines.BeginUpdate;
Enum := CoSWbemLocator.Create.ConnectServer(Server, 'root\cimv2', '',
'', '', '', 0, nil).ExecQuery('Select * from Win32_LogicalDisk', 'WQL',
wbemFlagBidirectional, nil)._NewEnum as IEnumVariant;
VarClear(varArr); // kann zumindestens nicht schaden
while Succeeded(ADsEnumerateNext(Enum, 1, varArr, lNumElements)) and (lNumElements > 0) do
begin
DumpWMI_Process(IUnknown(varArr) as SWBemObject);
ADsFreeEnumerator(varArr);
end;
finally
log.Lines.EndUpdate;
end;
end;
http://www.delphipraxis.net/internal...050512#1050512
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
|
|
Zitat
|