Netzwerk Pfad ?



  • Ich bekomme in meinem Prog vom user ne Pfadangabe, wo ich gewisse dateien ablegen soll .
    Wie kann ich am besten ermitteln, ob es sich dabei um ein Pfad auf nen netzlaufwerk handelt ?

    Also die user koennen momentan den pfad in allen formen angeben, die windows unterstuetz ... oder freilassen, dann nimt er nen voreingestellten pfad.

    Also //comp/share\mydir ist möglich, genau so wie p:\test\mydir

    Wenn nen user mittels share auf nen lokales laufwerk zugreift, also etwa //mycomp/C$\test\mydir dann isser selber schuld, das soll als netzwerkzugriff gelten.
    problematisch ist es aber mit angelegten Netzwerklaufwerken ....
    P:\test\mydir kann beispielsweise auf //comp_iregndwo/share liegen !

    Hintergrund:
    ich logge in die datei messdaten, mit einem nicht ganz unerheblichen umfang. teilweise kommen da paar hundert MB pro minute zusatende.
    Irgendwelche user schaffen es immer wieder, diese datei direkt aufs netzwerk loggen zu wollen . Was nateurlich unsere Netzwerk admins zur weissglut bringt, wenn es nen starkfrequentierter server ist 😡 und die performance meines programmes laesst auch zu wuenschen ueber. Das schlimme ist daran, das daten verlorengehen ... und der comp teilweise steht (mega timeout). In erster linie wird dann pauschal erst mal den programmierern die schuld gegeben !!! 😃

    Ciao ...



  • Also folgende Lösung habe ich mal programmiert.

    Nutze WNetGetConnection(Localer PfadName, Buffer für RemoteName, Länge des Buffers)

    Mit dieser Funktion findet der Rechner heraus ob der Lokale Pfad ein gemapptest Netzlaufwerk ist oder wirklich ein lokaler Pfad.

    Return Value 0 bedeutet das zu dem Lokalen Pfad keine Netzlaufwerk gefunden wurde. Kurzum mit hoher wahrscheinlichkeit handelt es sich bei dem getesteten Pfad um eine lokalen.

    Schau am besten in die MSDN da steht das dann alles nochmal besser beschrieben.

    Also WNetGetConnection führt dich zum Ziel.



  • Jo, das sieht gut aus .... danke !

    Ciao ...



  • Hallo,
    hat jemand von Euch ein Beispiel wie ich diese Methode korrekt implementieren kann!

    Pocket PC 2002 !

    Danke




Anmelden zum Antworten