![]() |
Handle ungültig obwohl gültig *g*
Hi ihrs...
Hab in meinem Programm folgenden Code...
Delphi-Quellcode:
Ich öffne einen Process, prüfe ob das Handle gültig ist und wenn ja fordere ich Speicher in ihm an...
hProc := OpenProcess(PROCESS_CREATE_THREAD or PROCESS_QUERY_INFORMATION or PROCESS_VM_OPERATION or PROCESS_VM_WRITE or PROCESS_VM_READ, false, dwProcID);
if (hProc <> INVALID_HANDLE_VALUE) then begin pRemoteAlloc := VirtualAllocEx(hProc, nil, dwSize, MEM_COMMIT, PAGE_READWRITE); if (pRemoteAlloc <> nil) then begin ... ... ... end else LastErrorMsg('Fehler bei der Speicheranforderung in lsass'); end else LastErrorMsg(pchar('Fehler beim öffnen des Processes lsass '+inttostr(dwProcID))); Nur leider funktioniert das nicht - Fehlermeldung: "Ungültiges Handle"... wie kann das sein? Ich prüf doch vorher extra ob das Handle gültig ist? Dieser Fehler tritt bei 2000 und XP-SP1 auf... auf XP-P2 / W2k3 funktioniert mein Programm ohne Probleme... warum? Gruß SleepyMaster |
Re: Handle ungültig obwohl gültig *g*
Hallo,
OpenProcess gibt bei einem Fehler 0 zurück, INVALID_HANDLE_VALUE hat dagegen den Wert -1. INVALID_HANDLE_VALUE wird bei den IO-Funktionen verwendet, bspw. FindFirstFile. Gruß Christoph |
Re: Handle ungültig obwohl gültig *g*
Vielen Dank... das war zwar nicht der direkte Fehler, aber durch diesen Fehler viel mir ein vorheriger Fehler nicht auf :mrgreen:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz