Struttura DOCUMENTPROPERTYHEADER (winddiui.h)

La struttura DOCUMENTPROPERTYHEADER viene usata come parametro di input per la funzione DrvDocumentPropertySheets di una DLL dell'interfaccia della stampante.

Sintassi

typedef struct _DOCUMENTPROPERTYHEADER {
  WORD     cbSize;
  WORD     Reserved;
  HANDLE   hPrinter;
  LPTSTR   pszPrinterName;
  PDEVMODE pdmIn;
  PDEVMODE pdmOut;
  DWORD    cbOut;
  DWORD    fMode;
} DOCUMENTPROPERTYHEADER, *PDOCUMENTPROPERTYHEADER;

Members

cbSize

Dimensioni, in byte, della struttura DOCUMENTPROPERTYHEADER.

Reserved

Riservato. Deve essere zero.

hPrinter

Handle stampante.

pszPrinterName

Puntatore a una stringa con terminazione NULL che rappresenta il nome della stampante.

pdmIn

Puntatore a una struttura DEVMODEW di input che la funzione DrvDocumentPropertySheets deve copiare nella struttura DEVMODEW interna della DLL dell'interfaccia della stampante (prima della visualizzazione del foglio delle proprietà, se applicabile). Se DM_IN_BUFFER o DM_MODIFY non è impostato in fMode, questo puntatore è NULL.

pdmOut

Puntatore a una struttura DEVMODEW di output in cui la funzione DrvDocumentPropertySheets deve copiare il contenuto interno della DLL dell'interfaccia della stampante (dopo la visualizzazione del foglio delle proprietà, se applicabile). Se DM_OUT_BUFFER o DM_COPY non è impostato in fMode, questo puntatore è NULL.

cbOut

Specifica le dimensioni, in byte, del buffer a cui punta pdmOut . Per ulteriori informazioni, vedere la sezione Osservazioni successiva.

fMode

Uno o più flag di bit elencati nella tabella seguente. I flag sono definiti nei file di intestazione Wingdi.h e Winddiui.h.

Flag Definizione
Nessun set di flag, ovvero fMode è 0. La funzione DrvDocumentPropertySheets deve restituire le dimensioni, in byte, della struttura DEVMODEW, inclusi tutti i membri pubblici e privati, nel membro cbOut .
DM_ADVANCED Se impostato, la funzione DrvDocumentPropertySheets deve creare solo la pagina Del documento avanzato. Se non è impostato, la funzione DrvDocumentPropertySheets deve creare sia le pagine del documento PageSetup che Avanzate. Vedere la descrizione del membro pDlgPage della struttura COMPROPSHEETUI .
DM_IN_BUFFER o DM_MODIFY Il chiamante ha fornito un puntatore della struttura DEVMODEW in pdmIn e la funzione DrvDocumentPropertySheets deve aggiornare la struttura DEVMODEW interna per riflettere il contenuto dell'oggetto DEVMODEW fornito.
DM_IN_PROMPT o DM_PROMPT La funzione DrvDocumentPropertySheets deve creare le pagine del foglio delle proprietà. Questo flag non viene mai impostato se il parametro pPSUIInfo della funzione DrvDocumentPropertySheets è NULL.
DM_NOPERMISSION La DLL dell'interfaccia della stampante _CPSUICALLBACK tipizzata non deve consentire all'utente di modificare le proprietà nelle pagine del foglio delle proprietà visualizzate.
DM_OUT_BUFFER o DM_COPY Il chiamante ha fornito un puntatore della struttura DEVMODEW in pdmOut e la funzione DrvDocumentPropertySheets deve copiare il contenuto della struttura DEVMODEW interna nell'oggetto DEVMODEW fornito.
DM_PROMPT_NON_MODAL La funzione DrvDocumentPropertySheets deve creare le pagine del foglio delle proprietà e avviare un'interfaccia utente non modale. Questo flag non viene mai impostato se il parametro pPSUIInfo della funzione DrvDocumentPropertySheets è NULL.
DM_USER_DEFAULT Non usato.
DM_OUT_DEFAULT o DM_UPDATE Non usato.

Commenti

Il valore di input nel membro cbOut non è necessariamente uguale alla dimensione del buffer a cui punta il membro pdmOut . Ad esempio, quando il parametro pPSUInfo della funzione DrvDocumentPropertySheets è NULL e se il membro fMode della struttura DOCUMENTPROPERTYHEADER è zero o il membro pdmOut della stessa struttura è NULL, un driver deve scrivere le dimensioni totali della struttura DEVMODEW della stampante (inclusi i membri della struttura pubblica e privata) nel membro cbOut . In tal caso, un driver deve trattare il membro cbOut come membro di sola scrittura. Pertanto, il driver non deve usare il membro cbOut come dimensione del buffer a cui punta il membro pdmOut se la funzione DrvDocumentPropertySheets è stata chiamata. L'esempio "plotter" fornito con Windows Driver Kit (WDK) illustra come usare correttamente il membro cbOut .

Requisiti

Requisito Valore
Intestazione winddiui.h (include Winddiui.h)

Vedi anche

COMPROPSHEETUI

DEVMODEW

DrvDocumentPropertySheets

Esempio di driver plotter MSPLOT