Struktur DOCUMENTPROPERTYHEADER (winddiui.h)
Struktur DOCUMENTPROPERTYHEADER digunakan sebagai parameter input ke fungsi DrvDocumentPropertySheets antarmuka printer DLL.
Sintaks
typedef struct _DOCUMENTPROPERTYHEADER {
WORD cbSize;
WORD Reserved;
HANDLE hPrinter;
LPTSTR pszPrinterName;
PDEVMODE pdmIn;
PDEVMODE pdmOut;
DWORD cbOut;
DWORD fMode;
} DOCUMENTPROPERTYHEADER, *PDOCUMENTPROPERTYHEADER;
Anggota
cbSize
Ukuran, dalam byte, dari struktur DOCUMENTPROPERTYHEADER.
Reserved
Dicadangkan. Harus nol.
hPrinter
Handel printer.
pszPrinterName
Penunjuk ke string yang dihentikan NULL yang mewakili nama printer.
pdmIn
Pointer ke struktur DEVMODEW input yang harus disalin oleh fungsi DrvDocumentPropertySheets ke struktur DEVMODEW internal DLL antarmuka printer (sebelum lembar properti ditampilkan, jika berlaku). Jika DM_IN_BUFFER atau DM_MODIFY tidak diatur dalam fMode, pointer ini adalah NULL.
pdmOut
Penunjuk ke struktur DEVMODEW output tempat fungsi DrvDocumentPropertySheets harus menyalin konten DEVMODEW internal DLL antarmuka printer (setelah lembar properti ditampilkan, jika berlaku). Jika DM_OUT_BUFFER atau DM_COPY tidak diatur dalam fMode, pointer ini adalah NULL.
cbOut
Menentukan ukuran, dalam byte, dari buffer tempat pdmOut menunjuk . Untuk informasi selengkapnya, lihat bagian Keterangan berikut ini.
fMode
Satu atau beberapa bendera bit yang tercantum dalam tabel berikut. (Bendera ditentukan dalam file header Wingdi.h dan Winddiui.h.)
Bendera | Definisi |
---|---|
Tidak ada bendera yang diatur (yaitu, fMode adalah 0). | Fungsi DrvDocumentPropertySheets harus mengembalikan ukuran, dalam byte, dari struktur DEVMODEW-nya, termasuk semua anggota publik dan privat, di anggota cbOut . |
DM_ADVANCED | Jika diatur, fungsi DrvDocumentPropertySheets hanya boleh membuat halaman Dokumen tingkat lanjut. Jika tidak diatur, fungsi DrvDocumentPropertySheets harus membuat halaman dokumen PageSetup dan Advanced. (Lihat deskripsi anggota pDlgPage dari struktur COMPROPSHEETUI .) |
DM_IN_BUFFER atau DM_MODIFY | Pemanggil telah menyediakan penunjuk struktur DEVMODEW di pdmIn, dan fungsi DrvDocumentPropertySheets harus memperbarui struktur DEVMODEW internalnya untuk mencerminkan konten DEVMODEW yang disediakan. |
DM_IN_PROMPT atau DM_PROMPT | Fungsi DrvDocumentPropertySheets harus membuat halaman lembar propertinya. (Bendera ini tidak pernah diatur jika parameter pPSUIInfo fungsi DrvDocumentPropertySheets adalah NULL.) |
DM_NOPERMISSION | Panggilan balik _CPSUICALLBACK tipe DLL antarmuka pencetak tidak boleh memperbolehkan pengguna mengubah properti pada halaman lembar properti yang ditampilkan. |
DM_OUT_BUFFER atau DM_COPY | Pemanggil telah menyediakan penunjuk struktur DEVMODEW di pdmOut, dan fungsi DrvDocumentPropertySheets harus menyalin isi struktur DEVMODEW internalnya ke dalam DEVMODEW yang disediakan. |
DM_PROMPT_NON_MODAL | Fungsi DrvDocumentPropertySheets harus membuat halaman lembar propertinya, dan meluncurkan UI non-modal. (Bendera ini tidak pernah diatur jika parameter pPSUIInfo fungsi DrvDocumentPropertySheets adalah NULL.) |
DM_USER_DEFAULT | Tidak digunakan. |
DM_OUT_DEFAULT atau DM_UPDATE | Tidak digunakan. |
Keterangan
Nilai input dalam anggota cbOut belum tentu sama dengan ukuran buffer yang ditujukkan oleh anggota pdmOut . Misalnya, ketika parameter pPSUInfo dari fungsi DrvDocumentPropertySheets adalah NULL, dan jika anggota fMode dari struktur DOCUMENTPROPERTYHEADER adalah nol, atau anggota pdmOut dari struktur yang sama adalah NULL, driver harus menulis ukuran total struktur DEVMODEW printer (termasuk anggota struktur publik dan privat) di anggota cbOut . Dalam kasus seperti itu, driver harus memperlakukan anggota cbOut sebagai anggota "tulis-saja". Dengan demikian, driver Anda tidak boleh menggunakan anggota cbOut sebagai ukuran buffer yang ditunjukkan oleh anggota pdmOut jika fungsi DrvDocumentPropertySheets telah dipanggil. Sampel "plotter" yang dikirim dengan Windows Driver Kit (WDK) menunjukkan cara menggunakan anggota cbOut dengan benar.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | winddiui.h (termasuk Winddiui.h) |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk