Determinando se um diretório é uma pasta montada

É útil determinar se um diretório é uma pasta montada quando, por exemplo, você está usando um aplicativo de backup ou pesquisa limitado a um volume. Esse aplicativo poderá acessar informações sobre vários volumes se você usar funções como SetVolumeMountPoint para criar pastas montadas para os outros volumes no volume ao qual o aplicativo está limitado. Para obter mais informações, consulte Criando pastas montadas.

Para determinar se um diretório especificado é uma pasta montada, primeiro chame a função GetFileAttributes e inspecione o sinalizador FILE_ATTRIBUTE_REPARSE_POINT no valor retornado para ver se o diretório tem um ponto de nova análise associado. Se isso acontecer, use as funções FindFirstFile e FindNextFile para obter a marca de nova análise no membro dwReserved0 da estrutura WIN32_FIND_DATA . Para determinar se o ponto de nova análise é uma pasta montada (e não uma outra forma de ponto de nova análise), teste se o valor da marca é igual ao valor IO_REPARSE_TAG_MOUNT_POINT. Para obter mais informações, consulte Reparse Points.

Para obter o volume de destino de uma pasta montada, use a função GetVolumeNameForVolumeMountPoint .

Da mesma forma, você pode determinar se um ponto de nova análise é um link simbólico testando se o valor da marca é IO_REPARSE_TAG_SYMLINK.

Constantes de atributo de arquivo