Bagikan melalui


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

COMPROPSHEETUI

DEVMODEW

DrvDocumentPropertySheets

Sampel Driver MSPLOT Plotter