Les exceptions qui sont levées à partir d’une application qui s’exécute sur une version 64 bits de Windows sont ignorées.

Symptômes

Considérez le scénario suivant :
  • Vous exécutez une application sur une version 64 bits de Windows Server 2008, Windows Vista, Windows Server 2008 R2 ou Windows 7.
  • Une exception qui est levée dans une routine de rappel s’exécute en mode utilisateur.

Dans ce scénario, cette exception ne provoque pas de blocage de l’application. Au lieu de cela, l’application passe dans un état incohérent. Ensuite, l’application lève une exception différente et se bloque.


Une fonction de rappel en mode utilisateur est généralement une fonction définie par l’application qui est appelée par un composant de mode noyau. Exemples de fonctions de rappel en mode utilisateur sont des procédures Windows et les procédures de hook. Ces fonctions sont appelées par Windows pour traiter les messages Windows ou de traiter les événements de raccordement de Windows.

Résolution

Informations sur le correctif

Un correctif pris en charge est disponible auprès de Microsoft. Toutefois, ce correctif vise à corriger uniquement le problème décrit dans cet article. Appliquez ce correctif uniquement aux systèmes qui rencontrent le problème décrit dans cet article. Ce correctif va peut-être subir des tests supplémentaires. Par conséquent, si vous n'êtes pas sérieusement concerné par ce problème, nous vous recommandons d'attendre la prochaine mise à jour logicielle qui contiendra ce correctif.

Si le correctif est disponible pour le téléchargement, il existe une section « Téléchargement de correctif logiciel disponible » au début de cet article de la Base de connaissances. Si cette section n'apparaît pas, contactez le Service clientèle et Support de Microsoft pour obtenir le correctif.

Remarque Si des problèmes supplémentaires se produisent ou si des procédures de dépannage sont nécessaires, vous devrez peut-être formuler une demande de service distincte. Les coûts habituels du support technique s'appliqueront aux questions et problèmes qui ne relèvent pas de ce correctif logiciel. Pour une liste complète des numéros de téléphone du Service clientèle et support technique de Microsoft ou pour créer une demande de service distincte, visitez le site Web de Microsoft à l'adresse suivante :Remarque Le formulaire « Téléchargement de correctif logiciel disponible » affiche les langues pour lesquelles le correctif est disponible. Si vous ne voyez pas votre langue, c'est parce qu'il n'y a pas de correctif disponible pour cette langue.

Conditions préalables

Pour appliquer ce correctif logiciel, votre ordinateur doit exécuter l’un des systèmes d’exploitation Windows suivants :
  • Windows Vista Service Pack 2 (SP2)
  • Windows Server 2008 Service Pack 2 (SP2)
  • Windows 7
  • Windows Server 2008 R2
Pour plus d’informations sur la façon d’obtenir un service pack Windows Vista, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

935791 comment obtenir le dernier service pack Windows Vista

Pour plus d’informations sur la façon d’obtenir un service pack de Windows Server 2008, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

968849 comment obtenir le dernier service pack pour Windows Server 2008

Instructions d’installation

D’Avertissement des problèmes graves peuvent se produire si vous modifiez le Registre incorrectement à l’aide de l’Éditeur du Registre ou en utilisant une autre méthode. Ces problèmes peuvent nécessiter que vous réinstalliez le système d’exploitation. Microsoft ne peut pas garantir que ces problèmes puissent être résolus. Modifiez le Registre à vos risques et périls. Par défaut, ce correctif logiciel n’est pas automatiquement activé après que l’avoir appliqué. Vous devez activer manuellement ce correctif logiciel au niveau du système ou au niveau du processus. Après l’activation de ce correctif, l’exception est transmise au noyau Windows à traiter.



Lorsque vous activez ce correctif au niveau du système, tous les processus qui sont exécutent dans le système sont affectées. Lorsque vous activez ce correctif au niveau du processus, seul ce processus spécifique est affecté. Le paramètre de correctif au niveau du processus l’emporte sur le correctif logiciel au niveau du système.



