Domanda

Sto usando C ++ e accedo a un percorso UNC attraverso la rete. Questo percorso è leggermente maggiore di MAX_PATH. Quindi non riesco a ottenere un handle di file.

Ma se eseguo il programma sul computer in questione, il percorso non è maggiore di MAX_PATH. Quindi posso ottenere un handle di file. Se rinominare il file in modo che contenga meno caratteri (meno la lunghezza del nome del computer), posso accedere al file.

È possibile accedere a questo file attraverso la rete anche se il nome del computer nel percorso UNC lo pone oltre il limite MAX_PATH?

È stato utile?

Soluzione

Ricordo che ci sono alcune funzionalità come l'uso di \\? \ all'inizio del percorso per aggirare il limite MAX_PATH . Ecco un riferimento su MSDN:

http://msdn.microsoft.com/en -us / library / aa365247 (VS.85) aspx

Per i computer remoti, utilizzare un nome percorso come: \\? \ unc \ server \ share \ path \ file . Il \\? \ Unc \ è il prefisso speciale e non viene utilizzato come parte del nome file effettivo.

Altri suggerimenti

Potresti essere in grado di ottenere un handle per il file se provi ad aprire il file dopo aver convertito il nome del file in un nome breve (8.3). Non riesci a mappare la directory in cui si trova il file come unità e ad accedere al file in questo modo?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top