いや~、1年近く悩んでいたWindowsのトラブルが先ほど解決。壮快壮快。
以前から使っていたWindows XPのデスクトップマシンがあるのですが、その中の一部のフォルダを共有フォルダにして、別のWindowsパソコンからアクセスしていました。
ところが、1年前くらいから、Windows 7からXPの共有フォルダにアクセスしようとしても、はねられてしまうようになりました。
最初は、7のネットワークから、XPの共有フォルダが見えない。
この問題の解決にも結構時間がかかりましたが、それが解決したと思ったら、今度は、7から見えるXPの共有フォルダにアクセスしようとすると、「このコマンドを処理するのに必要な記憶領域をサーバーで確保できません 」というエラーが表示される。
このエラーが、1年近く続いていたため、しかたなく、XPと7との間では、USBメモリでファイルを受け渡しするという、とてつもなく面倒な作業を行っていたわけです。
ところが、先ほど、ふと、そのエラーメッセージでネットで検索してみると、解決策らしきものがみつかりました。
なんと、XPの仕様(おいおいこれはバグだぞ!)で、ファイル共有している側のXPにおいて、とあるパラメータ値を増やさなければならないそうな。
具体的には、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
にある、IRPStackSize の値を、15よりも大きい数値にする必要があるとのこと。
しかも、ディフォルトでは、IRPStackSizeエントリそのものの記述がない場合も多いそうだ。(私の環境もそうだった)
その場合は、IRPStackSizeエントリを自分で追加し、15よりも大きな値を3の倍数で段階的に指定する必要がある。
めんどうなので、一気に30と指定したら、あっけなく、7からXPの共有フォルダにアクセスできました。
7どうしだと、ファイル共有は簡単にできるのかもしれませんが、異なるOS間だと、このように非常にやっかいなケースがままあるのです。
まあ、今日から、これでずいぶんと作業効率が改善されます。