Fungsi EnumDeviceDrivers (psapi.h)
Mengambil alamat beban untuk setiap driver perangkat dalam sistem.
Sintaks
BOOL EnumDeviceDrivers(
[out] LPVOID *lpImageBase,
[in] DWORD cb,
[out] LPDWORD lpcbNeeded
);
Parameter
[out] lpImageBase
Array yang menerima daftar alamat beban untuk driver perangkat.
[in] cb
Ukuran array lpImageBase , dalam byte. Jika array tidak cukup besar untuk menyimpan alamat beban, parameter lpcbNeeded menerima ukuran array yang diperlukan.
[out] lpcbNeeded
Jumlah byte yang dikembalikan dalam array lpImageBase .
Mengembalikan nilai
Jika fungsi berhasil, nilai yang dikembalikan bukan nol.
Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Keterangan
Untuk menentukan berapa banyak driver perangkat yang dijumlahkan dengan panggilan ke EnumDeviceDrivers, bagi nilai yang dihasilkan dalam parameter lpcbNeeded dengan sizeof(LPVOID)
.
Dimulai dengan Windows 7 dan Windows Server 2008 R2, Psapi.h menetapkan nomor versi untuk fungsi PSAPI. Nomor versi PSAPI memengaruhi nama yang digunakan untuk memanggil fungsi dan pustaka yang harus dimuat program.
Jika PSAPI_VERSION adalah 2 atau lebih besar, fungsi ini didefinisikan sebagai K32EnumDeviceDrivers di Psapi.h dan diekspor di Kernel32.lib dan Kernel32.dll. Jika PSAPI_VERSION adalah 1, fungsi ini didefinisikan sebagai EnumDeviceDrivers di Psapi.h dan diekspor di Psapi.lib dan Psapi.dll sebagai pembungkus yang memanggil K32EnumDeviceDrivers.
Program yang harus berjalan pada versi Windows yang lebih lama serta Windows 7 dan versi yang lebih baru harus selalu memanggil fungsi ini sebagai EnumDeviceDrivers. Untuk memastikan resolusi simbol yang benar, tambahkan Psapi.lib ke makro TARGETLIBS dan kompilasi program dengan –DPSAPI_VERSION=1. Untuk menggunakan penautan dinamis run-time, muat Psapi.dll.
Mulai Windows 11 Versi 24H2, EnumDeviceDrivers akan mengharuskan SeDebugPrivilege untuk mengembalikan nilai ImageBase yang valid. Fungsi akan tetap berhasil jika pemanggil tidak mengaktifkan hak istimewa ini, tetapi array lpImageBase yang dikembalikan akan berisi alamat yang semuanya NULL.
Contoh
Misalnya, lihat Menghitung semua Driver Perangkat dalam Sistem.
Persyaratan
Klien minimum yang didukung | Windows XP [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | psapi.h |
Pustaka | Kernel32.lib pada Windows 7 dan Windows Server 2008 R2; Psapi.lib (jika PSAPI_VERSION=1) pada Windows 7 dan Windows Server 2008 R2; Psapi.lib di Windows Server 2008, Windows Vista, Windows Server 2003 dan Windows XP |
DLL | Kernel32.dll pada Windows 7 dan Windows Server 2008 R2; Psapi.dll (jika PSAPI_VERSION=1) pada Windows 7 dan Windows Server 2008 R2; Psapi.dll pada Windows Server 2008, Windows Vista, Windows Server 2003 dan Windows XP |