Freigeben über


DOCUMENTPROPERTYHEADER-Struktur (winddiui.h)

Die DOCUMENTPROPERTYHEADER-Struktur wird als Eingabeparameter für die DrvDocumentPropertySheets-Funktion einer Druckerschnittstellen-DLL verwendet.

Syntax

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

Member

cbSize

Größe der DOCUMENTPROPERTYHEADER-Struktur in Byte.

Reserved

Reserviert. Muss Null sein.

hPrinter

Druckerhandle.

pszPrinterName

Zeiger auf eine NULL-beendete Zeichenfolge, die den Namen des Druckers darstellt.

pdmIn

Zeiger auf eine DEVMODEW-Eingabestruktur , die die DrvDocumentPropertySheets-Funktion in die interne DEVMODEW-Struktur der Druckerschnittstellen-DLL kopieren soll (falls zutreffend, bevor das Eigenschaftenblatt angezeigt wird). Wenn DM_IN_BUFFER oder DM_MODIFY in fMode nicht festgelegt ist, ist dieser Zeiger NULL.

pdmOut

Zeiger auf eine DEVMODEW-Ausgabestruktur , in die die DrvDocumentPropertySheets-Funktion die internen DEVMODEW-Inhalte der Druckerschnittstellen-DLL kopieren soll (falls zutreffend, nachdem das Eigenschaftenblatt angezeigt wurde). Wenn DM_OUT_BUFFER oder DM_COPY in fMode nicht festgelegt ist, ist dieser Zeiger NULL.

cbOut

Gibt die Größe des Puffers in Bytes an, auf den pdmOut verweist. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".

fMode

Mindestens eines der in der folgenden Tabelle aufgeführten Bitflags. (Die Flags sind in den Headerdateien Wingdi.h und Winddiui.h definiert.)

Flag Definition
Keine Flags festgelegt (d. a. fMode ist 0). Die DrvDocumentPropertySheets-Funktion sollte die Größe der DEVMODEW-Struktur in Bytes zurückgeben, einschließlich aller öffentlichen und privaten Member im cbOut-Member .
DM_ADVANCED Falls festgelegt, sollte die DrvDocumentPropertySheets-Funktion nur die Dokumentseite "Erweitert" erstellen. Wenn nicht festgelegt, sollte die DrvDocumentPropertySheets-Funktion sowohl die Seiten PageSetup als auch Erweiterte Dokumentseiten erstellen. (Siehe beschreibung des pDlgPage-Elements der COMPROPSHEETUI-Struktur .)
DM_IN_BUFFER oder DM_MODIFY Der Aufrufer hat einen DEVMODEW-Strukturzeiger in pdmIn bereitgestellt, und die DrvDocumentPropertySheets-Funktion sollte ihre interne DEVMODEW-Struktur aktualisieren, um den Inhalt der angegebenen DEVMODEW widerzuspiegeln.
DM_IN_PROMPT oder DM_PROMPT Die DrvDocumentPropertySheets-Funktion sollte ihre Eigenschaftenblattseiten erstellen. (Dieses Flag wird nie festgelegt, wenn der pPSUIInfo-Parameter der Funktion DrvDocumentPropertySheetsNULL ist.)
DM_NOPERMISSION Der _CPSUICALLBACK-typisierte Rückruf der Druckerschnittstellen-DLL sollte es dem Benutzer nicht ermöglichen, Eigenschaften auf den angezeigten Eigenschaftenblattseiten zu ändern.
DM_OUT_BUFFER oder DM_COPY Der Aufrufer hat einen DEVMODEW-Strukturzeiger in pdmOut bereitgestellt, und die DrvDocumentPropertySheets-Funktion sollte den Inhalt der internen DEVMODEW-Struktur in die angegebene DEVMODEW kopieren.
DM_PROMPT_NON_MODAL Die DrvDocumentPropertySheets-Funktion sollte ihre Eigenschaftenblattseiten erstellen und eine nicht modale Benutzeroberfläche starten. (Dieses Flag wird nie festgelegt, wenn der pPSUIInfo-Parameter der Funktion DrvDocumentPropertySheetsNULL ist.)
DM_USER_DEFAULT Wird nicht verwendet.
DM_OUT_DEFAULT oder DM_UPDATE Wird nicht verwendet.

Bemerkungen

Der Eingabewert im cbOut-Element ist nicht notwendigerweise gleich der Größe des Puffers, auf den der pdmOut-Member verweist. Wenn beispielsweise der pPSUInfo-Parameter der DrvDocumentPropertySheets-FunktionNULL ist und entweder das fMode-Element der DOCUMENTPROPERTYHEADER-Struktur null oder das pdmOut-Element derselben Struktur NULL ist, sollte ein Treiber die Gesamtgröße der DEVMODEW-Struktur des Druckers (einschließlich der öffentlichen und privaten Strukturmember) in das cbOut-Element schreiben. In einem solchen Fall sollte ein Treiber den cbOut-Member als "schreibgeschütztes" Element behandeln. Daher sollte Ihr Treiber kein cbOut-Element als Größe des Puffers verwenden, auf den das pdmOut-Element verweist, wenn die DrvDocumentPropertySheets-Funktion aufgerufen wurde. Das "Plotter"-Beispiel, das im Lieferumfang des Windows Driver Kit (WDK) enthalten ist, veranschaulicht die korrekte Verwendung des cbOut-Members .

Anforderungen

Anforderung Wert
Header winddiui.h (einschließlich Winddiui.h)

Weitere Informationen

COMPROPSHEETUI

DEVMODEW

DrvDocumentPropertySheets

MSPLOT-Plottertreiberbeispiel