Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#11

Re: Union Übersetzung nach Pascal

  Alt 12. Mär 2007, 18:42
GetLastError gibt mir keinen Fehler zurück... Das Handle bekomm ich wie in MSDN beschrieben durch

Delphi-Quellcode:
h:= CreateFile('\\.\C:',0,FILE_SHARE_DELETE or FILE_SHARE_READ or FILE_SHARE_WRITE,
                 nil,OPEN_EXISTING,FILE_FLAG_OVERLAPPED,0);
Dieses Handle ist auch gültig.

Nebenbei mal ne Frage: Ich will ja (wie du vielleicht noch aus dem anderen Thread weißt) herausfinden wie viele Partitionen auf einer Festplatte sind und welche das dann sind. Komm ich hiermit überhaupt an mein Ziel? Hatte mal mit deiner WMI-Unit die Festplatten ausgelesen:

Delphi-Quellcode:
var
  X: TWMIInfo;
  i,j: Integer;
begin
  ComputerName := '.';
  WMIGetInfo(ComputerName,'root\CIMV2','','','SELECT Caption, DeviceID FROM Win32_DiskDrive',x);

  if x.Instance = nil then
   ShowMessage('Hat nicht geklappt');
  for i:= 0 to High(x.Instance) do
    for j:= 0 to High(x.Propname) do
   ShowMessage(X.PropName[j] + ': ' + WMIRead(x,i,j));
Da bekomme ich auch schön die Festplatten-Namen und ID's angezeigt (ID z.B \\.\PHYSICALDRIVE0).
Dann versuche ich damit die Partitionen auszulesen nämlich so:

Delphi-Quellcode:
WMIGetInfo(ComputerName,'root\CIMV2','','','ASSOCIATORS OF {Win32_DiskDrive.DeviceID='''
             + WMIRead(x,0,1) + '''} WHERE AssocClass = Win32_DiskDriveToDiskPartition',y);
(nach diesem Vorbild):

Code:
'Use the disk drive device id to
'find associated partition

query = "ASSOCIATORS OF {Win32_DiskDrive.DeviceID='" _
        & wmiDiskDrive.DeviceID & "'} WHERE AssocClass = Win32_DiskDriveToDiskPartition"  
    Set wmiDiskPartitions = wmiServices.ExecQuery(query)
Aber da bekomm ich für Y immer nur nil zurück... (vgl. Letztes Beispiel)

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat