Skip to content
This repository was archived by the owner on Dec 6, 2024. It is now read-only.
This repository was archived by the owner on Dec 6, 2024. It is now read-only.

CreateJunction doesn't work when the junction target is a volume-prefixed path #516

@rstarkov

Description

@rstarkov

When creating a junction that targets a volume path like \\?\Volume{01234000-0123-4567-abcd-0123456789ab}\Foo, the junction created doesn't work.

The output of fsutil reparsepoint query on such a broken junction is:

Print Name Length:     0
Substitute Name:       \??\\\?\Volume{01234567-89ab-cdef-0123-456789abcdef}\foo\

mklink /J creates a working junction which looks like this:

Substitute Name:       \??\Volume{01234567-89ab-cdef-0123-456789abcdef}\foo\
Print Name:            \\?\Volume{01234567-89ab-cdef-0123-456789abcdef}\foo\

Observe that the substitute name of the working junction has only the non-interpreted path prefix, without the long path prefix. Replicating this behaviour fixes the junction (see PR #517).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions