Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
8.349 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: EnumDeviceDrivers EA bei ListView

  Alt 2. Apr 2009, 23:17
Zitat von _BlackDragon_:
Delphi-Quellcode:
// hier den Namen eines Treibers anhand des Pointers ermitteln
function TForm3.GetDriverBaseName(pImageBase: Pointer): String;
var
  lpBaseName: PChar;
  size: Cardinal;
begin
  size := GetDeviceDriverBaseName(pImageBase, lpBaseName, MAX_PATH);
  Result := StrPas(lpBaseName);
end;
Wie soll das so auch klappen? Du übergibst als Zieladresse für lpBaseName einen uninitialisierten Pointer. Das ist aber ein out Parameter, wie du auch in der Dokumentation siehst:
http://msdn.microsoft.com/en-us/library/ms683184.aspx
Du musst also zuerst einmal so viel Speicher reservieren wie du als Größe dieses Buffers als dritten Parameter übergibst.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat