Zitat von
Neutral General:
Also mit ... erreiche ich auch nix (y = nil)...
sag ich doch?
Kennst dich zufällig mit
SQL aus?
Die
WMI-Queries ähneln diesem ja.
Wie kann man da nach "TeilStrings" suchen?
Zitat von
Neutral General:
Ach ja ... ändert auch nix an der ganzen Sache...
Hast du den Record vorher mal geleert?
Wenn das dateihandle OK ist und DeviceIoControl True liefert, dann sollten eigentlich korrekt Werte in dem Record liegen.
Also, ist DeviceIoControl = True
und was gibt OutBytes zurück?
Was sagt das?
Delphi-Quellcode:
H := CreateFile('\\.\PhysicalDrive0', GENERIC_READ or GENERIC_WRITE,
FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0);
Size := SizeOf(_DRIVE_LAYOUT_INFORMATION_EX) + SizeOf(_PARTITION_INFORMATION_EX) * 31;
GetMem(P, Size);
Try
FillChar(P^, Size, 0);
If DeviceIoControl(H, IOCTL_DISK_GET_DRIVE_LAYOUT_EX, nil, 0,
P, Size, OutBytes, nil) Then Begin
...
End Else ShowMessage(SysErrorMessage(GetLastError));
Finally
FreeMem(P);
End;
CloseHandle(H);