Pour activer ce correctif logiciel au niveau du système, procédez comme suit :
  1. Dans l’Éditeur du Registre, recherchez la sous-clé de Registre suivante :
    HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options.
  2. Créer une entrée de Registre de la valeur DWORD.
  3. Nom de la nouvelle entrée de Registre DisableUserModeCallbackFilter.
  4. La valeur de l’entrée de Registre DisableUserModeCallbackFilter sur 1.
Pour activer ce correctif logiciel au niveau du processus, procédez comme suit :
  1. Dans l’Éditeur du Registre, recherchez la sous-clé de Registre suivante :
    HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options ou HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Image File Execution Options.
  2. Créer une sous-clé de Registre.
  3. Nommez la nouvelle sous-clé de Registre avec le nom du processus pour lequel vous souhaitez activer le correctif. Par exemple, si vous souhaitez activer ce correctif sur le processus de Notepad.exe, vous nommez la nouvelle sous-clé de Registre « Notepad.exe ».
  4. Sous la nouvelle sous-clé de Registre, créez une entrée de Registre de la valeur DWORD.
  5. Nom de la nouvelle entrée de Registre DisableUserModeCallbackFilter.
  6. La valeur de l’entrée de Registre DisableUserModeCallbackFilter sur 1.
Ce correctif inclut également de nouvelles fonctions qui sont exportées par Kernel32.DLL. Les applications peuvent appeler ces nouvelles fonctions pour activer le correctif lors de l’exécution. Ces nouvelles fonctions et les indicateurs sont définis comme suit :
BOOLWINAPI
SetProcessUserModeExceptionPolicy(
__in DWORD dwFlags
);

BOOL
WINAPI
GetProcessUserModeExceptionPolicy(
__out LPDWORD lpFlags
);

#define PROCESS_CALLBACK_FILTER_ENABLED 0x1
Par défaut, un nouveau processus est créé à l’aide de l’indicateur PROCESS_CALLBACK_FILTER_ENABLED défini. Le correctif est activé pour un processus en désactivant l’indicateur :
DWORD dwFlags;If (GetProcessUserModeExceptionPolicy(&dwFlags)) {
SetProcessUserModeExceptionPolicy(dwFlags & ~PROCESS_CALLBACK_FILTER_ENABLED);
}

Important La clé de Registre est conçue uniquement pour les scénarios de développement. Les éditeurs de logiciels indépendants (ISV) ne doivent pas modifier les touches d’Options de l’exécution du fichier Image (IFEO) dans leurs programmes d’installation.

Nécessite un redémarrage

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

Informations de remplacement du correctif

Ce correctif ne remplace pas un correctif précédemment publié.

Informations sur les fichiers

La version anglaise (États-Unis) de ce correctif logiciel installe des fichiers dont les attributs sont répertoriés dans les tableaux ci-dessous. Les dates et heures de ces fichiers sont répertoriées en temps universel coordonné (UTC). Les dates et heures de ces fichiers sur votre ordinateur local sont affichées dans votre heure locale en tenant compte de l'heure d'été (DST). En outre, les dates et heures peuvent changer lorsque vous effectuez certaines opérations sur les fichiers.
Remarques sur les fichiers Windows Vista et Windows Server 2008
Important Les correctifs logiciels Windows Vista et Windows Server 2008 sont inclus dans le même package. Cependant, seul « Windows Vista » est répertorié sur la page demande de correctif logiciel. Pour demander le package de correctif qui s’applique à un ou deux systèmes d’exploitation, sélectionnez le correctif logiciel qui est répertorié sous « Windows Vista » sur la page. Reportez-vous toujours à la section « S’applique à » dans les articles pour déterminer le système d’exploitation actif auquel s’applique chaque correctif.
  • Les fichiers qui s’appliquent à un produit spécifique, SR_Level (RTM, SPn) et à un dossier (LDR, GDR), peuvent être identifiés en examinant les numéros de version de fichier comme indiqué dans le tableau suivant.
    Version francaiseProduitSR_LevelDossier
    6.0.600
    2.
    22 xxx
    Windows Vista et Windows Server 2008SP2LDR
  • Les fichiers MANIFEST (.manifest) et MUM (.mum) qui sont installés pour chaque environnement sont répertoriés séparément dans la section « Informations pour Windows Server 2008 et Windows Vista des fichiers supplémentaires ». Les fichiers MUM et les fichiers MANIFESTE et les fichiers de catalogue (.cat) sécurité associées, sont extrêmement importants pour conserver l’état du composant mis à jour. Les fichiers de catalogue de sécurité, pour lesquels les attributs ne sont pas répertoriés, sont signés avec une signature numérique Microsoft.
