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

Signaler
Messages postés
16
Date d'inscription
samedi 27 mars 2010
Statut
Membre
Dernière intervention
30 décembre 2012
-
Messages postés
14
Date d'inscription
lundi 16 février 2004
Statut
Membre
Dernière intervention
20 janvier 2012
-
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

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
"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
Messages postés
14
Date d'inscription
lundi 16 février 2004
Statut
Membre
Dernière intervention
20 janvier 2012

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.