Partager via


SHInvokePrinterCommandA, fonction (shellapi.h)

Exécute une commande sur un objet imprimante.

Remarque Cette fonction a été déconseillée à partir de Windows Vista. Il est recommandé d’appeler des verbes sur des imprimantes via IContextMenu ou ShellExecute.
 

Syntaxe

BOOL SHInvokePrinterCommandA(
  [in, optional] HWND   hwnd,
                 UINT   uAction,
  [in]           LPCSTR lpBuf1,
  [in, optional] LPCSTR lpBuf2,
                 BOOL   fModal
);

Paramètres

[in, optional] hwnd

Type : HWND

Handle de la fenêtre parente de toutes les fenêtres ou boîtes de dialogue créées pendant l’opération.

uAction

Type : uiNT

Type d’opération d’imprimante à effectuer. Une des valeurs suivantes :

PRINTACTION_OPEN (0)

0x0. Ouvrez l’imprimante spécifiée par lpBuf1. Le paramètre lpBuf2 est ignoré.

PRINTACTION_PROPERTIES (1)

0x1. Affichez les pages de propriétés de l’imprimante spécifiée par lpBuf1. Le paramètre lpBuf2 peut être NULL ou nommer une feuille de propriétés spécifique à afficher, par nom ou par numéro. Si l' WORD haute de lpBuf2 n’est pas zéro, il est supposé que ce paramètre est un pointeur vers une mémoire tampon qui contient le nom de la feuille à ouvrir. Sinon, lpBuf2 est considéré comme l’index de base zéro de la feuille de propriétés à ouvrir.

PRINTACTION_NETINSTALL (2)

0x2. Installez l’imprimante réseau spécifiée par lpBuf1. Le paramètre lpBuf2 est ignoré.

0x3. Créez un raccourci vers l’imprimante réseau spécifiée par lpBuf1. Le paramètre lpBuf2 spécifie le lecteur et le chemin du dossier dans lequel créer le raccourci. L’imprimante réseau doit déjà avoir été installée sur l’ordinateur local.

PRINTACTION_TESTPAGE (4)

0x4. Imprimez une page de test sur l’imprimante spécifiée par lpBuf1. Le paramètre lpBuf2 est ignoré.

PRINTACTION_OPENNETPRN (5)

0x5. Ouvrez l’imprimante réseau spécifiée par lpBuf1. Le paramètre lpBuf2 est ignoré.

PRINTACTION_DOCUMENTDEFAULTS (6)

0x6. Affichez les propriétés de document par défaut de l’imprimante spécifiée par lpBuf1. Le paramètre lpBuf2 est ignoré.

PRINTACTION_SERVERPROPERTIES (7)

0x7. Affichez les propriétés du serveur d’imprimante spécifié par lpBuf1. Le paramètre lpBuf2 est ignoré.

[in] lpBuf1

Type : LPCTSTR

Pointeur vers une chaîne terminée par null qui contient des informations supplémentaires pour la commande d’imprimante. Les informations contenues dans ce paramètre dépendent de la valeur de uAction.

[in, optional] lpBuf2

Type : LPCTSTR

Pointeur vers une chaîne terminée par null qui contient des informations supplémentaires pour la commande d’imprimante. Les informations contenues dans ce paramètre dépendent de la valeur de uAction.

fModal

Type : BOOL

TRUE pour spécifier que SHInvokePrinterCommand ne doit pas retourner tant que la commande n’est pas terminée ; FALSE si la fonction doit retourner dès que la commande est initialisée.

Valeur de retour

Type : BOOL

Retourne TRUE en cas de réussite ; sinon, FALSE.

Remarques

Lorsqu’un nom d’imprimante est spécifié par lpBuf1, le nom peut être le nom d’une imprimante locale ou le serveur et partager le nom d’une imprimante réseau. Lors de la spécification d’un nom d’imprimante réseau, le nom doit être spécifié dans ce format :

"\\<server><shared printer name>"

Cette fonction est implémentée dans Shell versions 4.71 et ultérieures. Pour maintenir la compatibilité descendante avec les versions antérieures de Shell, cette fonction ne doit pas être utilisée explicitement. Au lieu de cela, les fonctions LoadLibrary et GetProcAddress doivent être utilisées pour obtenir l’adresse de la fonction.

Note

L’en-tête shellapi.h définit SHInvokePrinterCommand comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel, Windows XP [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
d’en-tête shellapi.h
bibliothèque Shell32.lib
DLL Shell32.dll (version 4.71 ou ultérieure)