EnumPorts fonction)

La fonction EnumPorts énumère les ports qui sont disponibles pour l’impression sur un serveur spécifié.

Syntaxe

BOOL EnumPorts(
  _In_  LPTSTR  pName,
  _In_  DWORD   Level,
  _Out_ LPBYTE  pPorts,
  _In_  DWORD   cbBuf,
  _Out_ LPDWORD pcbNeeded,
  _Out_ LPDWORD pcReturned
);

Paramètres

pname [ dans]

Pointeur vers une chaîne se terminant par un caractère null qui spécifie le nom du serveur dont vous souhaitez énumérer les ports d’imprimante.

Si pname a la valeur null, la fonction énumère les ports d’imprimante de l’ordinateur local.

De niveau [ dans]

Type d’informations retournées dans la mémoire tampon pPorts . Si le niveau est 1, pPorts reçoit un tableau de structures d' informations de port _ _ 1 . Si le niveau est 2, pPorts reçoit un tableau de structures d' informations de port _ _ 2 .

pPorts [ à]

Pointeur vers une mémoire tampon qui reçoit un tableau de structures d' informations de port _ _ 1 ou d' informations de port _ _ 2 . Chaque structure contient des données qui décrivent un port d’imprimante disponible. La mémoire tampon doit être suffisamment grande pour stocker les chaînes pointées par les membres de la structure.

Pour déterminer la taille de mémoire tampon requise, appelez EnumPorts avec cbBuf défini à zéro. EnumPorts échoue, GETLASTERROR retourne une _ erreur _ de mémoire tampon insuffisante et le paramètre pcbNeeded retourne la taille, en octets, de la mémoire tampon nécessaire pour contenir le tableau de structures et leurs données.

cbBuf [ dans]

Taille, en octets, de la mémoire tampon vers laquelle pointe pPorts.

pcbNeeded [ à]

Pointeur vers une variable qui reçoit le nombre d’octets copiés dans la mémoire tampon pPorts . Si la mémoire tampon est trop petite, la fonction échoue et la variable reçoit le nombre d’octets requis.

pcReturned [ à]

Pointeur vers une variable qui reçoit le nombre de structures d' _ informations _ de port 1 ou d' informations de port _ _ 2 retournées dans la mémoire tampon pPorts . Il s’agit du nombre de ports d’imprimante disponibles sur le serveur spécifié.

Valeur de retour

Si la fonction est réussie, la valeur de retour est une valeur différente de zéro.

Si la fonction échoue, la valeur de retour est égale à zéro.

Notes

Notes

Il s’agit d’une fonction de blocage ou synchrone qui peut ne pas être renvoyée immédiatement. La vitesse à laquelle cette fonction est retournée dépend des facteurs d’exécution tels que l’état du réseau, la configuration du serveur d’impression et les facteurs d’implémentation des pilotes d’imprimante qui sont 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 faire que l’application semble ne pas répondre.

La fonction EnumPorts peut être exécutée même si le serveur spécifié par pname n’a pas d’imprimante définie.

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows 2000 Professionnel - [Applications de bureau uniquement]
Serveur minimal pris en charge
Windows 2000 Server - [Applications de bureau uniquement]
En-tête
Winspool. h (inclure Windows. h)
Bibliothèque
Winspool. lib
DLL
Winspool. drv
Noms Unicode et ANSI
EnumPortsW (Unicode) et EnumPortsA (ANSI)

Voir aussi

Impression

Fonctions API du spouleur d’impression

AddPort

DeletePort

_Informations sur le port _ 1

_Informations sur le port _ 2