Share via


PTGetPrintCapabilities, fonction (prntvpt.h)

Récupère les fonctionnalités de l’imprimante mises en forme conformément au schéma d’impression XML.

Syntaxe

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

Paramètres

[in] hProvider

Handle pour un fournisseur ouvert dont les fonctionnalités d’impression doivent être récupérées. Ce handle est retourné par la fonction PTOpenProvider ou PTOpenProviderEx .

[in] pPrintTicket

Pointeur vers un flux avec sa position de recherche au début du contenu du ticket d’impression. Ce paramètre peut être NULL.

pCapabilities

Pointeur vers le flux où les fonctionnalités d’impression seront écrites, en commençant à la position de recherche actuelle.

[out] pbstrErrorMessage

Pointeur vers une chaîne qui spécifie ce qui, le cas échéant, n’est pas valide à propos de pPrintTicket. Si elle est valide, cette valeur est NULL.

Valeur retournée

Si l’opération réussit, la valeur de retour est S_OK.

Si hProvider a été ouvert dans un thread différent, hrESULT est E_INVALIDARG.

Si le pPrintTicket n’est pas conforme au schéma d’impression , hresult est E_PRINTTICKET_FORMAT.

Si les pCapabilities ne sont pas conformes au schéma d’impression , hresult est E_PRINTCAPABILITIES_FORMAT.

Si hProvider a été ouvert dans un thread différent, hrESULT est E_INVALIDARG.

Sinon, un autre code d’erreur est retourné dans le HRESULT. Pour plus d’informations sur les codes d’erreur COM, consultez Gestion des erreurs.

Remarques

Note Il s’agit d’une fonction bloquante ou synchrone qui peut ne pas être retournée immédiatement. La rapidité avec laquelle cette fonction retourne dépend de facteurs d’exécution tels que l’status réseau, la configuration du serveur d’impression et l’implémentation du pilote d’imprimante, facteurs difficiles à prédire lors de l’écriture d’une application. L’appel de cette fonction à partir d’un thread qui gère l’interaction avec l’interface utilisateur peut donner l’impression que l’application ne répond pas.
 
hProvider doit être un handle qui a été ouvert dans le même thread que le thread dans lequel il est utilisé pour cette fonction.

Le pilote d’imprimante utilise des valeurs pPrintTicket (lorsque la valeur n’est pas NULL) pour créer des paramètres lorsque le pilote produit des fonctionnalités d’imprimante qui varient en fonction des paramètres actuels.

Lorsque la fonction retourne, la position de recherche de pPrintTicket se trouve à la fin du contenu du ticket d’impression et la position de recherche de pCapabilities se trouve à la fin du flux. Si l’appelant utilise un flux de mémoire pour pCapabilities, tel qu’un flux créé par CreateStreamOnHGlobal , l’appelant est chargé de réinitialiser la position de recherche avant de lire les données.

Si pbstrErrorMessage n’est pas NULL lorsque la fonction est retournée, l’appelant doit libérer la chaîne avec SysFreeString.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête prntvpt.h
Bibliothèque Prntvpt.lib
DLL Prntvpt.dll

Voir aussi

Imprimer le schéma

Fonctions API du spouleur d’impression

Impression