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.
Message édité par Nuruhuine le 06-06-2008 à 14:38:07