Fungsi EnumPorts
Fungsi EnumPorts menghitung port yang tersedia untuk dicetak pada server tertentu.
Sintaks
BOOL EnumPorts(
_In_ LPTSTR pName,
_In_ DWORD Level,
_Out_ LPBYTE pPorts,
_In_ DWORD cbBuf,
_Out_ LPDWORD pcbNeeded,
_Out_ LPDWORD pcReturned
);
Parameter
-
pName [in]
-
Penunjuk ke string yang dihentikan null yang menentukan nama server yang port printernya ingin Anda hitung.
Jika pNameadalah NULL, fungsi menghitung port printer komputer lokal.
-
Level [in]
-
Jenis informasi yang dikembalikan dalam buffer pPorts . Jika Level adalah 1, pPorts menerima array struktur PORT_INFO_1 . Jika Level adalah 2, pPorts menerima array struktur PORT_INFO_2 .
-
pPorts [out]
-
Penunjuk ke buffer yang menerima array struktur PORT_INFO_1 atau PORT_INFO_2 . Setiap struktur berisi data yang menjelaskan port printer yang tersedia. Buffer harus cukup besar untuk menyimpan string yang diacu oleh anggota struktur.
Untuk menentukan ukuran buffer yang diperlukan, panggil EnumPorts dengan cbBuf diatur ke nol. EnumPorts gagal, GetLastError mengembalikan ERROR_INSUFFICIENT_BUFFER, dan parameter pcbNeeded mengembalikan ukuran, dalam byte, dari buffer yang diperlukan untuk menyimpan array struktur dan datanya.
-
cbBuf [in]
-
Ukuran, dalam byte, dari buffer yang diacu oleh pPorts.
-
pcbNeeded [out]
-
Penunjuk ke variabel yang menerima jumlah byte yang disalin ke buffer pPorts . Jika buffer terlalu kecil, fungsi gagal dan variabel menerima jumlah byte yang diperlukan.
-
pcReturned [out]
-
Penunjuk ke variabel yang menerima jumlah struktur PORT_INFO_1 atau PORT_INFO_2 yang dikembalikan dalam buffer pPorts . Ini adalah jumlah porta printer yang tersedia pada server yang ditentukan.
Menampilkan nilai
Jika fungsi berhasil, nilai yang dikembalikan adalah nilai bukan nol.
Jika fungsi gagal, nilai yang dikembalikan adalah nol.
Keterangan
Catatan
Ini adalah fungsi pemblokiran atau sinkron dan mungkin tidak segera dikembalikan. Seberapa cepat fungsi ini kembali tergantung pada faktor run-time seperti status jaringan, konfigurasi server cetak, dan faktor implementasi driver printer yang sulit diprediksi saat menulis aplikasi. Memanggil fungsi ini dari utas yang mengelola interaksi dengan antarmuka pengguna dapat membuat aplikasi tampak tidak responsif.
Fungsi EnumPorts dapat berhasil meskipun server yang ditentukan oleh pName tidak memiliki printer yang ditentukan.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung |
Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung |
Windows 2000 Server [hanya aplikasi desktop] |
Header |
|
Pustaka |
|
DLL |
|
Nama Unicode dan ANSI |
EnumPortsW (Unicode) dan EnumPortsA (ANSI) |