現象

SharePoint Workspace 2010 がインストールされている環境にて ShellExecuteEx 関数、あるいは ShellExecute 関数を呼び出した場合、関数の処理完了時に Grooveex.dll がロード時に確保したメモリがアンロード時に適切に解放されない現象が発生します。

原因

SharePoint Workspace 2010 は、シェル連携のため、ShellExecuteEx 関数、あるいは ShellExecute 関数による他プロセス起動を監視しております。
ShellExecuteEx 関数、あるいは ShellExecute 関数の実行に伴って、Grooveex.dll というSharePoint Workspace 2010 のモジュールがメモリ上にロードされます。

関数の処理完了時には、この Grooveex.dll はメモリからアンロードされますが、Grooveex.dll ではロードとアンロードとが行われることを想定していないため、ロード時に確保したメモリをアンロード時に適切に開放しておりません。

そのため、例えばプログラム上にて頻繁に ShellExecuteEx 関数、あるいは ShellExecute 関数を呼び出しますと、その分 Grooveex.dll のロードとアンロードとが行われ、結果としてメモリ使用量が増加する現象が発生します。

回避策

LoadLibrary 関数等を使用し、明示的に Grooveex.dll のロードを行いますと、その後 ShellExecuteEx 関数、あるいは ShellExecute 関数を呼び出した場合でも、Grooveex.dll の ロード、アンロードが実行されません。
この結果、頻繁に ShellExecuteEx 関数、あるいは ShellExecute 関数を呼び出した場合でも、意図せずメモリ使用量が増加する現象が発生せず、本現象の回避が可能です。

状況

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

ヘルプを表示

スキルを磨く
トレーニングの探索
新機能を最初に入手
Microsoft Insider に参加する

この情報は役に立ちましたか?

翻訳品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?

フィードバックをお送りいただきありがとうございます!

×