ホットプラグについて

解決


クラゲ  URL  2005-06-02 00:29:19  No: 90180

はじめまして。
現在、Windowsの隠しAPIである、
「HOTPLUG.DLL」の調査をしています。
このDLLの関数をVB6から利用したいと思っています。

DLL関数の列挙は完了しているのですが、
各関数の利用方法がわかりません。
もし、ご存知の方がおられましたら、
ご教授お願いいたします。

[   ] HOTPLUG.DLL

     Import  Ordinal      Hint         Function                         Entry Point
     ------  -----------  -----------  -------------------------------  -----------

     Export  Ordinal      Hint         Function                         Entry Point
     ------  -----------  -----------  -------------------------------  -----------
     [C  ]    1 (0x0001)   0 (0x0000)  CPlApplet                        0x0000534D
     [C  ]    2 (0x0002)   1 (0x0001)  CreateLocalServerW               0x000026A6
     [C  ]   12 (0x000C)   2 (0x0002)  DllCanUnloadNow                  0x000025BF
     [C  ]   13 (0x000D)   3 (0x0003)  DllGetClassObject                0x000025CB
     [C  ]   14 (0x000E)   4 (0x0004)  DllRegisterServer                0x000025E4
     [C  ]   15 (0x000F)   5 (0x0005)  DllUnregisterServer              0x000025F3
     [C  ]    3 (0x0003)   6 (0x0006)  HotPlugDeviceTree                0x00004FD0
     [C  ]    4 (0x0004)   7 (0x0007)  HotPlugDriverBlockedW            0x000052C1
     [C  ]    5 (0x0005)   8 (0x0008)  HotPlugEjectDevice               0x0000504B
     [C  ]    6 (0x0006)   9 (0x0009)  HotPlugEjectVetoedW              0x00005410
     [C  ]    7 (0x0007)  10 (0x000A)  HotPlugHibernateVetoedW          0x0000542C
     [C  ]    8 (0x0008)  11 (0x000B)  HotPlugRemovalVetoedW            0x00005402
     [C  ]    9 (0x0009)  12 (0x000C)  HotPlugSafeRemovalNotificationW  0x00005141
     [C  ]   10 (0x000A)  13 (0x000D)  HotPlugStandbyVetoedW            0x0000541E
     [C  ]   11 (0x000B)  14 (0x000E)  HotPlugWarmEjectVetoedW          0x0000543A


クラゲ  URL  2005-06-02 05:47:16  No: 90181

参考文献でもいいから、お教えくださいませ。


クラゲ  URL  2005-06-02 06:46:25  No: 90182

追記ですが、
DeviceIoControl
では無理でした。

2000DDKなどを目を通しましたが、
デバイスドライバの作成は乗っていました。
ただし、取り外しの際のイベント発行については、
記載されていませんでした。


ねろ  2005-06-02 07:04:31  No: 90183

ttp://www.webtropy.com/articles/dll-api.aspx?dll=hotplug
>how to use these API's in your C# and VB.NET applications, 
>please refer to the book Network programming in .NET 
>(Buy at Amazon UK) (Buy at Amazon US) 
やっぱこの本買っきゃないな。
http://www.amazon.co.jp/exec/obidos/ASIN/1555583156/249-6241929-8486706


クラゲ  URL  2005-06-02 10:08:06  No: 90184

ううむ、本屋いってみるか w


クラゲ  URL  2005-06-02 10:37:53  No: 90185

うきゃー
わかんねー

やっぱ、本か...


ひろ  2005-06-02 18:27:08  No: 90186

hdwwiz.cpl (コントロールパネルの「ハードウェアの追加と削除」)が使っているようなので、これをデバッガでトレースしてみるとかどうでしょうか。


ひろ  2005-06-02 18:43:56  No: 90187

hdwwiz.cpl では結局
 RUNDLL32 SHELL32.DLL,Control_RunDLL hotplug.dll
を呼び出しているだけな気がしてきました。
サーバー機の付属管理ツールとかにヒントがあるかもしれませんね。


Dental  2005-06-02 19:35:44  No: 90188

何をしたいのか不明……。

ハードの取り外しだけなら、CM_Request_Device_Eject を
投げる事になると思いますが……そういう事ではないのかな?


Dental  2005-06-02 19:38:51  No: 90189

デバイスの取り外しのサンプル。(添付されたPNG画像を参照)
http://delphi.ktop.com.tw/topic.asp?TOPIC_ID=44542

……VBのコードじゃないけれど。


クラゲ  URL  2005-06-03 05:06:13  No: 90190

わぉ、みなさまありがとうございます。

VB用にコーディングは無理ですね。
方法として、次の手法を行ってみます。

①.VC6にて、DLLを作成。
②.VB6にて、インターフェースを実装し、DLLをコール。

完成次第、また報告しにきます。


クラゲ  URL  2005-06-04 04:41:42  No: 90191

毎度どうもです。
とりあえず、DOS版を作ってみました。
http://helloweb.ddo.jp/BBS/Bbs.htm

上記、http://delphi.ktop.com.tw/topic.asp?TOPIC_ID=44542
のソースをそのまま使っています。 w

さぁ、次は、DLL化です。

ありがとうございました。


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

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






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