Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die PSCRIPT5_PRIVATE_DEVMODE-Struktur ermöglicht es Pscript5-Plug-Ins, die Größe des privaten Teils der DEVMODEW-Struktur von Pscript5 zu bestimmen.
Syntax
typedef struct _PSCRIPT5_PRIVATE_DEVMODE {
WORD wReserved[57];
WORD wSize;
} PSCRIPT5_PRIVATE_DEVMODE, *PPSCRIPT5_PRIVATE_DEVMODE;
Member
wReserved[57]
Ist für das System reserviert.
wSize
Die Größe des privaten Teils der DEVMODEW-Struktur von Pscript5 in Bytes.
Hinweise
Informationen zu den öffentlichen und privaten Abschnitten der DEVMODEW-Struktur finden Sie unter DEVMODEW.
Printoem.h definiert ein Makro, mit dem Sie die Größe des privaten Teils der DEVMODEW-Struktur von Pscript5 bestimmen können.
#define GET_PSCRIPT5_PRIVATE_DEVMODE_SIZE(pdm)\
( ( (pdm)->dmDriverExtra > (FIELD_OFFSET(PSCRIPT5_PRIVATE_DEVMODE, wSize) + sizeof(WORD)) ) ? \
((PPSCRIPT5_PRIVATE_DEVMODE)((PBYTE)(pdm) + (pdm)-> dmSize)) -> wSize : 0 )
Das pdm-Argument im GET_PSCRIPT5_PRIVATE_DEVMODE_SIZE Makros ist ein Zeiger auf eine DEVMODEW-Struktur . Das Makro bestimmt, ob der Wert des dmDriverExtra-Elements der DEVMODEW-Struktur größer als der Byteoffset des wSize-Elements der PSCRIPT5_PRIVATE_DEVMODE-Struktur ist. Wenn ja, gibt das Makro den Wert des wSize-Elements in der PSCRIPT5_PRIVATE_DEVMODE-Struktur zurück. Wenn dies nicht der Fehler ist, gibt das Makro null zurück.
Gehen Sie wie folgt vor, um die Adresse des privaten Teils der DEVMODEW-Struktur Ihres Plug-Ins sicher zu bestimmen:
Rufen Sie das makro GET_PSCRIPT5_PRIVATE_DEVMODE_SIZE auf, und übergeben Sie dabei die Adresse der DEVMODEW-Struktur im Aufruf.
Stellen Sie sicher, dass (pdm)->dmDriverExtra größer als der vom Makro zurückgegebene Wert ist. (Das Makro gibt den Wert des wSize-Elements der PSCRIPT5_PR****IVATE_DEVMODE-Struktur zurück.)
Bestimmen Sie die Adresse des privaten Teils der DEVMODEW-Struktur Ihres Plug-Ins wie folgt.
pdmPlugin = (PBYTE)(pdm) + (pdm)->dmSize + wSize;
Das obige Beispiel beginnt mit der Adresse der öffentlichen DEVMODEW-Struktur (pdm), fügt die Anzahl der Bytes dieser Struktur (pdm-dmSize>) hinzu und fügt dann die Größe der privaten Pscript5 DEVMODEW-Struktur (wSize) in Byte hinzu. Die privaten DEVMODEW-Daten eines Plug-Ins beginnen an dieser Speicheradresse. Wenn mehrere Plug-Ins miteinander verkettet sind, wird in diesem Beispiel die Adresse der privaten DEVMODEW-Daten des ersten Plug-Ins zurückgegeben.
Die privaten DEVMODEW-Daten des zweiten Plug-Ins folgen den privaten DEVMODEW-Daten des ersten Plug-Ins, die privaten DEVMODEW-Daten des dritten Plug-Ins folgen den privaten DEVMODEW-Daten des zweiten Plug-Ins usw. Ein Plug-In-Entwickler, der die Adresse der privaten DEVMODEW-Daten des n-ten Plug-Ins ermitteln muss, muss die Größe der privaten DEVMODEW-Daten für die ersten n - 1 Plug-Ins kennen.
Stellen Sie sicher, dass der private Teil der DEVMODEW-Struktur Ihres Plug-Ins mit einer gültigen OEM_DMEXTRAHEADER-Struktur beginnt.
Anforderungen
Anforderung | Wert |
---|---|
Header | printoem.h (include Printoem.h) |