Help and Support
 

powered byLive Search
Numéro d'article: 139071 - Dernière mise à jour: mercredi 26 juillet 2006 - Version: 5.4

CORRECTIF : La mise en cache OLE Automation BSTR entraîne la mémoire sources fuite dans Windows 2000

Hotfix ImageIl est possible de télécharger un correctif
Accéder aux téléchargements de correctif et soumettre votre demande
Agrandir tout | Réduire tout

Résumé

Cet article décrit les éléments suivants concernant cette version CORRECTIF :
  • The Issues That Are fixed by the package Hotfix.
  • Les conditions préalables requises pour installer le package correctif.
  • Si vous devez redémarrer l'ordinateur après avoir installé le package de correctifs.
  • Si le package de correctifs est remplacé par un autre package correctif.
  • Si vous devez vous toutes les modifications du Registre.
  • Les fichiers qui sont contenus dans le package de correctifs.

Symptômes

Automation (précédemment appelé OLE Automation et de l'automation ActiveX) met en cache l'espace alloué pour les chaînes BSTR. Cela peut entraîner IMallocSpy à attribut les fuites de mémoire à l'utilisateur BSTR incorrect dans une application qui utilise des chaînes BSTR d'automation. La source correcte de la fuite peut être trouvée par la désactivation du cache d'automation en définissant la variable d'environnement OANOCACHE = 1 avant d'exécuter l'application. Dans de nombreuses applications basées sur le serveur, le cache BSTR n'est pas requis. Il est disponible pour désactiver BSTR la mise en cache sur les ordinateurs Windows 2000. Windows XP et Windows Server 2003 ne requièrent pas le correctif pour désactiver la mise en cache BSTR.

Résolution

Un correctif pris en charge est disponible auprès de Microsoft. Toutefois, ce correctif vise à corriger uniquement le problème qui est décrit dans cet article. Appliquez ce correctif uniquement sur les systèmes qui rencontrant ce problème spécifique.

Si le correctif est disponible pour téléchargement, il y a une section « téléchargement des correctifs disponibles » au début de cet article de la Base de connaissances. Si cette section n'apparaît pas, soumettre une demande pour le service client de Microsoft et de support pour obtenir le correctif.

Remarque : Si des problèmes supplémentaires se produisent ou si n'importe quel Résolution des problèmes sont requis, il se peut que vous deviez créer une demande de service séparé. Les coûts habituels du support technique s'appliqueront aux questions prise en charge supplémentaire et problèmes non traités de ce correctif spécifique. Pour obtenir la liste complète de service client de Microsoft et de support numéros de téléphone ou pour créer une demande de service séparé, reportez-vous à la suivant site :
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
Remarque : Le formulaire « Téléchargement des correctifs disponibles » affiche les langues pour lesquels le correctif est disponible. Si vous ne voyez pas votre langue, il est, car un correctif n'est pas disponible pour cette langue.

Conditions préalables

Vous devez avoir installé Windows 2000 Service Pack 4 (SP4) pour appliquer ce correctif.

Informations sur le redémarrage

Vous devez redémarrer l'ordinateur après avoir appliqué ce correctif.

Les informations du Registre

Il est inutile modifier le Registre.

Informations sur les fichiers du correctif

Ce correctif contient uniquement les fichiers nécessaires à la résolution des problèmes décrits dans cet article. Ce correctif ne peut pas contenir de tous les fichiers nécessaires à la mise à jour complète d'un produit vers la version la plus récente. La version anglaise de ce correctif logiciel possède les attributs de fichier indiqués dans le tableau suivant ou ceux d'une version ultérieure. Les dates et heures de création de ces fichiers sont indiquées par rapport à l'heure universelle (GMT).. Lorsque vous affichez les informations de fichier, il est converti à l'heure locale. Pour connaître le décalage entre l'heure UTC et l'heure locale, utilisez l'onglet Fuseau horaire dans l'outil Date et heure du Panneau de contrôle.
Réduire ce tableauAgrandir ce tableau
Nom de fichierVersion du fichierTaille du fichierDateTempsPlate-forme
Asycfilt.dll2.40.4528.0143,63211-Sep-200513:05x 86
Fichier Oleaut32.dll2.40.4528.0631,05611-Sep-200513:05x 86
Olepro32.dll5.0.4528.0164,11211-Sep-200513:05x 86
Stdole2.tlb2.40.4528.016,89623-Août-200502:13

Statut

Microsoft a confirmé l'existence d'un problème dans les produits Microsoft répertoriés dans la section « S'applique à »..

Plus d'informations

Automation met en cache l'espace alloué pour BSTR. Cela accélère la séquence SysAllocString/SysFreeString. Toutefois, cela peut entraîner IMallocSpy à fuites d'attribut à l'utilisateur de la mémoire incorrect, car il n'est pas connaissance de la mise en cache par automation. Par exemple, si l'application alloue un BSTR et libère il, le bloc de mémoire libéré est placé dans le cache BSTR par automation. Si l'application alloue un autre BSTR, il peut s'afficher le bloc disponible à partir du cache. Si l'allocation BSTR deuxième n'est pas libérée, IMallocSpy est Attribut la fuite à la première allocation du BSTR. La source correcte fuite (l'allocation Deuxième) peut être déterminée en désactivant la BSTR mise en cache par automation. Ce faire, la définition variable d'environnement OANOCACHE = 1 avant d'exécuter l'application. Sur Windows 2000, la version de correctif logiciel d'OLEAUT32.DLL référencés dans cet article est requise. Il est également important rechercher les fuites au moment approprié pour éviter que des rapports fuite false. Ces fuites peuvent se produire lorsque l'implémentation IMallocSpy vérifie les fuites de trop tôt. Les utilisateurs de la mémoire qui est allouée par IMalloc peuvent légitimement contenir sur lui après OleUninitialize. Par exemple, le cache d'automation BSTR est supprimé au moment DLL_PROCESS_DETACH du fichier Oleaut32.dll. Cela signifie que Vérification des fuites immédiatement après OleUninitialize peut provoquer des rapports erronés de fuites de mémoire. Un emplacement idéal pour rechercher les fuites de mémoire est dans le destructeur d'une instance statique d'une classe, qui implémente IMallocSpy. Le destructeur de cette instance statique est appelé après la fonction DllMain de chaque DLL liée par l'application est appelée avec DLL_PROCESS_DETACH.

