GlobalAllock, GlobalLock...What's the Deal ?

RAFAAJ2000 Messages postés 16 Date d'inscription samedi 27 mars 2010 Statut Membre Dernière intervention 30 décembre 2012 - 5 déc. 2011 à 16:32
thel0rd Messages postés 14 Date d'inscription lundi 16 février 2004 Statut Membre Dernière intervention 20 janvier 2012 - 20 janv. 2012 à 16:44
Bj.

J'ai vu des codes qui utilisent les fonctions APIs GlobalAllock et GlobalLock pour isoler et bloquer des zones dans la memoire avant de placer les données. Pourquoi est-il necessaire de faire ca ? L'explication sur MSDN est mediocre.

Quelqu'un peut me decrire un scenario ou il serait necessaire de bloquer la memoire pour reussir un code ?

Merci.

2 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 209
5 déc. 2011 à 16:46
"Bj", donc !
ou il serait necessaire de bloquer la memoire pour reussir un code

Nécessaire n'est pas le bon adjectif. Souhaitable serait plus approprié.
Les fonctions dont tu parles permettent d'agiliser la gestion des tampons en mémoire.
Tu en trouveras l'exposé dans MSDN, mais également sur le site de ALL-API (avec, sur ce dernier site, 3 exemples d'utilisation).


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
thel0rd Messages postés 14 Date d'inscription lundi 16 février 2004 Statut Membre Dernière intervention 20 janvier 2012
20 janv. 2012 à 16:44
Hello,

Ce n'est pas souhaitable non plus. Les fonctions Global/LocalAlloc sont utilisées pour la compatibilité avec les applications 16-bit. Ca entraine des pertes de perf. Il faut (sauf cas exceptionnel) appelé HeapAlloc (qui est de toute façon appelée par Global/LocalAlloc)

L'utilisation de Global/LocalLock est inutile également, HeapAlloc lock l'objet mémoire crée de toute manière.
Rejoignez-nous