Condividi tramite


Funzione PTGetPrintCapabilities (prntvpt.h)

Recupera le funzionalità della stampante formattate in conformità allo schema di stampa XML.

Sintassi

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

Parametri

[in] hProvider

Handle di un provider aperto le cui funzionalità di stampa devono essere recuperate. Questo handle viene restituito dalla funzione PTOpenProvider o PTOpenProviderEx .

[in] pPrintTicket

Puntatore a un flusso con la relativa posizione di ricerca all'inizio del contenuto del ticket di stampa. Questo parametro può essere NULL.

pCapabilities

Puntatore al flusso in cui verranno scritte le funzionalità di stampa, a partire dalla posizione di ricerca corrente.

[out] pbstrErrorMessage

Puntatore a una stringa che specifica cosa, se qualcosa, non è valido su pPrintTicket. Se è valido, questo valore è NULL.

Valore restituito

Se l'operazione ha esito positivo, il valore restituito viene S_OK.

Se hProvider è stato aperto in un thread diverso, HRESULT viene E_INVALIDARG.

Se pPrintTicket non è conforme allo schema di stampa , hresult è E_PRINTTICKET_FORMAT.

Se la proprietà pCapabilities non è conforme allo schema di stampa , il valore HRESULT viene E_PRINTCAPABILITIES_FORMAT.

Se hProvider è stato aperto in un thread diverso, HRESULT viene E_INVALIDARG.

In caso contrario, viene restituito un altro codice di errore in HRESULT. Per altre informazioni sui codici di errore COM, vedere Gestione degli errori.

Commenti

Nota Si tratta di una funzione di blocco o sincrona e potrebbe non restituire immediatamente. La velocità di restituzione di questa funzione dipende da fattori di runtime, ad esempio lo stato della rete, la configurazione del server di stampa e l'implementazione del driver della stampante, fattori difficili da prevedere durante la scrittura di un'applicazione. Chiamando questa funzione da un thread che gestisce l'interazione con l'interfaccia utente, l'applicazione potrebbe sembrare non rispondente.
 
hProvider deve essere un handle aperto nello stesso thread del thread in cui viene usato per questa funzione.

Il driver della stampante usa i valori pPrintTicket (quando il valore non è NULL) per creare impostazioni quando il driver produce funzionalità della stampante che variano a seconda delle impostazioni correnti.

Quando la funzione viene restituita, la posizione di ricerca di pPrintTicket si trova alla fine del contenuto del ticket di stampa e la posizione di ricerca di pCapabilities si trova alla fine del flusso. Se il chiamante usa un flusso di memoria per pCapabilities, ad esempio un flusso creato da CreateStreamOnHGlobal , il chiamante è responsabile della reimpostazione della posizione di ricerca prima di leggere i dati.

Se pbstrErrorMessage non è NULL quando la funzione viene restituita, il chiamante deve liberare la stringa con SysFreeString.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione prntvpt.h
Libreria Prntvpt.lib
DLL Prntvpt.dll

Vedi anche

Stampa schema

Funzioni dell'API spooler di stampa

Stampa