Sie sind zurzeit offline. Es wird auf die erneute Herstellung einer Internetverbindung gewartet.

DirectShow-Filter stellt keine Verbindung zu den downstream-Filter für Windows 8 und Windows 7 SP1 mit KB 2670838 her.

Wichtig: Dieser Artikel wurde maschinell übersetzt und wird dann möglicherweise mithilfe des Community Translation Framework (CTF) von Mitgliedern unserer Microsoft Community nachbearbeitet. Weitere Informationen zu CTF finden Sie unter http://support.microsoft.com/gp/machine-translation-corrections/de.

2841589
Problembeschreibung
Sie verwenden einen DirectShow-Filter, der nicht an eine nachgeschaltete Filter auf Windows 8 und Windows 7 SP1 angeschlossen wird, nach der Installation von KB 2670838.  Vor der Installation von KB 2670838 dieses Problem tritt nicht auf Windows 7 SP1.
  • Beim Aufrufen derCBasePin.ReceiveConnection Funktion zurückgegebene Wert ist VFW_E_INVALIDMEDIATYPE (0x80040200)

Ursache
Neue Überprüfungen für video Medientypen wurden auf die Basisklasse "DirectShow" auf Windows 8 hinzugefügt.  Diese Überprüfungen können falsche oder unbekannte Medien ablehnen. Diese Überprüfungen werden hinzugefügt, Systeme vor Pufferüberläufen schützen und zu einem Pufferüberlauf Ausnutzungsmöglichkeiten.

KB 2670838 für Windows 7 SP1 aktualisiert DirectShow-Subsystem mit gleichen Änderungen vor.
Lösung
Es folgen Empfehlungen, die sicherstellen, dass der Code die neue Sicherheitsprüfungen besteht:

  • Stellen Sie sicher AM_MEDIA_TYPE Struktur für ungültige Werte. Diese Struktur beschreibt das Format des ein Medienbeispiel.
  • Beim Aufrufen CMediaType.AllocFormatBuffer zum Reservieren von Speicher für die Format-Block sicher, dass Sie die richtige Größe für den Format-Block erforderlich übergeben.

    Bitte beachten: Diese Methode aktualisiert die cbFormat und pbFormat Mitglieder der AM_MEDIA_TYPE -Struktur.
  • Stellen Sie sicher BITMAPINFOHEADER-Struktur für ungültige Werte
    • Stellen Sie sicher biSize ist gleich sizeof(BITMAPINFOHEADER)
    • Stellen Sie sicher biSizeImage Ungültiger Wert (0 x d. h. > 40000000)
    • Stellen Sie sicher biClrUsed Ungültiger Wert (d. h. > 256)
Weitere Informationen
Schritte zum Reproduzieren des Problems mit GraphEdit:

GraphEdit steht in der Microsoft Windows Software Development Kit (SDK))http://go.Microsoft.com/fwlink/p/?LinkId=62332).

Schritt 1. Wechseln Sie zum Ordner Bin des Windows SDK, und führen Sie graphedt.exe.

Schritt 2. Klicken Sie im Menü Diagramm auf Filter einfügen. Ein Dialogfeld mit einer Liste der Filter auf Ihrem System, nach Kategorie geordnet.

Schritt 3. Finden Sie den Filter unter der entsprechenden Kategorie (in der Regel finden Sie unter Kategorie DirectShow-Filter ) und klicken Sie auf die Schaltfläche Filter einfügen . Wenn der Filter kein Quellfilter dann stellen Sie sicher, dass haben Sie dafür erforderlichen Quellfilter hinzugefügt.

Schritt 4. Legen Sie den erforderlichen downstream-Filter.

Schritt 5. Nachdem Sie die Filter hinzugefügt haben, können Sie zwei Filter durch Ziehen der Maus von Filterausgang einen Filter auf einen anderen Filter Filtereingang verbinden. Wenn die Pins auf die Verbindung akzeptiert, zeichnet GraphEdit einen Pfeil, der diese miteinander verbinden. Versuchen Sie dies für den Filter mit dem downstream-Filter. Sie sehen-
  • Input und Output-Pin werden ohne Fehler unter Windows 7 SP1 herstellen.
  • GraphEdit zeigen Sie Fehlermeldung auf Windows 8 und Windows 7 SP1 mit KB-2670838 installiert.
In diesem Artikel verwendeten Begriffe:

Pufferüberlauf:

Ein Pufferüberlauf tritt auf, wenn wir versuchen, mehr Daten in einen Puffer als belegt wurde angepasst. Ein Pufferüberlauf kann zum Ausführen von bösartigem Code in einem System verwendet werden.

Pufferüberläufe:

Ein Pufferüberlauf ist im wesentlichen zurückzuführen unchecked, externe Eingabe als vertrauenswürdige Daten behandelt. Der Vorgang der Kopierens diese Daten mithilfe von Operationen wie CopyMemory, Strcat, Strcpy oder Wcscpy, können unerwartete Ergebnisse erstellen die Beschädigungen des Systems ermöglicht.

Weitere Links:

CBasePin.ReceiveConnection-Methode

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

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

CMediaType.AllocFormatBuffer-Methode
http://msdn.Microsoft.com/en-us/library/Windows/Desktop/dd374728 (v=vs.85) aspx

AM_MEDIA_TYPE-Struktur
http://msdn.Microsoft.com/en-us/library/Windows/Desktop/dd373477 (v=vs.85) aspx

BITMAPINFOHEADER-Struktur
http://msdn.Microsoft.com/en-us/library/Windows/Desktop/dd183376 (v=vs.85) aspx

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

DirectShow, KB 2670838, ReceiveConnection, VFW_E_INVALIDMEDIATYPE , 0x80040200, AllocFormatBuffer, BITMAPINFOHEADER

Warnung: Dieser Artikel wurde automatisch übersetzt

Eigenschaften

Artikelnummer: 2841589 – Letzte Überarbeitung: 04/24/2013 17:35:00 – Revision: 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 KbMtde
Feedback