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) |