substコマンドは便利
subst h: c:\windows
とかやるとwindowsフォルダをh:ドライブとしてアクセスできる。
WindowsのAPIで同じことをやりたい
DefineDosDeviceという便利なAPIがある。
DefineDosDevice(0, _T("h:"), _T("C:\\windows"));
で上記のsubstと同じ結果になる。
共有フォルダを扱うには一工夫
共有フォルダのようにUNCにドライブレターを割り当てる場合は一工夫が必要。\FileServer?\SharedFolderにi:ドライブを割り当てる場合は以下。
DefineDosDevice(DDD_RAW_TARGET_PATH, _T("i:"), _T("\\??\\UNC\\FileServer\\SharedFolder"));</
ちなみに、こうやって割り当てたドライブはエクスプローラから見ると「切断したネットワークドライブ」と表示される。net useコマンドと同じことをするWNetAddConnectionあたりを使えるなら、そちらの方が良いかもしれない。