Définir la variable d'environnement OANOCACHE

  1. Dans le Panneau de configuration, double-cliquez sur l'icône Système . La boîte de dialogue Propriétés système s'affiche.
  2. On the TAB Advanced , click Variables Environment . The Box Dialog Variables Environment Appears.
  3. Sous Variables système , cliquez sur Nouveau . La boîte de dialogue Nouvelle variable système s'affiche.
  4. Type OANOCACHE dans la zone Nom de la variable .
  5. Tapez 1 dans la zone Valeur de la variable .
  6. Cliquez sur OK à trois reprises.
Avant de modifier la variable d'environnement OANOCACHE, vous devez arrêter les processus serveur suivants s'ils exécutent :
  • Le processus Inetinfo
  • Le processus Dllhost
  • Le processus W3wp
  • Le processus Aspnet_wp
Remarque : Si vous n'êtes pas sûr que ces processus serveur sont en cours d'exécution, définir la variable d'environnement OANOCACHE = 1 , puis redémarrez l'ordinateur.

Références

Pour plus d'informations cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft:
824684  (http://support.microsoft.com/kb/824684/ ) Terminologie standard utilisée pour décrire les mises à jour logicielles Microsoft

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Windows 2000 Professionnel
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
Mots-clés : 
kbmt kbautohotfix kbhotfixserver kbqfe kbexpertiseadvanced kbfix kbpubtypekc kbautomation KB139071 KbMtfr
Traduction automatiqueTraduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que feraient une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique. Si vous relevez des erreurs graves et souhaitez contribuer à l?amélioration du système, vous pouvez compléter l?enquête à votre disposition dans le bas des articles.
La version anglaise de cet article est la suivante: 139071  (http://support.microsoft.com/kb/139071/en-us/ )
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Traductions disponibles

 

Related Support Centers