Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.742 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: EnumDeviceDrivers EA bei ListView

  Alt 3. Apr 2009, 00: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
AppCentral
  Mit Zitat antworten Zitat