Фільтра DirectShow не буде підключено до вхідного потоку фільтр для Windows 8 і Windows 7 SP1 з 2670838 КБ

Переклади статей Переклади статей
Номер статті: 2841589 - Показ продуктів, яких стосується ця стаття.
Розгорнути все | Згорнути все

Ознаки

Використовується DirectShow фільтр, який не буде підключено до вхідного потоку фільтр на Windows 8 і Windows 7 SP1 Після установки 2670838 КБ.  Перед установкою КБ 2670838 ця проблема не з'являється на Windows 7 SP1.
  • При дзвінках наCBasePin.ReceiveConnection значення, яке повертається функцією є VFW_E_INVALIDMEDIATYPE (0x80040200)

причина

Нові перевірки типів відео ЗМІ було додано до базового класу DirectShow на Windows 8.  Ці перевірки право відмовити невідомий або неправильні медіафайлів. Ці перевірки додаються до захисту системи від переповнення буфера і буфера overruns exploitations.

КБ-2670838 для Windows 7 SP1 оновлює DirectShow підсистеми самі зміни.

Розв'язанн

Нижче наведено рекомендації, які забезпечують ваш код проходить нову перевірку безпеки:

  • Перевірте, чи AM_MEDIA_TYPE структура для неприпустимі значення. Ця структура описує формат зразка ЗМІ.
  • При дзвінках CMediaType.AllocFormatBuffer виділити пам'ять для формату блоку, переконайтеся, що ви передачі правильний розмір, потрібні для блока формат.

    Будь ласка, зверніть увагу: цей метод оновлення на cbFormat і pbFormat Члени на AM_MEDIA_TYPE Структура.
  • Перевірте, чи BITMAPINFOHEADER структури для неприпустимі значення
    • Упевнитися biSize дорівнює SizeOf(BITMAPINFOHEADER)
    • Перевірте, чи biSizeImage для погано значення (тобто > 0x40000000)
    • Перевірте, чи biClrUsed для погано значення (тобто > 256)

Додаткові відомості

Кроки, щоб відтворити проблему за допомогою GraphEdit:

GraphEdit надається в (Microsoft Windows Підтримка програмного забезпечення розвитку Kit (SDK)http://Go.Microsoft.com/fwlink/p/?LinkId=62332).

Крок 1. Перейти до Бен каталог вхідних повідомлень Windows SDK і запустити graphedt.exe.

Крок 2.гістограма меню натисніть кнопку Вставити фільтри. У діалоговому вікні відображається список фільтрів на вашій системі, організований фільтр Категорія.

Крок 3. Знайти фільтр під відповідну категорію (зазвичай знаходяться під категорію DirectShow фільтри ) і натисніть на кнопку Додати фільтр . Якщо фільтр не фільтра джерела, то переконайтеся, що ви додати необхідні вихідний фільтр для нього.

Крок 4. Вставте потрібний фільтр вниз за течією.

Крок 5. Після того, як ви додали фільтри, ви можете підключити два фільтри шляхом перетягування миші один фільтр вихідного контакту до іншої фільтр введення PIN-коду. Якщо контакти повинні прийняти з'єднання, GraphEdit звертає стрілки підключення їх. Спробуйте це для фільтра з вхідного потоку фільтр. Ви побачите-
  • Без будь-яких помилок на Windows 7 SP1 буде підключатися pin, вхідного і вихідного контакту.
  • GraphEdit покаже вам протокол IMAP про помилку на Windows 8 і Windows 7 SP1 з КБ 2670838 встановлений.
Терміни, що використовуються в цій статті:

Переповнення буфера:

переповнення буфера відбувається, коли ми намагаємося, щоб вмістити більше даних в буфер, ніж було виділено. переповнення буфера дозволяє виконання шкідливого програмного коду в системі.

Буфер Overruns:

переповнення буфера A по суті викликані лікування не зупинити, зовнішні вводу як надійного даних. статутне право про копіювання ці дані, за допомогою таких операцій, як CopyMemory, strcat, strcpy () або wcscpy, може створити непередбачені результати, який дозволяє для системи корупції.

Посилання по темі:

CBasePin.ReceiveConnection метод

http://MSDN.Microsoft.com/EN-US/Library/Windows/Desktop/dd368737 (v=vs.85). aspx

CMediaType клас
http://MSDN.Microsoft.com/EN-US/Library/Windows/Desktop/dd374727 (v=vs.85). aspx

CMediaType.AllocFormatBuffer метод
http://MSDN.Microsoft.com/EN-US/Library/Windows/Desktop/dd374728 (v=vs.85). aspx

AM_MEDIA_TYPE структури
http://MSDN.Microsoft.com/EN-US/Library/Windows/Desktop/dd373477 (v=vs.85). aspx

BITMAPINFOHEADER структури
http://MSDN.Microsoft.com/EN-US/Library/Windows/Desktop/dd183376 (v=vs.85). aspx

За допомогою GraphEdit
http://MSDN.Microsoft.com/EN-US/Library/Windows/Desktop/dd407274 (v=vs.85). aspx

Властивості

Номер статті: 2841589 - Востаннє переглянуто: 24 квітня 2013 р. - Редакція: 1.0
Застосовується до:
  • Windows 8
  • Windows 8 Enterprise
  • Windows 8 Pro
  • Windows 7 Enterprise
  • Windows 7 Ultimate
  • Windows 7 Professional
  • Windows 7 Home Premium
  • Windows 7 Home Basic
  • Windows 7 Service Pack 1
Ключові слова: 
kbmt KB2841589 KbMtuk
Машинний переклад
УВАГА! Цю статтю переклала програма машинного перекладу Microsoft, а не людина. Корпорація Microsoft пропонує вам як машинні переклади, так і переклади фахівців, щоб Ви мали доступ до всіх статей бази знань рідною мовою. Проте стаття, яку переклав комп’ютер, не завжди бездоганна. Вона може містити лексичні, синтаксичні або граматичні помилки. Так само помиляється іноземець, спілкуючись вашою рідною мовою. Корпорація Microsoft не несе відповідальність за жодні неточності, помилки або шкоду, завдану неправильним перекладом змісту або його використанням з боку користувачів. Крім того, корпорація Microsoft часто оновлює програму машинного перекладу.
Клацніть тут, щоб переглянути цю статтю англійською мовою: 2841589

Надіслати відгук

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com