Fungsi DeviceCapabilitiesA (wingdi.h)
Fungsi DeviceCapabilities mengambil kemampuan driver printer.
Sintaks
int DeviceCapabilitiesA(
[in] LPCSTR pDevice,
[in] LPCSTR pPort,
[in] WORD fwCapability,
[out] LPSTR pOutput,
[in] const DEVMODEA *pDevMode
);
Parameter
[in] pDevice
Penunjuk ke string yang dihentikan null yang berisi nama printer. Perhatikan bahwa ini adalah nama pencetak, bukan dari pengandar pencetak.
[in] pPort
Penunjuk ke string yang dihentikan null yang berisi nama port tempat perangkat tersambung, seperti LPT1.
[in] fwCapability
Kemampuan yang akan dikueri. Parameter ini bisa menjadi salah satu nilai berikut.
Nilai | Makna |
---|---|
|
Mengambil nama tempat sampah kertas pencetak. Buffer pOutput menerima array buffer string. Setiap buffer string memiliki panjang 24 karakter dan berisi nama tempat sampah kertas. Nilai yang dikembalikan menunjukkan jumlah entri dalam array. String nama dihentikan null kecuali namanya panjangnya 24 karakter. Jika pOutput adalah NULL, nilai yang dikembalikan adalah jumlah entri bin yang diperlukan. |
|
Mengambil daftar tempat sampah kertas yang tersedia. Buffer pOutput menerima array nilai WORD yang menunjukkan sumber kertas yang tersedia untuk printer. Nilai yang dikembalikan menunjukkan jumlah entri dalam array. Untuk daftar nilai array yang mungkin, lihat deskripsi anggota dmDefaultSource dari struktur DEVMODE . Jika pOutput adalah NULL, nilai yang dikembalikan menunjukkan jumlah entri yang diperlukan dalam array. |
|
Jika printer mendukung kolaterasi, nilai yang dikembalikan adalah 1; jika tidak, nilai yang dikembalikan adalah nol. Parameter pOutput tidak digunakan. |
|
Jika printer mendukung pencetakan warna, nilai yang dikembalikan adalah 1; jika tidak, nilai yang dikembalikan adalah nol. Parameter pOutput tidak digunakan. |
|
Mengembalikan jumlah salinan yang dapat dicetak perangkat. |
|
Mengembalikan nomor versi pengandar pencetak. |
|
Jika printer mendukung pencetakan dupleks, nilai yang dikembalikan adalah 1; jika tidak, nilai yang dikembalikan adalah nol. Parameter pOutput tidak digunakan. |
|
Mengambil daftar resolusi yang didukung oleh printer. Buffer pOutput menerima array nilai LONG . Untuk setiap resolusi yang didukung, array berisi sepasang nilai LONG yang menentukan dimensi resolusi x dan y, dalam titik per inci. Nilai yang dikembalikan menunjukkan jumlah resolusi yang didukung. Jika pOutput adalah NULL, nilai yang dikembalikan menunjukkan jumlah resolusi yang didukung. |
|
Mengembalikan jumlah byte yang diperlukan untuk bagian khusus perangkat dari struktur DEVMODE untuk driver printer. |
|
Mengembalikan anggota dmFields dari struktur DEVMODE driver printer. Anggota dmFields menunjukkan anggota mana dalam bagian struktur yang independen perangkat didukung oleh driver printer. |
|
Mengambil nama file tambahan apa pun yang perlu dimuat ketika driver diinstal. Buffer pOutput menerima array buffer string. Setiap buffer string memiliki panjang 64 karakter dan berisi nama file. Nilai yang dikembalikan menunjukkan jumlah entri dalam array. String nama dihentikan null kecuali namanya panjangnya 64 karakter. Jika pOutputadalah NULL, nilai yang dikembalikan adalah jumlah file. |
|
Mengembalikan ukuran kertas maksimum yang dapat ditentukan oleh anggota dmPaperLength dan dmPaperWidth dari struktur DEVMODE driver printer. LOWORD dari nilai yang dikembalikan berisi nilai dmPaperWidth maksimum, dan HIWORD berisi nilai dmPaperLength maksimum. |
|
Mengambil nama formulir kertas yang saat ini tersedia untuk digunakan. Buffer pOutput menerima array buffer string. Setiap buffer string memiliki panjang 64 karakter dan berisi nama formulir kertas. Nilai yang dikembalikan menunjukkan jumlah entri dalam array. String nama dihentikan null kecuali namanya panjangnya 64 karakter. Jika pOutputadalah NULL, nilai yang dikembalikan adalah jumlah formulir kertas. |
|
Mengambil nama jenis media yang didukung. Buffer pOutput menerima array buffer string. Setiap buffer string memiliki panjang 64 karakter dan berisi nama jenis media yang didukung. Nilai yang dikembalikan menunjukkan jumlah entri dalam array. String dihentikan null kecuali namanya panjangnya 64 karakter. Jika pOutput adalah NULL, nilai yang dikembalikan adalah jumlah nama jenis media yang diperlukan. |
|
Mengambil daftar jenis media yang didukung. Buffer pOutput menerima array nilai DWORD yang menunjukkan jenis media yang didukung. Nilai yang dikembalikan menunjukkan jumlah entri dalam array. Untuk daftar kemungkinan nilai array, lihat deskripsi anggota dmMediaType dari struktur DEVMODE . Jika pOutput adalah NULL, nilai yang dikembalikan menunjukkan jumlah entri yang diperlukan dalam array. |
|
Mengembalikan ukuran kertas minimum yang dapat ditentukan oleh anggota dmPaperLength dan dmPaperWidth dari struktur DEVMODE driver printer. LOWORD dari nilai yang dikembalikan berisi nilai dmPaperWidth minimum, dan HIWORD berisi nilai dmPaperLength minimum. |
|
Mengembalikan hubungan antara orientasi potret dan lanskap untuk perangkat, dalam hal jumlah derajat orientasi potret diputar berlawanan arah jaring untuk menghasilkan orientasi lanskap. Nilai pengembalian dapat berupa salah satu dari nilai berikut:
|
|
Mengambil array bilangan bulat yang menunjukkan bahwa kemampuan printer untuk mencetak beberapa halaman dokumen per halaman yang dicetak. Buffer pOutput menerima array nilai DWORD . Setiap nilai mewakili jumlah halaman dokumen yang didukung per halaman yang dicetak. Nilai yang dikembalikan menunjukkan jumlah entri dalam array. Jika pOutput adalah NULL, nilai yang dikembalikan menunjukkan jumlah entri yang diperlukan dalam array. |
|
Mengambil daftar nama kertas yang didukung (misalnya, Letter atau Legal). Buffer pOutput menerima array buffer string. Setiap buffer string memiliki panjang 64 karakter dan berisi nama formulir kertas. Nilai yang dikembalikan menunjukkan jumlah entri dalam array. String nama dihentikan null kecuali namanya 64 karakter. Jika pOutputNULL, nilai yang dikembalikan adalah jumlah formulir kertas. |
|
Mengambil daftar ukuran kertas yang didukung. Buffer pOutput menerima array nilai WORD yang menunjukkan ukuran kertas yang tersedia untuk printer. Nilai yang dikembalikan menunjukkan jumlah entri dalam array. Untuk daftar nilai array yang mungkin, lihat deskripsi anggota dmPaperSize dari struktur DEVMODE . Jika pOutputADALAH NULL, nilai yang dikembalikan menunjukkan jumlah entri yang diperlukan dalam array. |
|
Mengambil dimensi, dalam sepuluh milimeter, dari setiap ukuran kertas yang didukung. Buffer pOutput menerima array struktur POINT . Setiap struktur berisi lebar (x-dimensi) dan panjang (dimensi y) dari ukuran kertas seolah-olah kertas berada dalam orientasi DMORIENT_PORTRAIT . Nilai yang dikembalikan menunjukkan jumlah entri dalam array. |
|
Mengambil daftar bahasa deskripsi printer yang didukung oleh pencetak. Buffer pOutput menerima array buffer string. Setiap buffer memiliki panjang 32 karakter dan berisi nama bahasa deskripsi printer. Nilai yang dikembalikan menunjukkan jumlah entri dalam array. String nama dihentikan null kecuali namanya panjangnya 32 karakter. Jika pOutputNULL, nilai yang dikembalikan menunjukkan jumlah entri array yang diperlukan. |
|
Nilai yang dikembalikan adalah jumlah memori printer yang tersedia, dalam kilobyte. Parameter pOutput tidak digunakan. |
|
Nilai yang dikembalikan menunjukkan laju cetak printer. Nilai yang dikembalikan untuk DC_PRINTRATEUNIT menunjukkan unit nilai DC_PRINTRATE . Parameter pOutput tidak digunakan. |
|
Nilai yang dikembalikan menunjukkan laju cetak printer, dalam halaman per menit. Parameter pOutput tidak digunakan. |
|
Nilai yang dikembalikan adalah salah satu nilai berikut yang menunjukkan unit laju cetak untuk nilai yang dikembalikan untuk bendera DC_PRINTRATE . Parameter pOutput tidak digunakan.
|
|
Mengembalikan anggota dmSize dari struktur DEVMODE driver printer. |
|
Jika printer mendukung stapling, nilai yang dikembalikan adalah nilai bukan nol; jika tidak, nilai yang dikembalikan adalah nol. Parameter pOutput tidak digunakan. |
|
Mengambil kemampuan driver untuk menggunakan font TrueType. Untuk DC_TRUETYPE, parameter pOutput harus NULL. Nilai yang dikembalikan dapat berupa satu atau beberapa hal berikut:
|
|
Mengembalikan versi spesifikasi yang sesuai dengan driver printer. |
[out] pOutput
Penunjuk ke array. Format array tergantung pada pengaturan parameter fwCapability . Lihat setiap kemampuan di atas untuk mengetahui apa yang dikembalikan jika pOutput adalah NULL.
[in] pDevMode
Penunjuk ke struktur DEVMODE . Jika parameter ini NULL, DeviceCapabilities mengambil nilai inisialisasi default saat ini untuk driver printer yang ditentukan. Jika tidak, fungsi mengambil nilai yang terkandung dalam struktur tempat pDevMode menunjuk.
Mengembalikan nilai
Jika fungsi berhasil, nilai pengembalian tergantung pada pengaturan parameter fwCapability . Nilai pengembalian nol umumnya menunjukkan bahwa, sementara fungsi berhasil diselesaikan, ada beberapa jenis kegagalan, seperti kemampuan yang tidak didukung. Untuk detail selengkapnya, lihat deskripsi untuk nilai fwCapability .
Jika fungsi mengembalikan -1, ini mungkin berarti bahwa kemampuan tidak didukung atau ada kegagalan fungsi umum.
Keterangan
Jika driver printer mendukung kemampuan perangkat kustom, driver harus memanggil fungsi SetPrinterData untuk setiap kemampuan kustom. Fungsi SetPrinterData menambahkan data printer yang sesuai ke sistem cetak, yang memungkinkan aplikasi 32-bit mengakses kemampuan kustom pada penginstalan Windows 64-bit.
Untuk setiap kemampuan kustom, Anda harus terlebih dahulu menambahkan data printer yang menjelaskan jenis kemampuan. Untuk melakukan ini, saat Anda memanggil SetPrinterData, atur string pValueName ke CustomDeviceCapabilityType_Xxx, di mana "Xxx" adalah representasi heksadesimal dari kemampuan. Misalnya, Anda mungkin memiliki "CustomDeviceCapabilityType_1234". Data registri yang Anda tetapkan harus berjenis REG_DWORD , dan Anda harus mengatur nilainya ke salah satu hal berikut ini:
- 0, jika kemampuan kustom adalah DWORD
- 1, jika kemampuan kustom adalah buffer byte
- 2, jika kemampuan kustom adalah array item
Catatan
Header wingdi.h mendefinisikan DeviceCapabilities sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | wingdi.h (sertakan Windows.h) |
Pustaka | WinSpool.lib |
DLL | WinSpool.drv |