Pour toutes les versions prises en charge x64-de Windows Server 2008 et Windows Vista

Nom de fichierVersion de fichierTaille du fichierDateHeurePlateformeDossier
Kernel32.dll6.0.6002.222671,218,56012-Nov-200917:42x64Ne s'applique pas
Ntdll.dll6.0.6002.222671,582,80012-Nov-200917:48x64Ne s'applique pas
Kernel32.dll6.0.6002.22267858,62412-Nov-200917:41x86WOW
Ntdll.dll6.0.6002.222671,165,59212-Nov-200917:44x86WOW
Pour toutes les versions basés sur IA-64 prises en charge de Windows Server 2008

Nom de fichierVersion de fichierTaille du fichierDateHeurePlateformeDossier
Kernel32.dll6.0.6002.222672,185,21615-Nov-200919:11Ne s'applique pasNe s'applique pas
Ntdll.dll6.0.6002.222672,564,16815-Nov-200919:17IA-64Ne s'applique pas
Kernel32.dll6.0.6002.22267858,62412-Nov-200917:41x86WOW
Ntdll.dll6.0.6002.222671,165,59212-Nov-200917:44x86WOW
Remarques sur les fichiers Windows 7 et Windows Server 2008 R2
Important Les correctifs logiciels Windows 7 et Windows Server 2008 R2 sont inclus dans le même package. Toutefois, les correctifs dans la page de demande de correctif logiciel sont répertoriés sous les deux systèmes d’exploitation. Pour demander le package de correctif qui s’applique à un ou deux systèmes d’exploitation, sélectionnez le correctif logiciel qui est répertorié sous « Windows 7/Windows Server 2008 R2 » sur la page. Reportez-vous toujours à la section « S’applique à » dans les articles pour déterminer le système d’exploitation actif auquel s’applique chaque correctif.
  • Les fichiers MANIFEST (.manifest) et MUM (.mum) qui sont installés pour chaque environnement sont répertoriés séparément dans la section « informations sur les fichiers supplémentaires pour Windows Server 2008 R2 et Windows 7 ». Les fichiers MUM et les fichiers MANIFESTE et les fichiers de catalogue (.cat) sécurité associées, sont extrêmement importants pour conserver l’état du composant mis à jour. Les fichiers de catalogue de sécurité, pour lesquels les attributs ne sont pas répertoriés, sont signés avec une signature numérique Microsoft.
Pour toutes les versions 64 bits de Windows 7 et Windows Server 2008 R2

Nom de fichierVersion de fichierTaille du fichierDateHeurePlateformeDossier
Kernel32.dll6.1.7600.205731,162,75212-Nov-200920:02x64Ne s'applique pas
Ntdll.dll6.1.7600.205731,737,32012-Nov-200920:09x64Ne s'applique pas
Kernel32.dll6.1.7600.20573837,12012-Nov-200919:55x86WOW
Ntdll.dll6.1.7600.205731,290,24812-Nov-200919:58x86WOW
Pour toutes les versions IA-64 prises en charge de Windows Server 2008 R2

Nom de fichierVersion de fichierTaille du fichierDateHeurePlateformeDossier
Kernel32.dll6.1.7600.205732,137,08812-Nov-200906:16IA-64Ne s'applique pas
Ntdll.dll6.1.7600.205732,783,93612-Nov-200917:35IA-64Ne s'applique pas
Kernel32.dll6.1.7600.20573837,12012-Nov-200919:55x86WOW
Ntdll.dll6.1.7600.205731,290,24812-Nov-200919:58x86WOW

