This implementation is a bit of a hacky workaround, as we use a ntdll API to grab the full path of the directory handle. As far as I can tell this might be the only solution to the problem, as kernel32.CreateProcessW takes a directory path as a string only. I might be wrong though as haven't researched the problem thoroughly.