Fungsi ExtDeviceMode (winspool.h)

Fungsi ExtDeviceMode disediakan hanya untuk kompatibilitas dengan aplikasi 16-bit. Driver printer tanpa persyaratan ini harus menggunakan fungsi DocumentProperties , yang dijelaskan dalam dokumentasi Microsoft Windows SDK.

Fungsi ExtDeviceMode mengambil atau memodifikasi informasi inisialisasi printer untuk pengandar grafis tertentu, atau menampilkan lembar properti konfigurasi printer yang disediakan driver untuk printer yang ditentukan.

Sintaks

LONG ExtDeviceMode(
  [in, optional] HWND       hWnd,
  [in, optional] HANDLE     hInst,
  [in, out]      LPDEVMODEA pDevModeOutput,
  [in, optional] LPSTR      pDeviceName,
  [in, optional] LPSTR      pPort,
  [in, optional] LPDEVMODEA pDevModeInput,
  [in, optional] LPSTR      pProfile,
                 DWORD      fMode
);

Parameter

[in, optional] hWnd

Tangani ke jendela induk untuk lembar properti konfigurasi printer.

[in, optional] hInst

Tidak digunakan. Tangani ke instans modul driver perangkat.

[in, out] pDevModeOutput

Arahkan ke struktur DEVMODE yang menerima data konfigurasi printer yang disediakan dalam buffer yang ditujukkan oleh parameter pDevModeInput .

[in, optional] pDeviceName

Penunjuk ke string yang dihentikan NULL yang berisi nama perangkat tempat lembar properti konfigurasi printer ditampilkan.

[in, optional] pPort

Penunjuk ke string yang dihentikan NULL yang berisi nama port tempat perangkat tersambung, seperti LPT1.

[in, optional] pDevModeInput

Arahkan ke struktur DEVMODE yang digunakan sistem operasi untuk menginisialisasi bidang lembar properti.

Parameter ini hanya digunakan jika bendera DM_IN_BUFFER diatur dalam parameter fMode . Jika DM_IN_BUFFER tidak diatur, sistem operasi menggunakan struktur DEVMODE default printer.

[in, optional] pProfile

Tidak digunakan. Penunjuk ke string yang dihentikan NULL yang berisi nama file inisialisasi tempat informasi inisialisasi direkam dan dibaca.

fMode

Menentukan operasi yang dilakukan fungsi. Jika parameter ini nol, fungsi ExtDeviceMode mengembalikan jumlah byte yang diperlukan oleh struktur DEVMODE driver printer. Jika tidak, parameter ini dapat diatur ke satu atau beberapa nilai bendera berikut.

Bendera Deskripsi
DM_COPY Tulis pengaturan driver saat ini ke struktur DEVMODE yang diacu oleh parameter pDevModeOutput . Aplikasi panggilan harus mengalokasikan buffer yang cukup besar untuk berisi informasi. Jika bendera ini tidak diatur, pDevModeOutput bisa null.
DM_IN_BUFFER Gabungkan pengaturan cetak pengandar pencetak saat ini dengan pengaturan dalam struktur DEVMODE yang diacu oleh parameter pDevModeInput . Ini terjadi sebelum meminta, menyalin, atau memperbarui. Fungsi ini memperbarui struktur hanya untuk anggota yang ditentukan oleh anggota dmFields struktur DEVMODE. Dalam kasus konflik selama penggabungan, pengaturan dalam struktur DEVMODE yang diacu oleh pDevModeInput mengambil alih pengaturan cetak driver printer saat ini.
DM_UPDATE Tampilkan lembar properti untuk memungkinkan pengguna mengubah properti printer, lalu tulis pengaturan "per pengguna" driver saat ini ke sarang pengguna di registri.

Nilai kembali

Jika parameter wMode adalah nol, fungsi mengembalikan ukuran, dalam byte, dari struktur DEVMODE yang diperlukan untuk berisi data inisialisasi driver printer. Perhatikan bahwa nilai ini bisa lebih besar dari ukuran struktur DEVMODE jika driver printer menambahkan data pribadi ke struktur. Jika fungsi menampilkan kotak dialog inisialisasi, nilai yang dikembalikan adalah IDOK atau IDCANCEL, bergantung pada tombol mana yang dipilih pengguna. Jika fungsi tidak menampilkan kotak dialog dan berhasil, nilai yang dikembalikan adalah IDOK. Nilai yang dikembalikan kurang dari nol jika fungsi gagal.

Keterangan

Fungsi ExtDeviceMode memanggil fungsi DocumentProperties (dijelaskan dalam dokumentasi Windows SDK) untuk menampilkan lembar properti yang memungkinkan pengguna memilih opsi printer seperti ukuran kertas, orientasi kertas, dan kualitas output. Pengandar pencetak yang ditulis untuk Windows 3.x dan Windows 9x menggunakan fungsi ini.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header winspool.h (termasuk Winspool.h)
Pustaka Winspool.lib
DLL WinSpool.drv