ExtDeviceMode-Funktion (winspool.h)

Die ExtDeviceMode-Funktion wird nur zur Kompatibilität mit 16-Bit-Anwendungen bereitgestellt. Druckertreiber ohne diese Anforderung sollten stattdessen die DocumentProperties-Funktion verwenden, die in der Microsoft Windows SDK-Dokumentation beschrieben wird.

Die ExtDeviceMode-Funktion ruft Druckerinitialisierungsinformationen für einen bestimmten Grafiktreiber ab oder ändert diese oder zeigt ein vom Treiber bereitgestelltes Eigenschaftenblatt für die Druckerkonfiguration für den angegebenen Drucker an.

Syntax

LONG ExtDeviceMode(
  [in, optional] HWND       hWnd,
  [in, optional] HANDLE     hInst,
  [in, out]      LPDEVMODEA pDevModeOutput,
  [in, optional] LPSTR      pDeviceName,
  [in, optional] LPSTR      pPort,
  [in, optional] LPDEVMODEA pDevModeInput,
  [in, optional] LPSTR      pProfile,
                 DWORD      fMode
);

Parameter

[in, optional] hWnd

Handle zum übergeordneten Fenster für das Eigenschaftenblatt für die Druckerkonfiguration.

[in, optional] hInst

Wird nicht verwendet. Handle mit dem Modul instance des Gerätetreibers.

[in, out] pDevModeOutput

Zeiger auf die DEVMODE-Struktur, die die Druckerkonfigurationsdaten empfängt, die im Puffer bereitgestellt werden, auf den der pDevModeInput-Parameter verweist.

[in, optional] pDeviceName

Zeiger auf eine NULL-endende Zeichenfolge, die den Namen des Geräts enthält, für das das Eigenschaftenblatt für die Druckerkonfiguration angezeigt wird.

[in, optional] pPort

Zeiger auf eine NULL-endende Zeichenfolge, die den Namen des Ports enthält, mit dem das Gerät verbunden ist, z. B. LPT1.

[in, optional] pDevModeInput

Zeiger auf die DEVMODE-Struktur, die das Betriebssystem zum Initialisieren der Eigenschaftenblattfelder verwendet.

Dieser Parameter wird nur verwendet, wenn das flag DM_IN_BUFFER im fMode-Parameter festgelegt ist. Wenn DM_IN_BUFFER nicht festgelegt ist, verwendet das Betriebssystem die DEVMODE-Standardstruktur des Druckers.

[in, optional] pProfile

Wird nicht verwendet. Zeiger auf eine NULL-beendete Zeichenfolge, die den Namen der Initialisierungsdatei enthält, in der Initialisierungsinformationen aufgezeichnet und ausgelesen werden.

fMode

Gibt die Vorgänge an, die die Funktion ausführt. Wenn dieser Parameter null ist, gibt die ExtDeviceMode-Funktion die Anzahl von Bytes zurück, die für die DEVMODE-Struktur des Druckertreibers erforderlich sind. Andernfalls kann dieser Parameter auf einen oder mehrere der folgenden Flagwerte festgelegt werden.

Flag Beschreibung
DM_COPY Schreiben Sie die aktuellen Einstellungen des Treibers in die DEVMODE-Struktur, auf die der Parameter pDevModeOutput verweist. Die aufrufende Anwendung muss einen Puffer zuordnen, der groß genug ist, um die Informationen zu enthalten. Wenn dieses Flag nicht festgelegt ist, kann pDevModeOutputNULL sein.
DM_IN_BUFFER Führen Sie die aktuellen Druckeinstellungen des Druckertreibers mit den Einstellungen in der DEVMODE-Struktur zusammen, auf die der pDevModeInput-Parameter verweist. Dies tritt auf, bevor Sie aufgefordert, kopiert oder aktualisiert werden. Die -Funktion aktualisiert die Struktur nur für die Elemente, die vom dmFields-Element der DEVMODE-Struktur angegeben werden. Bei Konflikten während der Zusammenführung setzen die Einstellungen in der DEVMODE-Struktur, auf die pDevModeInput verweist, die aktuellen Druckeinstellungen des Druckertreibers außer Kraft.
DM_UPDATE Zeigen Sie ein Eigenschaftenblatt an, damit der Benutzer druckereigenschaften ändern kann, und schreiben Sie dann die aktuellen Einstellungen des Treibers "pro Benutzer" in die Struktur des Benutzers in der Registrierung.

Rückgabewert

Wenn der wMode-Parameter null ist, gibt die Funktion die Größe der DEVMODE-Struktur in Bytes zurück, die erforderlich ist, um die Druckertreiberinitialisierungsdaten zu enthalten. Beachten Sie, dass dieser Wert größer als die Größe einer DEVMODE-Struktur sein kann, wenn der Druckertreiber private Daten an die Struktur anhängt. Wenn die Funktion das Initialisierungsdialogfeld anzeigt, lautet der Rückgabewert entweder IDOK oder IDCANCEL, je nachdem, welche Schaltfläche der Benutzer ausgewählt hat. Wenn die Funktion das Dialogfeld nicht anzeigt und erfolgreich war, lautet der Rückgabewert IDOK. Der Rückgabewert ist kleiner als 0 (null), wenn die Funktion fehlschlägt.

Hinweise

Die ExtDeviceMode-Funktion ruft die DocumentProperties-Funktion (in der Windows SDK-Dokumentation beschrieben) auf, um ein Eigenschaftenblatt anzuzeigen, das es einem Benutzer ermöglicht, Druckeroptionen wie Papierformat, Papierausrichtung und Ausgabequalität auszuwählen. Druckertreiber, die für Windows 3.x und Windows 9x geschrieben wurden, verwenden diese Funktion.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile winspool.h (winspool.h einschließen)
Bibliothek Winspool.lib
DLL WinSpool.drv