AuxKlibQueryModuleInformation 関数 (aux_klib.h)
AuxKlibQueryModuleInformation ルーチンは、オペレーティング システムが読み込んだイメージ モジュールに関する情報を取得します。
構文
NTSTATUS AuxKlibQueryModuleInformation(
[in, out] PULONG BufferSize,
[in] ULONG ElementSize,
[out, optional] PVOID QueryInfo
);
パラメーター
[in, out] BufferSize
バッファー サイズを格納または受信する場所へのポインター (バイト単位)。
[in] ElementSize
QueryInfo が指
[out, optional] QueryInfo
読み込まれたイメージ モジュールに関する情報を受け取る AUX_MODULE_BASIC_INFO または AUX_MODULE_EXTENDED_INFO 構造体の配列へのポインター。 このポインターが NULL
戻り値
AuxKlibQueryModuleInformation
ルーチンは、他
備考
オペレーティング システムの読み込まれたイメージ モジュールに関する情報を取得するには、ドライバーは次の操作を行う必要があります。
-
NULL QueryInfo ポインターを使用して、AuxKlibQueryModuleInformation呼び出します。 AuxKlibQueryModuleInformation が返後、 BufferSize パラメーターが指す場所には、ドライバーが配列に割り当てる必要があるバイト数が含まれます。 -
ExAllocatePoolWithTagなどのメモリ割り当てルーチン
呼び出して、配列のバッファーを割り当てます。 -
AuxKlibQueryModuleInformation をもう一度
呼び出します。 今回は、QueryInfo ポインターに、割り当てられたバッファーのアドレスが含まれている必要があります。 AuxKlibQueryModuleInformation 戻った後、バッファーにはモジュール情報の配列が含まれます。
AuxKlibQueryModuleInformation の呼び出し
ドライバー
例
次のコード例は、前の「解説」セクションに記載されている手順を示しています。
NTSTATUS status;
ULONG modulesSize;
AUX_MODULE_EXTENDED_INFO* modules;
ULONG numberOfModules;
//
// Get the required array size.
//
status = AuxKlibQueryModuleInformation(
&modulesSize,
sizeof(AUX_MODULE_EXTENDED_INFO),
NULL
);
if (!NT_SUCCESS(status) || modulesSize == 0) {
break;
}
//
// Calculate the number of modules.
//
numberOfModules = modulesSize / sizeof(AUX_MODULE_EXTENDED_INFO);
//
// Allocate memory to receive data.
//
modules =
(AUX_MODULE_EXTENDED_INFO*) ExAllocatePoolWithTag(
PagedPool,
modulesSize,
'3LxF'
);
if (modules == NULL) {
status = STATUS_INSUFFICIENT_RESOURCES;
break;
}
RtlZeroMemory(
modules,
modulesSize
);
//
// Obtain the module information.
//
status = AuxKlibQueryModuleInformation(
&modulesSize,
sizeof(AUX_MODULE_EXTENDED_INFO),
modules
);
if (!NT_SUCCESS(status)) {
break;
}
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 以降でサポートされています。 |
ターゲット プラットフォーム の |
万国 |
ヘッダー | aux_klib.h (Aux_klib.h を含む) |
ライブラリ | Aux_Klib.lib |
IRQL | PASSIVE_LEVEL |
関連項目
AuxKlibGetImageExportDirectory の
ExAllocatePoolWithTag の