État

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

Plus d'informations

Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :

973460 les exceptions qui sont levées à partir d’une application 64 bits qui s’exécute dans les éditions 64 bits de Windows Server 2003 ou de Windows XP Professionnel sont ignorées en mode silencieux



Pour plus d'informations sur la terminologie de mise à jour logicielle, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :

Description 824684 terminologie standard utilisée pour décrire les mises à jour logicielles de Microsoft

Informations sur les fichiers supplémentaires

Informations sur les fichiers supplémentaires pour Windows Vista et Windows Server 2008

Fichiers supplémentaires pour toutes les versions x64 de Windows Vista et Windows Server 2008 prises en charge

Nom de fichierVersion de fichierTaille du fichierDateHeurePlateforme
Amd64_0f42b3c2ef9b98e4e0113694f5b6e0ca_31bf3856ad364e35_6.0.6002.22267_none_3a25d0ed22bc1163.manifestNe s'applique pas1,04216-Nov-200908:47Ne s'applique pas
Amd64_8482a23005e0862a289bf92530421180_31bf3856ad364e35_6.0.6002.22267_none_897b8e5f5107b89b.manifestNe s'applique pas1,03616-Nov-200908:47Ne s'applique pas
Amd64_microsoft-windows-kernel32_31bf3856ad364e35_6.0.6002.22267_none_f212b98e25173c75.manifestNe s'applique pas4,52312-Nov-200919:23Ne s'applique pas
Amd64_microsoft-windows-ntdll_31bf3856ad364e35_6.0.6002.22267_none_b72bb28ecaf95fdd.manifestNe s'applique pas4,94112-Nov-200919:21Ne s'applique pas
Wow64_microsoft-windows-kernel32_31bf3856ad364e35_6.0.6002.22267_none_fc6763e05977fe70.manifestNe s'applique pas5,32112-Nov-200919:16Ne s'applique pas
Wow64_microsoft-windows-ntdll_31bf3856ad364e35_6.0.6002.22267_none_c1805ce0ff5a21d8.manifestNe s'applique pas5,48912-Nov-200919:16Ne s'applique pas
Fichiers supplémentaires pour toutes les versions basés sur IA-64 prises en charge de Windows Server 2008

Nom de fichierVersion de fichierTaille du fichierDateHeurePlateforme
Ia64_2ca2c45892704f67f7164870e4e836e0_31bf3856ad364e35_6.0.6002.22267_none_8469c4720eb53166.manifestNe s'applique pas1,03416-Nov-200909:34Ne s'applique pas
Ia64_2e50ad2da37fc561ef1032e617e28a72_31bf3856ad364e35_6.0.6002.22267_none_15781e5470d1544c.manifestNe s'applique pas1,04016-Nov-200909:34Ne s'applique pas
Ia64_microsoft-windows-kernel32_31bf3856ad364e35_6.0.6002.22267_none_95f5c2006cb7d43b.manifestNe s'applique pas4,52016-Nov-200907:29Ne s'applique pas
Ia64_microsoft-windows-ntdll_31bf3856ad364e35_6.0.6002.22267_none_5b0ebb011299f7a3.manifestNe s'applique pas4,93816-Nov-200907:26Ne s'applique pas
Wow64_microsoft-windows-kernel32_31bf3856ad364e35_6.0.6002.22267_none_fc6763e05977fe70.manifestNe s'applique pas5,32112-Nov-200919:16Ne s'applique pas
Wow64_microsoft-windows-ntdll_31bf3856ad364e35_6.0.6002.22267_none_c1805ce0ff5a21d8.manifestNe s'applique pas5,48912-Nov-200919:16Ne s'applique pas

Informations sur les fichiers supplémentaires pour Windows 7 et Windows Server 2008 R2

Fichiers supplémentaires pour toutes les versions 64 bits prises en charge de Windows 7 et Windows Server 2008 R2

