DirectShow filtrov sa nepripojí k následným filter na Windows 8 a Windows 7 SP1 s KB 2670838

Preklady článku Preklady článku
ID článku: 2841589 - Zobraziť produkty, ktorých sa tento článok týka.
Rozbaliť všetko | Zbaliť všetko

Príznaky

Používate DirectShow filter, ktorý sa nemôže pripojiť k následným filter na Windows 8 a Windows 7 SP1 po inštalácii KB 2670838.  Pred inštaláciou KB 2670838 tento problém sa nevyskytuje na Windows 7 SP1.
  • Pri volaníCBasePin.ReceiveConnection hodnota vrátená funkciou je VFW_E_INVALIDMEDIATYPE (0x80040200)

Príčina

Nové kontroly pre typy video médií boli pridané k základnej triedy DirectShow o systéme Windows 8.  Tieto kontroly môžu zamietnuť nesprávne alebo neznáme médií. Tieto kontroly sú pridané chrániť systémov z pretečeniami bufferu a medzipamäte povolených využitie.

KB 2670838 pre Windows 7 SP1 aktualizuje DirectShow subsystému rovnaké zmeny.

Riešenie

Odporúčania, ktoré pomáhajú zabezpečiť váš kód prechádza nové bezpečnostné kontroly sú:

  • Overenie AM_MEDIA_TYPE Štruktúra pre neplatné hodnoty. Táto štruktúra popisuje formát médií vzorky.
  • Pri volaní CMediaType.AllocFormatBuffer vyhradiť pamäť pre blok formáte, uistite sa, že ste pominuteľní správnu veľkosť pre formát bloku.

    Upozornenie: Táto metóda aktualizuje cbFormat a pbFormat Členovia AM_MEDIA_TYPE štruktúra.
  • Overenie BITMAPINFOHEADER štruktúru pre neplatné hodnoty
    • presvedčiť sa biSize sa rovná sizeof(BITMAPINFOHEADER)
    • Overenie biSizeImage pre zlé hodnoty (t. j. 0x40000000 >)
    • Overenie biClrUsed pre zlé hodnoty (t. j. > 256)

Ďalšie informácie

Kroky na reprodukovanie problému pomocou GraphEdit:

GraphEdit je k dispozícii v Microsoft Windows Software Development Kit (SDK))http://go.Microsoft.com/fwlink/p/?LinkId=62332).

Krok 1. Choďte do zložky Bin Windows SDK a spustite graphedt.exe.

Krok 2. V ponuke graf kliknite na položku Vložiť filtre. Dialógové okno so zoznamom filtrov na vašom systéme, organizované podľa kategórií filtra.

Krok 3. Nájsť váš filter podľa príslušnej kategórie (zvyčajne sa nachádza v kategórii DirectShow filtrov ) a kliknite na tlačidlo Vložiť Filter . Ak filter nie je filter zdroja potom uistite sa, že ste pridali potrebné zdrojový filter pre to.

Krok 4. Vložte požadované následný filter.

Krok 5. Po pridaní filtre, môžete pripojiť dva filtre ťahaním myši z jedného filtra výstupnej spojky k vstupnej spojke ďalší filter. Ak kolíky akceptovať pripojenia, GraphEdit kreslí šíp ich spájajú. Skúste to na váš filter s následným filter. Uvidíte-
  • Vstupnej a výstupnej spojky spojení bez chyby na Windows 7 SP1.
  • GraphEdit zobrazí chybové hlásenie na Windows 8 a Windows 7 SP1 s KB 2670838 nainštalovaný.
Pojmy použité v tomto článku:

Pretečenie vyrovnávacej pamäte:

Pretečenie medzipamäte dochádza, keď sa snažíme vybaviť viac údajov do medzipamäte, ako bolo pridelené. Pretečenie je možné spustenie škodlivého kódu v systéme.

Priebehy medzipamäte:

Preplnenie medzipamäte A je v podstate spôsobená liečbe nezaškrtnuté, externé vstupy ako dôveryhodné údaje. AKT kopírovanie dáta, pomocou operácie, ako sú CopyMemory, strcat, strcpy alebo wcscpy; môžete vytvoriť neočakávané výsledky, ktoré umožňuje systému korupcie.

Súvisiace odkazy:

CBasePin.ReceiveConnection metóda

http://MSDN.Microsoft.com/en-us/library/Windows/Desktop/dd368737 (v=vs.85) .aspx

CMediaType trieda
http://MSDN.Microsoft.com/en-us/library/Windows/Desktop/dd374727 (v=vs.85) .aspx

CMediaType.AllocFormatBuffer metóda
http://MSDN.Microsoft.com/en-us/library/Windows/Desktop/dd374728 (v=vs.85) .aspx

AM_MEDIA_TYPE štruktúra
http://MSDN.Microsoft.com/en-us/library/Windows/Desktop/dd373477 (v=vs.85) .aspx

BITMAPINFOHEADER štruktúra
http://MSDN.Microsoft.com/en-us/library/Windows/Desktop/dd183376 (v=vs.85) .aspx

Pomocou GraphEdit
http://MSDN.Microsoft.com/en-us/library/Windows/Desktop/dd407274 (v=vs.85) .aspx

Vlastnosti

ID článku: 2841589 - Posledná kontrola: 24. apríla 2013 - Revízia: 1.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • 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
Kľúčové slová: 
kbmt KB2841589 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem: 2841589

Odošlite odozvu

 

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