Struttura DOCUMENTPROPERTYHEADER (winddiui.h)

La struttura DOCUMENTPROPERTYHEADER viene utilizzata come parametro di input per la funzione DrvDocumentPropertySheets di un'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 che la finestra delle proprietà venga visualizzata, 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 devMODEW interno della DLL dell'interfaccia della stampante (dopo la visualizzazione della finestra 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 flag impostato, ovvero fMode è 0. La funzione DrvDocumentPropertySheets deve restituire le dimensioni, in byte, della relativa struttura DEVMODEW, inclusi tutti i membri pubblici e privati, nel membro cbOut .
DM_ADVANCED Se impostata, la funzione DrvDocumentPropertySheets deve creare solo la pagina Avanzate documento.

Se non è impostata, la funzione DrvDocumentPropertySheets deve creare sia le pagine pageSetup che avanzate del documento.

Vedere la descrizione del membro pDlgPage della struttura COMPROPSHEETUI .

DM_IN_BUFFER o

DM_MODIFY

Il chiamante ha fornito un puntatore alla struttura DEVMODEW in pdmIn e la funzione DrvDocumentPropertySheets deve aggiornare la struttura DEVMODEW interna in modo da riflettere il contenuto dell'oggetto DEVMODEW fornito.
DM_IN_PROMPT o

DM_PROMPT

La funzione DrvDocumentPropertySheets deve creare le pagine della finestra delle proprietà.

Questo flag non viene mai impostato se il parametro pPSUIInfo della funzione DrvDocumentPropertySheets è NULL.

DM_NOPERMISSION Il callback _CPSUICALLBACK tipizzato della DLL dell'interfaccia della stampante non deve consentire all'utente di modificare le proprietà nelle pagine della finestra delle proprietà visualizzate.
DM_OUT_BUFFER o

DM_COPY

Il chiamante ha fornito un puntatore di 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 della finestra 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 oppure 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 considerare 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 è stata chiamata la funzione DrvDocumentPropertySheets. L'esempio "plotter" fornito con Windows Driver Kit (WDK) illustra come usare correttamente il membro cbOut .

Requisiti

   
Intestazione winddiui.h (include Winddiui.h)

Vedi anche

COMPROPSHEETUI

DEVMODEW

DrvDocumentPropertySheets

Esempio di driver plotter MSPLOT