Ознаки
Розглянемо такий сценарій:
-
Ви запускаєте Microsoft .NET Framework 3.5 із пакетом оновлень 1 (SP1) на основі програми Windows Presentation Foundation (WPF).
-
Програма WPF використовує апаратний канал рендерінгу.
-
Програма завантажує та вивантажує багато доменів застосунків, які містять один або кілька настроюваних компонентів надбудови WPF.
У цьому випадку застосунок стикається з System.Runtime.InteropServices.COMException виняток, а потім програма аварійно завершує роботу.
Спосіб вирішення
Відомості про виправлення
Від корпорації Майкрософт доступне підтримуване виправлення. Однак, це виправлення, призначене для виправлення, лише проблема, описана в цій статті. Застосувати це виправлення лише до систем, які відчувають цю проблему. Це виправлення може отримати додаткове тестування. Таким чином, якщо ви не серйозно постраждали від цієї проблеми, радимо дочекатися наступного оновлення програмного забезпечення, яке містить це виправлення. Щоб завантажити це виправлення з колекції кодів MSDN, відвідайте веб-сайт корпорації Майкрософт:
http://code.msdn.microsoft.com/KB2276690Примітка Колекція кодів MSDN відображає мови, для яких доступне виправлення. Якщо ви не бачите мову в списку, це полягає в тому, що сторінка ресурсів колекції кодів недоступна для цієї мови. Примітка. Якщо виникають додаткові проблеми або якщо потрібно виправити неполадки, можливо, доведеться створити окремий запит на обслуговування. Звичайні витрати на підтримку буде застосовуватися до додаткових питань і питань підтримки, які не мають права на це конкретне виправлення. Повний список номерів телефонів служби підтримки клієнтів і підтримки корпорації Майкрософт або створення окремого запиту на обслуговування відвідайте веб-сайт корпорації Майкрософт:
http://support.microsoft.com/contactus/?ws=support
Попередні вимоги
Щоб застосувати це виправлення, потрібно мати .NET Framework 3.5 пакет оновлень 1 (SP1) інстальовано.
Необхідність перезавантаження
Не потрібно перезавантажувати комп'ютер після застосування цього виправлення.
Відомості про заміну виправлень
Це виправлення не замінює будь-які інші виправлення.
Відомості про файл
Англійська версія цього виправлення, має атрибути файлу (або новіші атрибути файлів), перелічені в наведеній нижче таблиці. Дати й час для цих файлів перелічено за всесвітнім координованим часом (UTC). Коли ви переглядаєте відомості про файл, вони перетворюються на місцевий час. Щоб знайти різницю між UTC і місцевим часом, перейдіть на вкладку Часовий пояс на Панелі керування в розділі "Дата й час ".
Для всіх підтримуваних версій Windows Server 2003 і Windows XP на базі x86-процесорів
|
Ім'я файлу |
Версія файлу |
Розмір файлу |
Дата |
Час |
Платформа |
|---|---|---|---|---|---|
|
Presentationcore.dll |
3.0.6920.4033 |
4,218,880 |
02 вересня 2010 р. |
01:32 |
x86 |
|
Presentationframework.dll |
3.0.6920.4033 |
5,279,744 |
02 вересня 2010 р. |
01:28 |
x86 |
|
Presentationhost.exe |
4.0.40305.0 |
295,264 |
02 вересня 2010 р. |
01:28 |
x86 |
|
Presentationhostdll.dll |
3.0.6920.4033 |
130,408 |
02 вересня 2010 р. |
01:32 |
x86 |
|
Presentationhostproxy.dll |
4.0.31106.0 |
99,176 |
02 вересня 2010 р. |
01:32 |
x86 |
|
Windowsbase.dll |
3.0.6920.4033 |
1,249,280 |
02 вересня 2010 р. |
01:32 |
x86 |
Для всіх підтримуваних x64-процесорів версій Windows Server 2003 і Windows XP
|
Ім'я файлу |
Версія файлу |
Розмір файлу |
Дата |
Час |
Платформа |
|---|---|---|---|---|---|
|
Presentationcore.dll |
3.0.6920.4033 |
3,997,696 |
02 вересня 2010 р. |
00:53 |
x64-розрядна, x64- |
|
Presentationframework.dll |
3.0.6920.4033 |
4,636,672 |
02 вересня 2010 р. |
00:48 |
x64-розрядна, x64- |
|
Presentationhost.exe |
4.0.31106.0 |
320,352 |
02 вересня 2010 р. |
00:48 |
x64-розрядна, x64- |
|
Presentationhostdll.dll |
3.0.6920.4033 |
171,368 |
02 вересня 2010 р. |
00:53 |
x64-розрядна, x64- |
|
Presentationhostproxy.dll |
4.0.31106.0 |
109,928 |
02 вересня 2010 р. |
00:53 |
x64-розрядна, x64- |
|
Windowsbase.dll |
3.0.6920.4033 |
1,110,016 |
02 вересня 2010 р. |
00:53 |
x64-розрядна, x64- |
Для всіх підтримуваних x86-процесорів версій Windows Vista з пакетом оновлень 2 (SP2) і Windows Server 2008 із пакетом оновлень 2 (SP2)
|
Ім'я файлу |
Версія файлу |
Розмір файлу |
Дата |
Час |
Платформа |
|---|---|---|---|---|---|
|
Presentationcore.dll |
3.0.6920.4033 |
4,218,880 |
09 вересня 2010 р. |
10:52 |
x86 |
|
Presentationfontcache.exe.config |
Not Applicable |
161 |
03 квітня 2009 р. |
21:25 |
Not Applicable |
|
Wpfgfx_v0300.dll |
3.0.6920.4003 |
1,736,024 |
17 червня 2009 р. |
08:03 |
x86 |
|
Presentationframework.dll |
3.0.6920.4033 |
5,279,744 |
09 вересня 2010 р. |
10:52 |
x86 |
|
Presentationhostdll.dll |
3.0.6920.4033 |
130,408 |
09 вересня 2010 р. |
10:52 |
x86 |
|
Windowsbase.dll |
3.0.6920.4033 |
1,249,280 |
09 вересня 2010 р. |
10:52 |
x86 |
Для всіх підтримуваних x64-процесорів версій Windows Vista з пакетом оновлень 2 (SP2) і Windows Server 2008 з пакетом оновлень 2 (SP2)
|
Ім'я файлу |
Версія файлу |
Розмір файлу |
Дата |
Час |
Платформа |
|---|---|---|---|---|---|
|
Presentationcore.dll |
3.0.6920.4033 |
3,997,696 |
09 вересня 2010 р. |
10:52 |
x64-розрядна, x64- |
|
Presentationfontcache.exe.config |
Not Applicable |
161 |
03 квітня 2009 р. |
20:58 |
Not Applicable |
|
Wpfgfx_v0300.dll |
3.0.6920.4003 |
2,254,168 |
17 червня 2009 р. |
08:03 |
x64-розрядна, x64- |
|
Presentationframework.dll |
3.0.6920.4033 |
4,636,672 |
09 вересня 2010 р. |
10:52 |
x64-розрядна, x64- |
|
Presentationhostdll.dll |
3.0.6920.4033 |
171,368 |
09 вересня 2010 р. |
10:52 |
x64-розрядна, x64- |
|
Windowsbase.dll |
3.0.6920.4033 |
1,110,016 |
09 вересня 2010 р. |
10:52 |
x64-розрядна, x64- |
Для всіх підтримуваних x86-процесорів версії Windows 7
|
Ім'я файлу |
Версія файлу |
Розмір файлу |
Дата |
Час |
Платформа |
|---|---|---|---|---|---|
|
Presentationcore.dll |
3.0.6920.5012 |
4,218,880 |
11 вересня 2010 р. |
01:29 |
x86 |
|
Presentationfontcache.exe.config |
Not Applicable |
161 |
10 червня 2009 р. |
21:14 |
Not Applicable |
|
Wpfgfx_v0300.dll |
3.0.6920.4902 |
1,736,536 |
10 червня 2009 р. |
21:14 |
x86 |
|
Presentationframework.dll |
3.0.6920.5012 |
5,279,744 |
11 вересня 2010 р. |
01:29 |
x86 |
|
Presentationhostdll.dll |
3.0.6920.5012 |
130,408 |
11 вересня 2010 р. |
01:29 |
x86 |
|
Presentationhost.exe |
4.0.31106.0 |
295,264 |
11 вересня 2010 р. |
01:29 |
x86 |
|
Presentationhostproxy.dll |
4.0.31106.0 |
99,176 |
11 вересня 2010 р. |
01:29 |
x86 |
|
Windowsbase.dll |
3.0.6920.5012 |
1,253,376 |
11 вересня 2010 р. |
01:29 |
x86 |
Для всіх підтримуваних версій Windows 7 і Windows Server 2008 R2 на базі x64-процесорів
|
Ім'я файлу |
Версія файлу |
Розмір файлу |
Дата |
Час |
Платформа |
|---|---|---|---|---|---|
|
Presentationcore.dll |
3.0.6920.5012 |
3,997,696 |
11 вересня 2010 р. |
01:28 |
x64-розрядна, x64- |
|
Presentationfontcache.exe.config |
Not Applicable |
161 |
10 червня 2009 р. |
20:30 |
Not Applicable |
|
Wpfgfx_v0300.dll |
3.0.6920.4902 |
2,255,176 |
10 червня 2009 р. |
20:30 |
x64-розрядна, x64- |
|
Presentationframework.dll |
3.0.6920.5012 |
4,636,672 |
11 вересня 2010 р. |
01:28 |
x64-розрядна, x64- |
|
Presentationhostdll.dll |
3.0.6920.5012 |
171,368 |
11 вересня 2010 р. |
01:28 |
x64-розрядна, x64- |
|
Presentationhost.exe |
4.0.31106.0 |
320,352 |
11 вересня 2010 р. |
01:28 |
x64-розрядна, x64- |
|
Presentationhostproxy.dll |
4.0.31106.0 |
109,928 |
11 вересня 2010 р. |
01:28 |
x64-розрядна, x64- |
|
Windowsbase.dll |
3.0.6920.5012 |
1,114,112 |
11 вересня 2010 р. |
01:28 |
x64-розрядна, x64- |
Стан
Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "Стосується".
Інші способи вирішення
Щоб вирішити цю проблему, вимкніть апаратний рендерінг конвеєр, а потім увімкніть програмний рендерінг конвеєр. Щоб вимкнути апаратний трубопровід відтворення та ввімкнути канал рендерінгу програмного забезпечення, скористайтеся одним із наведених нижче способів.
-
Установіть перелічення System.Windows.Interop.RenderMode.Нижче наведено приклад коду, який задає перелічення System.Windows.Interop.RenderMode, щоб увімкнути канал відтворення програмного забезпечення під час завантаження вікна WPF:
private void OnLoaded(object sender, EventArgs e){System.Windows.Interop.HwndSource hwndSource = PresentationSource.FromVisual(this) as System.Windows.Interop.HwndSource;System.Windows.Interop.HwndTarget hwndTarget = hwndSource.CompositionTarget; hwndTarget.RenderMode = System.Windows.Interop.RenderMode.SoftwareOnly;}
-
Установіть розділ реєстру DisableHWAcceleration .Увага! Цей розділ, метод або завдання містить кроки, які визначають, як змінити реєстр. Проте неправильне внесення змін до реєстру може призвести до виникнення серйозних проблем. Тому будьте уважні, виконуючи ці кроки. Для додаткового захисту, перш ніж вносити зміни, обов’язково створіть резервну копію реєстру. Якщо виникне проблема, реєстр можна буде відновити. Щоб отримати докладніші відомості про створення резервної копії та відновлення реєстру, клацніть номер статті, щоб переглянути її в базі знань Microsoft.
322756 Як створити резервну копію та відновити реєстр у Вікніпопередження Цей метод вимикає апаратний рендерінг конвеєр для всіх WPF застосунків на комп'ютері. Таким чином, метод не заохочується, як правило, за винятком випадків, коли клієнти контролювати середовища і не проти ефект для всіх WPF додатків.
-
Натисніть кнопку Пуск, виберіть команду Виконати, введіть regedit і натисніть клавішу Enter.
-
Знайдіть і клацніть такий підрозділ реєстру:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics
-
Установіть значення 1 запису реєстру DisableHWAcceleration .Примітка. Якщо запис реєстру DisableHWAcceleration не існує, клацніть правою кнопкою миші підрозділ реєстру, наведіть вказівник миші на створити та виберіть значення рядка , щоб створити новий запис реєстру. Введіть DisableHWAcceleration для імені нового запису реєстру, двічі клацніть DisableHWAcceleration, а потім змініть значення DisableHWAcceleration на 1.
-
Закрийте редактор реєстру.
-
Додаткові відомості
Щоб отримати додаткові відомості про програмного забезпечення рендерінг конвеєр, відвідайте такий веб-сайт Microsoft Developer Network (MSDN):Загальні відомості про програмний рендерінг конвеєрДля отримання додаткових відомостей про параметри реєстру WPF рендерінгу, відвідайте такий веб-сайт MSDN:Загальні відомості про параметри реєстру WPF рендерінгуЩоб отримати додаткові відомості про перелічення System.Windows.Interop.RenderMode відвідайте такий веб-сайт MSDN:Загальні відомості про перелічення "System.Windows.Interop.RenderMode"