IPrint::P rint-Methode (docobj.h)

Druckt ein Objekt auf dem angegebenen Drucker unter Verwendung der angegebenen Auftragsanforderungen.

Syntax

HRESULT Print(
  [in]      DWORD             grfFlags,
  [in, out] DVTARGETDEVICE    **pptd,
  [in, out] PAGESET           **ppPageSet,
  [in, out] STGMEDIUM         *pstgmOptions,
  [in]      IContinueCallback *pcallback,
  [in]      LONG              nFirstPage,
  [out]     LONG              *pcPagesPrinted,
  [out]     LONG              *pnLastPage
);

Parameter

[in] grfFlags

Ein Bitfeld, das Druckoptionen aus der PRINTFLAG-Enumeration angibt.

PRINTFLAG_MAYBOTHERUSER (1)

PRINTFLAG_PROMPTUSER (2)

PRINTFLAG_USERMAYCHANGEPRINTER (4)

PRINTFLAG_RECOMPOSETODEVICE (8)

PRINTFLAG_DONTACTUALLYPRINT (16)

PRINTFLAG_FORCEPROPERTIES (32)

PRINTFLAG_PRINTTOFILE (64)

[in, out] pptd

Ein Zeiger auf eine DVTARGETDEVICE-Struktur , die das Zieldruckgerät beschreibt.

[in, out] ppPageSet

Ein Zeiger auf eine PAGESET-Zeigervariable, die einen Zeiger auf die Struktur empfängt, der angibt, welche Seiten gedruckt werden sollen.

[in, out] pstgmOptions

Ein Zeiger auf objektspezifische Druckoptionen in einem serialisierten OLE-Eigenschaftensatz. Dieser Parameter kann bei der Eingabe oder Rückgabe NULL sein.

[in] pcallback

Ein Zeiger auf die IContinueCallback-Schnittstelle auf der Ansichtswebsite, die in regelmäßigen Abständen mit Der Reaktionsgeschwindigkeit von Menschen abgefragt werden soll, um zu bestimmen, ob das Drucken abgebrochen werden soll. Dieser Parameter kann NULL sein.

[in] nFirstPage

Die Seitenzahl der ersten seite, die gedruckt werden soll. Dieser Wert überschreibt jeden Wert, der zuvor an IPrint::SetInitialPageNum übergeben wurde.

[out] pcPagesPrinted

Ein Zeiger auf eine Variable, die die tatsächliche Anzahl von Seiten empfängt, die erfolgreich gedruckt wurden.

[out] pnLastPage

Ein Zeiger auf eine Variable, die die Seitenzahl der letzten gedruckten Seite empfängt.

Rückgabewert

Diese Methode kann den Standardrückgabewert E_UNEXPECTED sowie die folgenden Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Die Methode wurde erfolgreich abgeschlossen.
PRINT_E_CANCELED
Der Druckvorgang wurde vor Abschluss abgebrochen. *pcPagesPrinted gibt die Anzahl der Seiten an, die tatsächlich erfolgreich gedruckt wurden, bevor dieser Fehler aufgetreten ist.
PRINT_E_NOSUCHPAGE
Eine in **ppPageSet oder nFirstPage angegebene Seite ist nicht vorhanden.

Hinweise

Der Drucker, auf dem das Objekt gedruckt werden soll, wird durch die DVTARGETDEVICE-Struktur angegeben, auf die mit pptd verwiesen wird. Die DEVMODE-Struktur im Zielgerät gibt druckerspezifische Optionen für ganzauftragsspezifische Optionen an, z. B. Anzahl der Kopien, Papierformat und Druckqualität. Die DEVMODE-Struktur kann auch Orientierungsinformationen im dmOrientation-Member enthalten (dies wird im dmFields-Element angegeben). Falls vorhanden, sollte diese Papierausrichtung verwendet werden. wenn sie nicht vorhanden ist, ist die natürliche Ausrichtung zu verwenden, die durch den Objektinhalt bestimmt wird.

Aufgrund der Möglichkeit der Benutzereingabe sind die Parameter pptd und ppPageSet beide Strukturen [in,out]. Ohne Benutzerinteraktion (d. h. wenn das PRINTFLAG_PROMPTUSER-Flag nicht festgelegt ist), sind sowohl das Zielgerät als auch der Seitensatz für Eingabe und Ausgabe notwendigerweise identisch. Wenn der Benutzer jedoch zur Eingabe von Druckoptionen aufgefordert wird, gibt das Objekt Zielgerät- und Seitensatzinformationen zurück, die dem tatsächlich ausgewählten Benutzer entsprechen.

Der pstgmOptions-Parameter ist auch [in,out]. Beim Beenden sollte das Objekt alle objektspezifischen Informationen in *pstgmOptions schreiben, die es zum Reproduzieren dieses genauen Druckauftrags benötigen würde. Beispiele können sein, ob der Benutzer "Blatt, Notizen oder beides" in einer Tabellenkalkulationsanwendung ausgewählt hat. Die übergebenen Daten haben das Format eines serialisierten Eigenschaftensatzes. Die Daten sind normalerweise nur nützlich, wenn sie in einem nachfolgenden Aufruf desselben Objekts zurückgegeben werden. Da bei einem nachfolgenden Aufruf möglicherweise unterschiedliche Benutzerinteraktionsflags, Zielgerät oder andere Einstellungen angegeben werden, kann der Aufrufer dazu führen, dass das Dokument mehrmals auf die gleiche Weise in leicht unterschiedlichen Druckkontexten gedruckt wird.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile docobj.h

Weitere Informationen

Iprint