Здравствуйте, уважаемые. Возникли проблемы с использованием функции GetProcesIOCounters - в чем дело не пойму
| Код | type IO_COUNTERS = ^_IO_COUNTERS; _IO_COUNTERS = record ReadOperationCount: int64; WriteOperationCount: int64; OtherOperationCount: int64; ReadTransferCount: int64; WriteTransferCount: int64; OtherTransferCount: int64; End;
function GetProcessIoCounters(hProcess: THandle; PIO_COUNTERS:pointer):Boolean; stdcall; external 'kernel32.dll';
procedure TForm1.Button1Click(Sender: TObject); Var PIDArray: array [0..1023] of DWORD; cb: DWORD; I: Integer; ProcCount: Integer; hProcess: THandle; M : IO_COUNTERS; begin EnumProcesses(@PIDArray, SizeOf(PIDArray), cb); ProcCount := cb div SizeOf(DWORD); getMem( m, sizeof(_IO_COUNTERS)); for I := 0 to ProcCount - 1 do begin hProcess := OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ, False, PIDArray[I]); if not(GetProcessIoCounters( hProcess, M)) then Halt; End;
end; | |