Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Gibt es eine Alternative zu GetVolumeInformation? (https://www.delphipraxis.net/146164-gibt-es-eine-alternative-zu-getvolumeinformation.html)

Garfield 14. Jan 2010 18:32


Gibt es eine Alternative zu GetVolumeInformation?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich möchte zu verschiedenen Laufwerken ermitteln, ob die ACL mitkopiert werden können. Dazu verwende ich GetVolumeInformation. Dies scheint aber nicht immer zu funktionieren!?

Bei dem Server, auf welchen auf Arbeit mein Ordner "Eigene Dateien" liegt, geht es nicht. Bei anderen Netzwerklaufwerken geht es.

SirThornberry 14. Jan 2010 18:35

Re: Gibt es eine Alternative zu GetVolumeInformation?
 
Zitat:

...geht es nicht.
Geht es etwas genauer? Die Fehlermeldung "geht nicht" hab ich um ehrlich zu sehen noch nie bekommen. :mrgreen:

Luckie 14. Jan 2010 18:51

Re: Gibt es eine Alternative zu GetVolumeInformation?
 
Bau eine gescheite Fehlerbehandlung ein, dann weißt du auch warum die Funktion fehlschlägt.

Garfield 14. Jan 2010 19:32

Re: Gibt es eine Alternative zu GetVolumeInformation?
 
Geht nicht, heißt: Die Funktion schlägt fehl, wie Luckie feststellt.

Delphi-Quellcode:
BOOL WINAPI GetVolumeInformation(
  __in_opt  LPCTSTR lpRootPathName,
  __out     LPTSTR lpVolumeNameBuffer,
  __in      DWORD nVolumeNameSize,
  __out_opt LPDWORD lpVolumeSerialNumber,
  __out_opt LPDWORD lpMaximumComponentLength,
  __out_opt LPDWORD lpFileSystemFlags,
  __out     LPTSTR lpFileSystemNameBuffer,
  __in      DWORD nFileSystemNameSize
);
:? GetLastError habe ich nicht versucht. Entschuldigung! Muss ich später zu Hause probieren. Dennoch sei mir die Frage gestattet, ob es eine Alternative gibt.

Dezipaitor 14. Jan 2010 22:00

Re: Gibt es eine Alternative zu GetVolumeInformation?
 
Du kannst versuchen eine ACL zu lesen, dann weißt du, ob es unterstützt wird oder nicht.

Garfield 15. Jan 2010 08:34

Re: Gibt es eine Alternative zu GetVolumeInformation?
 
Na klar. Die Möglichkeit hatte ich verdrängt, weil es mir zu aufwändig erschien. Da es hier einigen Lesestoff dazu gibt, werde ich es in Angriff nehmen. Danke! :thumb:

Garfield 15. Jan 2010 09:05

Re: Gibt es eine Alternative zu GetVolumeInformation?
 
Wäre dies der richtige Ansatz: TJwACLProtection Enumeration?

Dezipaitor 15. Jan 2010 09:46

Re: Gibt es eine Alternative zu GetVolumeInformation?
 
ne, das
http://jwscldoc.delphi-jedi.net/TJwS...ileObject.html

Garfield 15. Jan 2010 14:55

Re: Gibt es eine Alternative zu GetVolumeInformation?
 
@Dezipaitor

Vielen Dank. Das werde ich mir am Wochenende ansehen und am Montag vormittag testen, ob es auch mit dem Ordner funktioniert.

@Luckie

Unter GetVolumeInformation steht "If not all the requested information is retrieved, the return value is zero. To get extended error information, call GetLastError.". GetVolumeInformation ergibt FALSE und GetLastError sagt:
Zitat:

Der Vorgang wurde erfolgreich beendet.

Garfield 21. Jan 2010 18:19

Re: Gibt es eine Alternative zu GetVolumeInformation?
 
Ich habe die Library leider nicht eingebunden bekommen. Aber ich habe mir die Function SupportACL angesehen. Dort wird ebenfalls GetVolumeInformation verwendet. Zwar mit anderen (wenigeren) Parametern, aber mit dem selben Ergebnis.

Wenn ich RoboCopy mit dem Schalter /COPY:U verwende, bekomme ich den Fehler "You do not have the Manage Auditing user right." :?

Mal weiter sehen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:03 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz