_findfirst() Problem!!!



  • Hallo,
    ich habe grosse Schwierigkeiten mit dem Zugriff auf Netzwerkressourcen.
    Ffolgende Situation: ein virtueller Drucker ruft ein Programm auf, welches die Rechte erbt und somit SYSTEM-Rechten auf dem lokalen System ausgeführt wird. Nun sollte dieses Prozess überprüfen, ob in einem bestimmten Verzeichnis Daten vorhanden sind.
    Ich versuche z.B mit

    _finddata_t foundfile;

    intptr_t f = _findfirst("\\test\.",&foundfile); // alle files in einem friegegebenen Netzwerkpfad zu finden

    Nun zum Problem...
    Wenn ich ein Verzeichnis unter Windows freigebe kriege ich -1 als Rückgabewert.
    Ist ein Verzeichnis auf Linux freigegeben, kriege ich richtiges Handle auf die Datei.

    Überwache ich ein lokales Verezcihnis unter Windows funktioniert alles problemlos.
    Rufe ich das Programm manuell auf ( somit mit User-Rechten ), dann funktioniert es auch.

    Es scheint wohl ein Problem/Sicherheitsmechanismus von Windows zu sein, das Systemprozessen von außen keine Zugriffsrechte gibt.

    Was sagt ihr dazu?
    Wie kann man das lösen oder umgehen....
    Es ist sehr wichtig.

    Ich bedanke mich im Voraus
    alku21



  • Normalerweise haben Dienste unter Windows (XP) keinen Zugriff auf Netzwerk Resourcen... Es sei denn der Dient läuft explizit als "Netzwerkdienst".


Anmelden zum Antworten