Freigeben über


PTGetPrintCapabilities-Funktion (prntvpt.h)

Ruft die Funktionen des Druckers ab, die gemäß dem XML-Druckschema formatiert sind.

Syntax

HRESULT PTGetPrintCapabilities(
  [in]  HPTPROVIDER hProvider,
  [in]  IStream     *pPrintTicket,
        IStream     *pCapabilities,
  [out] BSTR        *pbstrErrorMessage
);

Parameter

[in] hProvider

Ein Handle für einen offenen Anbieter, dessen Druckfunktionen abgerufen werden sollen. Dieses Handle wird vom PTOpenProvider oder der PTOpenProviderEx-Funktion zurückgegeben.

[in] pPrintTicket

Ein Zeiger auf einen Stream mit seiner Suchposition am Anfang des Druckticketinhalts. Dieser Parameter kann NULL sein.

pCapabilities

Ein Zeiger auf den Stream, in dem die Druckfunktionen geschrieben werden, beginnend mit der aktuellen Suchposition.

[out] pbstrErrorMessage

Ein Zeiger auf eine Zeichenfolge, die angibt, was, falls überhaupt, für pPrintTicket ungültig ist. Wenn er gültig ist, ist dieser Wert NULL.

Rückgabewert

Wenn der Vorgang erfolgreich ist, wird der Rückgabewert S_OK.

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

Wenn das pPrintTicket nicht mit dem Druckschema kompatibel ist, wird das HRESULT E_PRINTTICKET_FORMAT.

Wenn die pCapabilities nicht mit dem Druckschema kompatibel sind, wird das HRESULT E_PRINTCAPABILITIES_FORMAT.

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

Andernfalls wird ein anderer Fehlercode im HRESULT zurückgegeben. 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.

Der Druckertreiber verwendet pPrintTicket-Werte (wenn der Wert nicht NULL ist), um Einstellungen zu erstellen, wenn der Treiber Druckerfunktionen erzeugt, die je nach aktuellen Einstellungen variieren.

Wenn die Funktion zurückgibt, befindet sich die Suchposition von pPrintTicket am Ende des Druckticketinhalts, und die Suchposition von pCapabilities befindet sich am Ende des Datenstroms. Wenn der Aufrufer einen Speicherstream für pCapabilities verwendet, z. B. einen von CreateStreamOnHGlobal erstellten Stream, ist der Aufrufer dafür verantwortlich, die Suchposition vor dem Lesen der Daten zurückzusetzen.

Wenn pbstrErrorMessage nicht NULL ist, wenn die Funktion zurückgibt, muss der Aufrufer die Zeichenfolge mit SysFreeString freigeben.

Anforderungen

Anforderung Wert
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