トレーニング
モジュール
Windows PowerShell スクリプトで関数とモジュールを使用する - Training
このモジュールでは、Windows PowerShell スクリプトでモジュールと関数を作成する方法について説明します。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
モジュールは実行可能ファイルまたは DLL です。 各プロセスは、1 つ以上のモジュールで構成されます。 EnumProcessModules 関数を呼び出すことで、プロセスのモジュール ハンドルの一覧を取得できます。 この関数は、 HMODULE 値の配列に、指定されたプロセスのモジュール ハンドルを格納します。 最初のモジュールは実行可能ファイルです。 これらのモジュール ハンドルは他のプロセスからの可能性が高いので、 GetModuleFileName などの関数では使用できないことに注意してください。 ただし、 PSAPI 関数 を使用して、別のプロセスからモジュールに関する情報を取得できます。
次の手順では、別のプロセスからモジュール情報を取得する方法について説明します。
別のプロセスからモジュール情報を取得するには
アプリケーションで現在のプロセスのモジュール情報が必要な場合は、PSAPI モジュール関数の代わりに GetModuleFileName 関数を使用する必要があります。 これにより、アプリケーションのパフォーマンスが 2 つの方法で役立ちます。 GetModuleFileName 関数は PSAPI モジュール関数よりも効率的であり、アプリケーションは PSAPI 関数を使用しない場合にpsapi.dllの読み込みを回避できます。
GetModuleBaseName 関数と GetModuleFileNameEx 関数は、主に、別のプロセスからモジュール情報を抽出する必要があるデバッガーや同様のアプリケーションで使用するように設計されています。 ターゲット プロセスのモジュール リストが破損しているか、まだ初期化されていない場合、または DLL の読み込みまたはアンロードの結果として関数呼び出し中にモジュール リストが変更された場合、これらの関数は失敗したり、正しくない情報を返したりする可能性があります。
トレーニング
モジュール
Windows PowerShell スクリプトで関数とモジュールを使用する - Training
このモジュールでは、Windows PowerShell スクリプトでモジュールと関数を作成する方法について説明します。
ドキュメント
PSAPI 関数を次に示します。
EnumProcessModules 関数 (psapi.h) - Win32 apps
指定したプロセス内の各モジュールのハンドルを取得します。
GetModuleBaseNameA 関数 (psapi.h) - Win32 apps
指定したモジュールのベース名を取得します。 (ANSI)