Freigeben über


PTConvertDevModeToPrintTicket-Funktion (prntvpt.h)

Konvertiert eine DEVMODE-Struktur in ein Druckticket in einem IStream.

Syntax

HRESULT PTConvertDevModeToPrintTicket(
  [in] HPTPROVIDER       hProvider,
       ULONG             cbDevmode,
  [in] PDEVMODE          pDevmode,
  [in] EPrintTicketScope scope,
       IStream           *pPrintTicket
);

Parameter

[in] hProvider

Ein Handle für einen offenen Druckticketanbieter. Dieses Handle wird vom PTOpenProvider oder der PTOpenProviderEx-Funktion zurückgegeben.

cbDevmode

Die Größe des DEVMODE in Bytes.

[in] pDevmode

Ein Zeiger auf den DEVMODE.

[in] scope

Ein Wert, der den Bereich von pPrintTicket angibt. Dieser Wert kann eine einzelne Seite, ein gesamtes Dokument oder alle Dokumente im Druckauftrag angeben. Einstellungen in pDevmode , die sich außerhalb des angegebenen Bereichs befinden, sind nicht in pPrintTicket enthalten. Siehe Hinweise.

pPrintTicket

Ein Zeiger auf einen IStream mit seiner Suchposition am Anfang des Drucktickets.

Rückgabewert

Wenn der Vorgang erfolgreich ist, wird der Rückgabewert S_OK, andernfalls enthält das HRESULT einen Fehlercode.

Wenn hProvider in einem anderen Thread geöffnet wurde, wird das HRESULT E_INVALIDARG.

Weitere Informationen zu COM-Fehlercodes finden Sie unter Fehlerbehandlung.

Hinweise

Hinweis Dies ist eine blockierende oder synchrone Funktion und wird möglicherweise nicht sofort zurückgegeben. Wie schnell diese Funktion zurückgibt, hängt von Laufzeitfaktoren wie Netzwerk-status, Druckserverkonfiguration und Druckertreiberimplementierung ab – Faktoren, die beim Schreiben einer Anwendung schwer vorherzusagen sind. Wenn Sie diese Funktion über einen Thread aufrufen, der die Interaktion mit der Benutzeroberfläche verwaltet, kann die Anwendung nicht reagieren.
 
hProvider muss ein Handle sein, das im selben Thread wie der Thread geöffnet wurde, in dem es für diese Funktion verwendet wird.

Wenn der pDevmode auf einen anderen Drucker verweist, gehen die Einstellungen möglicherweise verloren und werden durch die Standardwerte ersetzt.

Einstellungen in pDevmode , die sich außerhalb des Bereichs befinden, sind nicht in pPrintTicket enthalten. Wenn der Bereich beispielsweise eine einzelne Seite ist, sind auftragsweite Einstellungen und dokumentweite Einstellungen nicht enthalten. Ein Auftragsbereich umfasst Dokument- und Seitenbereich. Ein Dokumentbereich umfasst Seitenbereich.

PTConvertDevModeToPrintTicket schreibt das Druckticket ab dem aktuellen Suchpunkt des Streams in den IStream , auf den pPrintTicket verweist. Nachdem PTConvertDevModeToPrintTicket zurückgegeben wurde, muss der Aufrufer den Suchpunkt auf den anfänglichen Suchpunkt zurücksetzen, um das von der Funktion zurückgegebene Druckticket zu lesen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile prntvpt.h
Bibliothek Prntvpt.lib
DLL Prntvpt.dll

Weitere Informationen

Druckschema

Druckspooler-API-Funktionen

Drucken