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

  FORUM HardWare.fr
  Programmation
  API Win32

  Bizarrerie avec EnumProcesses

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Bizarrerie avec EnumProcesses

n°2097574
PierreFeui​lle
Posté le 25-08-2011 à 21:10:13  profilanswer
 

Quelqu'un peut m'expliquer pourquoi ceci ne fonctionne pas (1 processus retourné) :

Code :
  1. DWORD * processes = new DWORD[1024];
  2. DWORD size=sizeof(processes); 
  3. DWORD nbret;
  4. EnumProcesses(processes,size,&nbret);


alors que ceci fonctionne parfaitement ?
 

Code :
  1. DWORD processes[1024];
  2. DWORD size=sizeof(processes); 
  3. DWORD nbret;
  4. EnumProcesses(processes,size,&nbret);


 
Je ne comprend pas du tout. Dans un cas j'ai un tableau sur le tas, dans l'autre sur la pile. L'un fonctionne l'autre non, pourquoi ??


Message édité par PierreFeuille le 25-08-2011 à 23:29:23
mood
Publicité
Posté le 25-08-2011 à 21:10:13  profilanswer
 

n°2097612
olivthill
Posté le 26-08-2011 à 09:21:58  profilanswer
 

Je n'ai jamais essayé la première syntaxe, mais il y a souvent des problèmes avec le sizeof(), par exemple, parfois on peut croire qu'il prend la taille la d'un tableau alors qu'il prend la taille d'un pointeur, mais je ne sais pas si c'est le cas ici. Donc, en fait, je préfère définir une constante pour la taille, mais je ne sais pas si ça marche ici :

#define PROCESSES_SIZE 1024
DWORD * processes = new DWORD[PROCESSES_SIZE];
DWORD size=PROCESSES_SIZE;  
DWORD nbret;
EnumProcesses(processes,size,&nbret);


n°2097623
PierreFeui​lle
Posté le 26-08-2011 à 10:14:17  profilanswer
 

Merci de ta réponse, le problème vient effectivement de là. sizeof retourne la taille en bytes du pointeur, mea culpa.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  API Win32

  Bizarrerie avec EnumProcesses

 

Sujets relatifs
VB6 : Bizarrerie avec INET[résolu] fonction (mail) - bizarrerie
[RESOLU] bizarrerie avec file_exists[ASP] Bizarrerie sur le test d'égalité dans un if ? [résolu]
Bizarrerie de l'editeur hexa[Access] bizarrerie sur fonction Format
Plus de sujets relatifs à : Bizarrerie avec EnumProcesses


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