不当に?「このドライブは現在取り外しでNo.08791
sw さん 20/09/05 17:41
 
秀丸ファイラーCLassic Ver1.56
Windows10 64bit
「ハードウェアの安全な取り外し」で不当に
---------------------------
秀丸ファイラーClassic
---------------------------
このドライブは現在取り外しできません。
---------------------------
OK  
---------------------------
が出るようです。直後にタスクバーにある「ハードウェアを安全な取り外してメディ
アを取り出す」でやると正常に終わります。

[ ]
RE:08791 不当に?「このドライブは現在取No.08793
秀丸担当 さん 20/09/07 09:25
 

「ハードウェアの安全な取り外し」ができない場合があるということで、申し訳あり
ません。
もし秀丸ファイラーClassic自身が開いていることが原因だとしたら、秀丸ファイ
ラーClassicを終了させることによってできる場合があると思います。
そうなる例としては、[ツール]→[オプション]→[上級者向け]→[自動更新]の「外付
けディスクの厳密な監視」がONになっているとそうなることがあります。

こちらでもたまにできないことがあるのですが、そういう場合はたいていWindowsの
タスクバーの隅でもできなくて、元々うまくうかない問題が潜在している気がします。
時間を置いたり何回かするとできることもあって、ドライバ等の兼ね合いもあるかも
しれません。

秀丸ファイラーClassicとWindowsの処理は、おそらく完全に一緒ではないと思います。
もし一定の操作で必ず再現するようなことがあったら理由を調べることができるので、
具体的な操作手順やドライブの種類などを教えてもらえると助かります。

現状では、理由まではわからないのですが、取り外しメニューを出す段階での情報を
得る方法があります。
[ツール]→[オプション]で左下の上級者向け設定をONにして、[ツール]→[オプショ
ン]→[上級者向け]→[デバッグ]の「動作ログを記録する」がONした状態で、取り外
しの操作をします。
そしてエラーが出た後に、もう一度同じ画面を出して、「現在の状況をdump.txtに出
力する」を選ぶとログが出力されます。
もし差支えなければ、その内容を"taki@maruo.co.jp"まで送っていただけると、メニ
ューの情報から何かわかるかもしれません。
現時点でエラー時の理由は記録されていないので、次のβ版では理由なども記録する
ようにしようと思います。

[ ]
RE:08791 不当に?「このドライブは現在取No.08795
秀丸担当 さん 20/09/08 10:35
 

V1.58β2で、動作ログで取り外ししたときやエラーになるときの情報も得られるよう
に修正しています。
もし問題が再現するような場合、このバージョンで「動作ログを記録する」がONにし
て試してみてもらえると助かります。
以下のページの下のほうの「先行開発バージョンはこちら」からダウンロードできま
す。
https://hide.maruo.co.jp/software/hmfilerclassic.html

[ ]
RE:08795 不当に?「このドライブは現在取No.08796
sw さん 20/09/08 11:47
 
1.USBメモリを挿。このUSBメモリがIドライブとなる。
2.Iドライブの中のテキストファイルを秀丸で開く。
3.上のテキストファイルを秀丸で閉じる。
4.秀丸ファイラーClassicの「ハードウェアの安全な取り外し」でIドライブを選ぶ。
5.「このドライブは現在取り外しできません。」のエラーになる。
6.タスクバーの「ハードウェアを安全に取り外してメディアを取り出す」は成功。
このときのダンプファイルをメールでお送りしました。

ただ、4.で取り外しが成功することもあります。

[ ]
RE:08796 不当に?「このドライブは現在取No.08799
秀丸担当 さん 20/09/08 15:55
 

dumpファイル受け取りました。
ありがとうございます。
調べてみたところ、原因ははっきりしなくて不明です。
次のβ版では、念のための対策や、動作ログではなくエラーメッセージとして意味を
表示するような対策をしようと思います。

-----
ちょっと長いですが調べたことを書いて負います。
理由は、プログラム的なことですが、「デバイスは指定された操作をサポートしてい
ません」という意味のようです。
ですが、たぶんそれは本当の意味ではなくて、デバイスの場所を表す文字列が「USB\
VID_0EA0&PID_2168\A21000000000436F暴由…なんとか」みたいに文字化けしているこ
とが関係していそうです。
この文字列は、秀丸ファイラーClassicからデバイスに渡しているものではなくて、
単に受け取っている文字列なので、なぜそうなったのかはわからないです。
予想ですが、うまくいく場合もあるということで、たまたまその文字列の終端あたり
のメモリがゼロでクリアされているかどうかというような、偶然的なことの可能性が
高いように思います。
デバイスのドライバか何かが、文字列をちゃんと設定できていないような問題がある
のではないかと思うのですが、秀丸ファイラーClassicとしてはわかりません。
秀丸ファイラーClassicとしてできそうなことは、文字列を受け取る場所をゼロクリ
アすることですが、与える側ではなくて受け取る側なので、気休めにしかならないか
もしれません。

別の予想としては、秀丸ファイラーClassicがドライブを使用中のとき、タスクバー
からは取り外しができないのと同じように、Windows側がそのドライブを本当に使用
中ということがあります。
再現できる例として、逆の例ですが、「外付けディスクの厳密な監視」がONのとき、
秀丸ファイラーClassic自身はロック状態にあることを知っているので、ロックを解
除してから、取り外しを実行し成功し、再びロック状態にできます。ですが、タスク
バーは、ロック状態を操作できないので、タスクバーどうやっても失敗します。
それと逆のパターンが起きているとしたら、そうなるのはある意味正しいことになり
ます。
でもそれだとしたら、エラーの意味は「ドライバーは指定された操作をサポートして
いますが、ドライバーはその操作を拒否しました。」になるはずなので、こちらの可
能性は低いです。
この2つのパターンのエラーメッセージをメッセージボックスとして表示するように
しようと思います。




[ ]
RE:08799 不当に?「このドライブは現在取No.08802
sw さん 20/09/09 08:55
 
秀丸担当様
調査、ありがとうございます。

[ ]
RE:08802 不当に?「このドライブは現在取No.08810
秀丸担当 さん 20/09/15 10:59
 

V1.58β3で念のための修正をしています。
エラー時のデバイスの場所が文字化けしているようなので、文字列を受け取る場所を
事前にクリアしておくという対策ですが、エラーのときに一方的に受け取る文字列な
ので、おそらく効果は無いと思います。
(もし効果があったとすれば、ドライバのほうに問題があるのかもしれません)

[ ]