Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1516 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  detection d'imprimante sous win 2000

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

detection d'imprimante sous win 2000

n°879875
_ky_
Posté le 22-10-2004 à 11:35:13  profilanswer
 

Salut à tous
 
jvous explique mon problème :
 
je travaille sous win 2000 et j'essaye de detecter toutes les imprimantes installées afin de pouvoir imprimer des alertes sur differentes imprimantes.
 
J'utilise la fonction EnumPrinters

Citation :


EnumPrinters(
  DWORD Flags,         // printer object types
  LPTSTR Name,         // name of printer object
  DWORD Level,         // information level
  LPBYTE pPrinterEnum, // printer information buffer
  DWORD cbBuf,         // size of printer information buffer
  LPDWORD pcbNeeded,   // bytes received or required
  LPDWORD pcReturned   // number of printers enumerated
);


 
 
la fonction retourne toujours 0 (erreur)
 
j'ai essayé plusieur combinaisons :
 
un flag PRINTER_ENUM_CONNECTIONS | PRINTER_ENUM_LOCAL; avec un level 4
 
afin de choper les imprimantes locales et celles auquel on s'est deja connecté.
 
pcbNeeded vaut 46 et pcReturned vaut 0, alors qu'il y a bien des imprimantes installées.
 
petite precision, le code d'erreur obtenu avec GetLastError() esst 122: :The data area passed to a system call is too small.
et je vois pas quelle est la zone de donnée en question. si c'est le buffer, il est normal qu'il soit null au premier appel de la fonction.
 
donc si quequ'un voit ou je fais une erreur, ben, merci de m'en faire part  :)


Message édité par _ky_ le 22-10-2004 à 11:53:37
mood
Publicité
Posté le 22-10-2004 à 11:35:13  profilanswer
 

n°879939
_ky_
Posté le 22-10-2004 à 12:30:08  profilanswer
 

Bon, je vien de trouver mon erreur
aprés avoir relu msdn une Nieme fois, je me suis apperçut que la fonction retournais 0 si on lui passe une taille de buffer insuffisante, d'ou mon erreur :oops:  
 
et au deuxieme appel, tout fonctionne parfaitement.  
 
voilaaaaa


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  detection d'imprimante sous win 2000

 

Sujets relatifs
[SQL Server 2000] Questions élémentaires - Help ![VBS] Modifier le nom imprimante
[Base de registre] Ajouter une imprimanteClés primaire et index (SQL Server 2000)
cherche programmeur pour modifier un driver imprimanteRéaliser une union avec SQL SERVER 2000
problème pour changer de place un fichier log sous SQL server 2000 ...Migration Access 2000 vers Oracle 9i
connexion ODBC sur un serveur sql 2000 par internetOracle 8i: Driver ODBC 16 bits pour Windows 2000
Plus de sujets relatifs à : detection d'imprimante sous win 2000


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR