ページ 11

仮想ドライブの作り方

Posted: 2008年6月23日(月) 20:47
by PaPa
Substコマンドで行っている様な、仮想ドライブを作成したいのですが、仮想ドライブの作り方を教えてください。
または、使い得そうなAPIをご存知でしたら教えてください。

よろしくお願いします。

Posted: 2008年6月24日(火) 00:42
by イグトランス
NT系限定ですが、DefineDosDeviceという関数はどうでしょうか。

コード: 全て選択

DefineDosDevice(0, "W:", "C:\WINDOWS")
これで、Subst W: C:\WINDOWS相当になります。1番目の引数の0をDDD_REMOVE_DEFINITIONにすれば、削除になるそうです(試していませんが)。

以下、必要な宣言を置いておきます。

コード: 全て選択

Declare Function DefineDosDevice Lib "kernel32" Alias "DefineDosDeviceA" (
	dwFlags As DWord,
	lpDeviceName As *Byte,
	lpTargetPath As *Byte) As BOOL

Const DDD_RAW_TARGET_PATH = &h00000001
Const DDD_REMOVE_DEFINITION = &h00000002
Const DDD_EXACT_MATCH_ON_REMOVE = &h0000004
Const DDD_NO_BROADCAST_SYSTEM = &h00000008
Const DDD_LUID_BROADCAST_DRIVE = &h00000010