Nom de fichierVersion de fichierTaille du fichierDateHeurePlateforme
Amd64_5e392545c9a18105cff0a2efe23e2a60_31bf3856ad364e35_6.1.7600.20573_none_5db473d3e6c0bf11.manifestNe s'applique pas69712-Nov-200923:12Ne s'applique pas
Amd64_625f3821eba98e599b5350ce96abbd10_31bf3856ad364e35_6.1.7600.20573_none_4304eef1c5718360.manifestNe s'applique pas69712-Nov-200923:12Ne s'applique pas
Amd64_6f9f53bbe34b08091f9928c95cd9ca1c_31bf3856ad364e35_6.1.7600.20573_none_61255b3d6f3ce1e6.manifestNe s'applique pas70012-Nov-200923:12Ne s'applique pas
Amd64_d77bc388858b80e8087fccc49e9aaee8_31bf3856ad364e35_6.1.7600.20573_none_f2146af022d93f27.manifestNe s'applique pas70012-Nov-200923:12Ne s'applique pas
Amd64_microsoft-windows-kernel32_31bf3856ad364e35_6.1.7600.20573_none_f04544f18913dda7.manifestNe s'applique pas4,91612-Nov-200920:57Ne s'applique pas
Amd64_microsoft-windows-ntdll_31bf3856ad364e35_6.1.7600.20573_none_b55e3df22ef6010f.manifestNe s'applique pas3,80612-Nov-200920:51Ne s'applique pas
Wow64_microsoft-windows-kernel32_31bf3856ad364e35_6.1.7600.20573_none_fa99ef43bd749fa2.manifestNe s'applique pas4,65312-Nov-200920:11Ne s'applique pas
Wow64_microsoft-windows-ntdll_31bf3856ad364e35_6.1.7600.20573_none_bfb2e8446356c30a.manifestNe s'applique pas3,56612-Nov-200920:12Ne s'applique pas
Fichiers supplémentaires pour toutes les versions de Windows Server 2008 R2 basées sur IA-64 prises en charge

Nom de fichierVersion de fichierTaille du fichierDateHeurePlateforme
Ia64_2056e786283e5e81d21b2654f53c34ef_31bf3856ad364e35_6.1.7600.20573_none_ae1830105ff1dc0b.manifestNe s'applique pas69812-Nov-200923:12Ne s'applique pas
Ia64_625f3821eba98e599b5350ce96abbd10_31bf3856ad364e35_6.1.7600.20573_none_e6e7f7640d121b26.manifestNe s'applique pas69612-Nov-200923:12Ne s'applique pas
Ia64_d77bc388858b80e8087fccc49e9aaee8_31bf3856ad364e35_6.1.7600.20573_none_95f773626a79d6ed.manifestNe s'applique pas69912-Nov-200923:12Ne s'applique pas
Ia64_fc2af028cf85d69aac408f33c478239a_31bf3856ad364e35_6.1.7600.20573_none_4aa16236c09a93f7.manifestNe s'applique pas69512-Nov-200923:12Ne s'applique pas
Ia64_microsoft-windows-kernel32_31bf3856ad364e35_6.1.7600.20573_none_94284d63d0b4756d.manifestNe s'applique pas4,91412-Nov-200920:49Ne s'applique pas
Ia64_microsoft-windows-ntdll_31bf3856ad364e35_6.1.7600.20573_none_59414664769698d5.manifestNe s'applique pas3,80412-Nov-200920:46Ne s'applique pas
Package_for_kb976038_rtm~31bf3856ad364e35~ia64~~6.1.1.0.mumNe s'applique pas1,95812-Nov-200923:12Ne s'applique pas
Wow64_microsoft-windows-kernel32_31bf3856ad364e35_6.1.7600.20573_none_fa99ef43bd749fa2.manifestNe s'applique pas4,65312-Nov-200920:11Ne s'applique pas
Wow64_microsoft-windows-ntdll_31bf3856ad364e35_6.1.7600.20573_none_bfb2e8446356c30a.manifestNe s'applique pas3,56612-Nov-200920:12Ne s'applique pas
Propriétés

ID d'article : 976038 - Dernière mise à jour : 13 janv. 2017 - Révision : 1

Commentaires