En fait, j'ai fait des tests avec le freeware
Process Explorer, et j'ai vu que l'utilisation des fonctions ZoneMemoire de WD8 ne produit pas qqchose de compatible avec les MMF (memory mapped files de Windows
MSDN MMF article).
Par contre j'ai fait un bout de code qui utilise directement les API Windows, et la, c'est compatible avec les MMF (
).
Par contre, j'ai
evidemment un autre souci.
je definie un type structure et j'utilise l'API
MapViewOfFile qui retourne un pointeur vers la zone memoire. J'ai essaye la fonction
transfert mais cela ne fonctionne pas.
mon code snippet est :
Citation :
///////////////////
// Declaration Globlale
//////////////////////
TMMFData est une structure
dwFlags est un entier //Type C : DWORD
NextHook est un entier//: HHOOK;
WinHandle est un entier//: HWND;
MsgToSend est un entier //: DWORD;
BlockKeys est un booléen//: boolean;
FIN
MMFHandle est un entier// THandle;
MMFData est un entier // : PMMFData;
/////////////////////////////////
// code click Btn
//////////////////////
hMMF est un entier //: THandle;
pMMF est un entier//: PMMFData;
sMMF est une TMMFData
resultat est un entier= 0
hMMF = OpenMMF(Saisie1);
IF hMMF <> 0 THEN
pMMF = MapMMF(hMMF);
IF pMMF <> Null THEN
Transfert(&sMMF,pMMF,17)
Trace(sMMF:WinHandle,sMMF:MsgToSend,sMMF:BlockKeys)
UnMapMMF(pMMF);
CloseMMF(hMMF);
END
END
Si qqu'un sait comment associer le pointeur renvoye a ma structure WD, je suis preneur.
En outre, il faut aussi utiliser
SizeOf de la structure mais je ne sais pas comment faire cela en WD [ la fonction
taille marche uniquement pour les chaines..
Toutes les idees et conseils sont bienvenus.
Romain.
Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=12&topic_id=1826&post_id=7606