<Return[E]><Top>

EnumDeviceDrivers

Declare Function Api_EnumDeviceDrivers& Lib "psapi" Alias "EnumDeviceDrivers" (lpImageBase As Any, ByVal cb&, ByRef lpcbNeeded&)

Declare Function EnumDeviceDrivers Lib "psapi" Alias "EnumDeviceDrivers" (lpImageBase As Any, ByVal cb As Long, ByRef lpcbNeeded As Long) As Long

システム内の各デバイスの、ロードアドレスを取得する。

パラメータ
lpImageBase
    デバイスドライバのロードアドレスからなるリストを受け取る配列へのポインタを指定する。
cb
    lpImageBase 配列のサイズを、バイト単位で指定する。0 を指定すると、lpcbNeeded パラメータはロードアドレスを格納するために必要な配

    列のバイト数を受け取る。
lpcbNeeded
    lpImageBase 配列内に返されたバイト数を受け取る。

戻り値
    関数が成功すると、0 以外の値が返る。
    関数が失敗すると、0 が返る。拡張エラー情報を取得するには、 関数を使う。

解説
    EnumDeviceDrivers 関数に、複数の LPVOID 値からなる大規模な配列を提供するのはとてもいい方法である。EnumDeviceDrivers 関

    数を呼び出すときに、何個のデバイスドライバが存在しているのか予測するのは困難だからである。EnumDeviceDrivers 関数を呼び出した

    結果、列挙されたデバイスドライバの数を決定するには、lpcbNeeded パラメータ内に書き込まれた値を sizeof(LPVOID)で割り算する。