Message de rapport:
 

Récupération nombre de processeurs

Sujet: Récupération nombre de processeurs
par DalKiT sur 27/6/2006 10:25:35

Bonjour à tous,

Mon problème vient du fait que je n'arrive pas à retrouver le nombre de processeur.

Pour cela , j'utilise l'API NtQuerySystemInformation référencée dans NTDLL.DLL.

Voici la fonction à employer en C :

typedef struct _SYSTEM_BASIC_INFORMATION {
    BYTE Reserved1[24];
    PVOID Reserved2[4];
    CCHAR NumberProcessors;
} SYSTEM_BASIC_INFORMATION;

DWORD dwNumberOfProcessors;

NtQuerySystemInformation(SystemBasicInformation, &SysBaseInfo, sizeof(SysBaseInfo), NULL);

// Retourne le nombre de processeur
dwNumberOfProcessors = SysBaseInfo.NumberProcessors;


Et voici la conversion en windev

_SYSTEM_BASIC_INFORMATION est une structure
	Reserved1 est une chaîne fixe sur 24
	Reserved2 est un entier sur 4 octets
	NumberProcessors est un caractère
FIN

SysBaseInfo est un _SYSTEM_BASIC_INFORMATION

dwNumberOfProcessors est un entier

status=API("ntdll","NtQuerySystemInformation",0, &SysBaseInfo, Dimension(SysBaseInfo), Null);

// Retourne le nombre de processeur
dwNumberOfProcessors  = SysBaseInfo:NumberProcessors


Le seul problème est que SysBaseInfo:NumberProcessors me retourne toujours 0. Donc la y a un hic

Si vous avez une idée ou meme un composant qui récupère des informations systèmes, je suis preneur

Bonne journée
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2