Partager via


Afficher le cache contextuel de l’appareil

Le système gère un cache de contextes d’appareil d’affichage qu’il utilise pour les contextes courants, parents et d’appareils de fenêtre. Le système récupère un contexte d’appareil à partir du cache chaque fois qu’une application appelle la fonctionGetDCou BeginPaint ; le système retourne le contrôleur de domaine dans le cache lorsque l’application appelle par la suite la fonctionReleaseDCou fonction EndPaint.

Il n’existe aucune limite prédéterminée sur la quantité de contextes d’appareil qu’un cache peut contenir ; le système crée un contexte d’appareil d’affichage pour le cache si aucun n’est disponible. Étant donné cela, une application peut avoir plus de cinq contextes d’appareil actifs du cache à la fois. Toutefois, l’application doit continuer à libérer ces contextes d’appareil après l’utilisation. Étant donné que de nouveaux contextes d’appareil d’affichage pour le cache sont alloués dans l’espace tas de l’application, l’échec de la libération des contextes de l’appareil consomme finalement tous les espaces de tas disponibles. Le système indique cette défaillance en retournant une erreur lorsqu’il ne peut pas allouer d’espace pour le nouveau contexte d’appareil. D’autres fonctions non liées au cache peuvent également retourner des erreurs.