Mapper 2 blocs de memoires a une nouvelle adresse - API Win32 - Programmation
Marsh Posté le 06-06-2008 à 12:23:24
c'est une très bonne question, mais je vois pas, j'imagine que tu as déjà balayé le msdn ?
Marsh Posté le 06-06-2008 à 14:37:35
Oui Bjone, j'ai balayé msdn mais je ne suis pas un grand spécialiste du mappage sous windows.
Mon problème principal consiste a mapper une mémoire ( à une adresse physique ) sous l'espace utilisateur de windows.
Pour celà j'utilise un driver qui :
1 - mappe l'adresse physique a une adresse systeme ( par le biais de la focntion "MmIoSpace" )
2 - puis l'adresse systeme vers une adresse utilisateur ( car l'adresse systeme n'est pas utilisable dans les appli ).
L'appel au driver sous l'appli renvoie simplement l'adresse sous l'espace utilisateur.
Mon problème est au niveau du point 2, je construit un Mdl avec la fonction "IoAllocateMdl" or les blocs mémoires gérés par cette fonction ne peuvent pas dépasser 64 Mo ( en gros ).
Pour augmenter la quantité de mémoire gérée, j'ai donc essayé de fournir plusieurs blocs de 64 Mo.
Au final, je me retrouve avec plusieurs adresses de bloc de 64 Mo mais qui ne sont pas mappés de façon contigue => d'où ma question.
J'espère avoir été clair.
Marsh Posté le 06-06-2008 à 15:49:33
ReplyMarsh Posté le 06-06-2008 à 15:59:31
Impossible à ce stade du projet ( 2 ans de devellopements ).
Marsh Posté le 06-06-2008 à 16:08:50
ReplyMarsh Posté le 06-06-2008 à 16:43:46
Je pense que tu auras des réponses sur le forum de microsoft non ?
j'ai trouvé que ça, http://support.microsoft.com/kb/189327/en-us/, mais ça reste léger comme info
Marsh Posté le 06-06-2008 à 12:01:15
( OS : WXP, W2003 )
( Language : C/C++ Visual 2005/DDK)
Bonjour,
je cherche à
- mapper 2 blocs de memoire sous une nouvelle adresse.
- j'aimerai voir les blocs, depuis cette nouvelle adresse, de façon contigue (comme si ils étaitent concatènés).
Ceci dans l'espace utilisateur de windows. ( au pire, je peux descendre dans l'espace systeme car je maîtrise le driver qui fournit les 2 adresses ).
Merci beaucoups.