processus et memoire d'occupation traduction demandé ...
processus et memoire d'occupation traduction demandé ...
.....................
			
			
													
					Dernière modification par Backup le dim. 20/mars/2011 14:29, modifié 1 fois.
									
			
									
						Re: processus et memoire d'occupation traduction demandé ...
Salut, même si je ne peux rien certifier à ce sujet, voici une traduction.
@+
			
			
									
									
						@+
Code : Tout sélectionner
; -------------------------------------------------------
; Obtient les différentes zones mémoire d'un processus utilisées dans la zone virtuelle
; -------------------------------------------------------
Procedure RetrieveMemRegions(lPid.L, Array lBaseAdress.L(1), Array lRegionSize.L(1) )
  Protected lHandle.L
  Protected lPosMem.L
  Protected lRet.L
  Protected lLenMBI.L
  Protected mbi.MEMORY_BASIC_INFORMATION
  Protected si.SYSTEM_INFO
  ; Initialise les tableaux
  ReDim lBaseAdress.L(0)
  ReDim lRegionSize.L(0)
  ; Obtient le handle du processus
  lHandle = OpenProcess_(#PROCESS_ALL_ACCESS, #False, lPid)
  
  lLenMBI = SizeOf(MEMORY_BASIC_INFORMATION) ; Taille de la Structure
  GetSystemInfo_(si) ; Obtient les infos sur les adresses de début et de fin de la plage mémoire maximum
  lPosMem = si\lpMinimumApplicationAddress ; Adresse la plus petite ==> part de là
  While lPosMem < si\lpMaximumApplicationAddress ; Tant que l'adresse est inférieure à l'adresse maximale
    mbi\RegionSize = 0
    ; Obtient les infos sur les régions mémoire du processus définit par son handle hProcess
    lRet = VirtualQueryEx_(lHandle, @lPosMem, mbi, lLenMBI)
    If lRet = lLenMBI
    
      If (mbi\lType = #MEM_PRIVATE) And (mbi\State = #MEM_COMMIT)
        ; Alors utilisé par le processus, on récupère les infos
        
        If mbi\RegionSize > 0
          
          ; Région non nulle, alors on la stocke dans les tableaux résultats
          ; Les redimensionne
          ReDim lBaseAdress.L(ArraySize(lBaseAdress() ) + 1)
          ReDim lRegionSize.L(ArraySize(lRegionSize() ) + 1)
          ; Stocke à la fin
          lRegionSize(ArraySize(lRegionSize() ) ) = mbi\RegionSize
          lBaseAdress(ArraySize(lBaseAdress() ) ) = mbi\BaseAddress
        EndIf
        
      EndIf
      ; Continue la recherche des régions (ajoute la taille de la région à l'adresse de départ ==> donne la prochaine adresse de départ)
      
      lPosMem = mbi\BaseAddress + mbi\RegionSize ; Fait l'ajout
    Else
    
      ; Recherche terminée
      Break
    EndIf
  Wend
  CloseHandle_(lHandle)
EndProcedureRe: processus et memoire d'occupation traduction demandé ...
Merci , je vais regarder ça 
t'es rentré de vacances ?
   Cool !! 
tu manquais au forum
			
			
									
									
						t'es rentré de vacances ?
tu manquais au forum
Re: processus et memoire d'occupation traduction demandé ...
Moi, j'en reviens toujours pas que Cpl.Bator ait rincé son pseudo. Il pouvait rester...
M'enfin, en tout cas c'est surtout à vous que mon absence a fait des vacances.
 
Si jamais la traduction ne marche pas, c'est peut-être ce vestige des vieux interpréteurs...
...Que je n'ai pas traduit.
ça doit être un truc comme à placer après l'addition
Dans ce cas-là, il s'agit d'un saut (Jump if Carry l_mylabel) donc il y a le label à placer aussi (se repérer par rapport au code original).
			
			
									
									
						M'enfin, en tout cas c'est surtout à vous que mon absence a fait des vacances.
Si jamais la traduction ne marche pas, c'est peut-être ce vestige des vieux interpréteurs...
Code : Tout sélectionner
# On Error GoTo ErrCapacityGestion 'dépassement de capacité pour la dernière adresse+regionsizeça doit être un truc comme
Code : Tout sélectionner
! JC l_ErrCapacityGestionCode : Tout sélectionner
lPosMem = mbi\BaseAddress + mbi\RegionSize ; Fait l'ajoutRe: processus et memoire d'occupation traduction demandé ...
pour ne rien te cacher , ça marchais pas vraiment..
enfin , une partie fonctionne , celle qui renvoie les adresses de base
mais le mapping est tres tres long
j'ai utilisé un code de Hardy qui traine sur le Forum
et qui lui marche pas trop mal apparemment ...
quand je pense que j'avais une réponse sur notre forum , mais que je n'avais pas réussi a retrouver
ici :
http://www.purebasic.fr/french/viewtopi ... _&start=30
Merci encore
			
			
									
									
						enfin , une partie fonctionne , celle qui renvoie les adresses de base
mais le mapping est tres tres long
j'ai utilisé un code de Hardy qui traine sur le Forum
et qui lui marche pas trop mal apparemment ...
quand je pense que j'avais une réponse sur notre forum , mais que je n'avais pas réussi a retrouver
ici :
http://www.purebasic.fr/french/viewtopi ... _&start=30
Merci encore
Re: processus et memoire d'occupation traduction demandé ...
Excellent petit lexique des sigles anglais dans ton lien. Merci! Je vais mieux les comprendre comme ça...