ディレクトリがマウントされたフォルダーかどうかの判断

たとえば、1 つのボリュームに制限されているバックアップ アプリケーションや検索アプリケーションを使用している場合に、ディレクトリがマウントされたフォルダーであるかどうかを判断すると便利です。 このようなアプリケーションは、 SetVolumeMountPoint などの関数を使用して、アプリケーションが制限されているボリューム上の他のボリュームにマウントされたフォルダーを作成する場合、複数のボリュームに関する情報に到達できます。 詳細については、「 マウントされたフォルダーの作成」を参照してください。

指定したディレクトリがマウントされたフォルダーかどうかを確認するには、まず GetFileAttributes 関数を呼び出し、戻り値の FILE_ATTRIBUTE_REPARSE_POINT フラグを調べて、ディレクトリに再解析ポイントが関連付けられているかどうかを確認します。 その場合は、FindFirstFile 関数と FindNextFile 関数を使用して、WIN32_FIND_DATA構造体の dwReserved0 メンバーの再解析タグを取得します。 再解析ポイントがマウントされたフォルダー (および他の形式の再解析ポイントではない) であるかどうかを判断するには、タグ値が 値IO_REPARSE_TAG_MOUNT_POINTと等しいかどうかをテストします。 詳細については、「ポイントの 再解析」を参照してください。

マウントされたフォルダーのターゲット ボリュームを取得するには、 GetVolumeNameForVolumeMountPoint 関数を 使用します。

同様の方法で、再解析ポイントがシンボリック リンクであるかどうかを判断するには、タグ値が IO_REPARSE_TAG_SYMLINKされているかどうかをテストします。

ファイル属性定数