SUBST.EXE と同じ処理の API 関数ってあるの?

解決


夏みかん  2007-07-20 20:34:30  No: 65752

タイトル通りなのですがコマンド・プロンプトで実行可能な SUBST.EXE と
同様な処理が行える Win32 API 関数はありますか?

外部コマンドとして SUBST.EXE を呼び出せばパスをドライブ名に
関連付けられることは分かります。でも、外部コマンドを実行するよりも
プログラムから Win32 API 関数などを呼んで処理した方が早いと思いまして
質問しました。

その他 SUBST.EXE がない環境(自分で必要ないと判断して削除した環境)でも
プログラムからドライブに関連付けたいのです。よって Win32 API 関数などで
行えないかと現在探しています。もし、知っている方がいましたら教えて下さい。
お願いします。

開発環境:
  Windows XP Home SP2
  VC++ 2003.NET


オショウ  2007-07-20 21:08:03  No: 65753

こんなものあります

http://softwarefactory.jp/japan/products/substdll/index.html#GAIYOU

参考までに・・・

以上。


夏みかん  2007-07-20 21:40:14  No: 65754

オショウさん。
情報をありがとうございます。

読んでみて
>SUBSTドライブの作成・削除に、Windows95/98/Meでは インラインアセンブラにより
>Interrupt 21h Function 71AAh をコールし、Windows 2000/XPでは WIN32 API
>(DefineDosDevice など)をコールしています。
となっています。

「Dos」という単語から昔の MS-DOS を思い浮かべます。
DOS のシステムコールで SUBST.EXE の機能が行えたため今回は Win32 API では
どれにあたるのかと思い質問したのです。参考情報から DefineDosDevice などを
コールするとはどいう事なのでしょうか?

Win32 API としては用意されてはいないが、システムコールという機能としては
用意されているのですかね。その機能を DLL として提供しているのが参考情報の
ものなら同様の DLL を自分でも作ってみたくなります。詳しい情報をお持ちの方が
いましたらアドバイスをお願いします。
お待ちしています。


夏みかん  2007-07-20 21:54:40  No: 65755

「DefineDosDevice」キーワードで検索したら
http://nienie.com/~masapico/api_DefineDosDevice.html

http://msdn.microsoft.com/library/ja/jpfileio/html/_win32_DefineDosDevice.asp
を発見しました。

その他 QueryDosDevice() という名前も見つかりました。
http://forums.belution.com/ja/cpp/000/039/57s.shtml
http://msdn.microsoft.com/library/ja/jpfileio/html/_win32_QueryDosDevice.asp
さらに
http://loafer.jp/mixi/diary/class.xsp?2006-10-22-23-51
が見つかったため問題は解決しました。
オショウさん。
本当にありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加