Partager via


Fonction EnumMonitors

La fonction EnumMonitors récupère des informations sur les moniteurs de port installés sur le serveur spécifié.

Syntaxe

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

Paramètres

pName [in]

Pointeur vers une chaîne terminée par null qui spécifie le nom du serveur sur lequel résident les moniteurs. Si ce paramètre a la valeur NULL, les moniteurs locaux sont énumérés.

Niveau [in]

Version de la structure pointée vers pMonitors.

Cette valeur peut être 1 ou 2.

pMonitors [out]

Pointeur vers une mémoire tampon qui reçoit un tableau de structures. La mémoire tampon doit être suffisamment grande pour stocker les chaînes référencées par les membres de la structure.

Pour déterminer la taille de mémoire tampon requise, appelez EnumMonitors avec cbBuf défini sur zéro. EnumMonitors échoue, GetLastError retourne ERROR_INSUFFICIENT_BUFFER, et le paramètre pcbNeeded retourne la taille, en octets, de la mémoire tampon requise pour contenir le tableau des structures et leurs données.

La mémoire tampon reçoit un tableau de structures MONITOR_INFO_1 si Level a la valeur 1, ou MONITOR_INFO_2 structures si Level a la valeur 2.

cbBuf [in]

Taille, en octets, de la mémoire tampon pointée par pMonitors.

pcbNeeded [out]

Pointeur vers une variable qui reçoit le nombre d’octets copiés si la fonction réussit ou le nombre d’octets requis si cbBuf est trop petit.

pcReturned [out]

Pointeur vers une variable qui reçoit le nombre de structures retournées dans la mémoire tampon pointée par pMonitors.

Valeur retournée

Si la fonction réussit, 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 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 les facteurs d’implémentation du pilote 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 donner l’impression que l’application ne répond pas.

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
EnumMonitorsW (Unicode) et EnumMonitorsA (ANSI)

Voir aussi

Impression

Fonctions API du spouleur d’impression

MONITOR_INFO_1

MONITOR_INFO_2