Estou apenas pensando: estou procurando uma maneira de validar se um determinado caminho é válido. (Observação: não quero verificar se um arquivo existe! Só quero comprovar a validade do caminho - então, se é possível que exista um arquivo no local) .
O problema é que não consigo encontrar nada na API .Net. Devido aos vários formatos e locais que o Windows suporta, prefiro usar algo nativo do MS.
Uma vez que a função deve ser capaz de verificar:
- Caminhos Relativos (./)
- Caminhos absolutos (c: \ tmp)
- UNC-Pathes (\ some-pc \ c $)
- Limitações de NTFS como o caminho completo de 1024 caracteres - Se não me engano, exceder o caminho tornará um arquivo inacessível para muitas funções internas do Windows. Renomear com o Explorer ainda funciona
- Caminhos de GUID de volume: "\? \ Volume {GUID} \ somefile.foo
Alguém tem uma função assim?