DirectShow filter tidak terhubung ke filter hilir Windows 8 dan Windows 7 SP1 dengan KB 2670838

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 2841589 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Gejala

Anda menggunakan DirectShow filter yang tidak terhubung ke hilir filter pada Windows 8 dan Windows 7 SP1 setelah menginstal KB 2670838.  Sebelum menginstal KB 2670838 masalah ini tidak terjadi pada Windows 7 SP1.
  • Ketika memanggilCBasePin.ReceiveConnection fungsi nilai yang dikembalikan VFW_E_INVALIDMEDIATYPE (0x80040200)

Penyebab

Cek yang baru untuk jenis video media telah ditambahkan ke kelas dasar DirectShow pada Windows 8.  Pemeriksaan dapat menolak jenis media yang salah atau tidak dikenal. Pemeriksaan ditambahkan untuk melindungi sistem dari buffer melimpah dan penyangga overruns Minelog.

KB 2670838 untuk Windows 7 SP1 pembaruan subsistem DirectShow dengan perubahan yang sama.

Pemecahan masalah

Berikut ini adalah rekomendasi yang dapat membantu memastikan kode Anda melewati pemeriksaan keamanan baru:

  • Memverifikasi AM_MEDIA_TYPE struktur untuk nilai-nilai yang tidak valid. Struktur ini menggambarkan format media sampel.
  • Ketika memanggil CMediaType.AllocFormatBuffer untuk mengalokasikan kehabisan memori untuk blok format, pastikan Anda lewat benar ukuran yang diperlukan untuk blok format.

    Harap dicatat: metode ini update cbFormat dan pbFormat anggota AM_MEDIA_TYPE struktur.
  • Memverifikasi BITMAPINFOHEADER struktur untuk nilai-nilai yang tidak valid
    • Pastikan biSize sama dengan sizeof(BITMAPINFOHEADER)
    • Memverifikasi biSizeImage untuk nilai buruk (yaitu mengatakan 0x40000000)
    • Memverifikasi biClrUsed untuk nilai buruk (yaitu mengatakan 256)

Informasi lebih lanjut

Langkah-langkah untuk mereproduksi masalah dengan menggunakan GraphEdit:

GraphEdit tersedia di (Microsoft Windows Software Development Kit (SDK)http://Go.Microsoft.com/fwlink/p/?LinkId=62332).

Langkah 1. Pergi ke folder Bin Windows SDK dan menjalankan graphedt.exe.

Langkah 2. Dari menu elemen bagan , klik Filter menyisipkan. Sebuah kotak dialog muncul dengan sebuah daftar filter pada sistem Anda, diselenggarakan oleh kategori filter.

Langkah 3. Menemukan filter Anda di bawah kategori yang sesuai (biasanya ditemukan di bawah kategori DirectShow filter ) dan klik pada tombol tekan Masukkan Filter . Jika filter Anda bukanlah sumber filter maka pastikan Anda telah menambahkan sumber diperlukan filter untuk itu.

Langkah 4. Masukkan hilir filter diperlukan.

Langkah 5. Setelah Anda menambahkan filter, Anda dapat tautan langsung dua filter dengan menyeret gulir dengan mouse dari satu filter output pin ke pin input filter lain. Jika PIN menerima sambungan, GraphEdit menarik panah yang tautan langsung mereka. Coba ini filter dengan filter hilir. Anda akan melihat-
  • Input pin dan output pin akan tautan langsung tanpa kesalahan pada Windows 7 SP1.
  • GraphEdit akan menunjukkan Anda pesan kesalahan pada Windows 8 dan Windows 7 SP1 dengan KB 2670838 diinstal.
Istilah yang digunakan dalam artikel ini:

Mengarah ke buffer Overflow:

Mengarah ke buffer overflow terjadi ketika kita mencoba untuk menyesuaikan lebih banyak data ke buffer daripada dialokasikan. Mengarah ke buffer overflow dapat digunakan untuk melaksanakan kode berbahaya dalam sistem.

Buffer Overruns:

A buffer overrun pada dasarnya disebabkan oleh memperlakukan dicentang, eksternal input sebagai data yang dapat dipercaya. Undang-Undang menyalin data ini, menggunakan operasi seperti CopyMemory, strcat, strcpy, atau wcscpy, dapat menciptakan hasil yang tak terduga, yang memungkinkan untuk sistem korupsi.

Link terkait:

Metode CBasePin.ReceiveConnection

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

CMediaType kelas
.aspx http://msdn.Microsoft.com/en-US/Library/Windows/Desktop/dd374727 (v=vs.85)

Metode CMediaType.AllocFormatBuffer
.aspx http://msdn.Microsoft.com/en-US/Library/Windows/Desktop/dd374728 (v=vs.85)

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

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

Menggunakan GraphEdit
.aspx http://msdn.Microsoft.com/en-US/Library/Windows/Desktop/dd407274 (v=vs.85)

Properti

ID Artikel: 2841589 - Kajian Terakhir: 24 April 2013 - Revisi: 1.0
Berlaku bagi:
  • 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
Kata kunci: 
kbmt KB2841589 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan oleh perangkat lunak penerjemahan mesin Microsoft, dan mungkin telah diedit oleh Masyarakat Microsoft melalui teknologi CTF dan bukan oleh seorang penerjemah profesional. Microsoft menawarkan baik artikel yang diterjemahkan oleh manusia maupun artikel hasil editan terjemahan oleh mesin/komunitas, sehingga Anda dapat mengakses semua artikel di Sentra Pengetahuan yang kami miliki dalam berbagai bahasa. Namun artikel hasil editan mesin atau bahkan komunitas tidak selalu sempurna. Artikel ini dapat mengandung kesalahan dalam hal kosa kata, sintaksis atau tatabahasa, sangat mirip dengan penutur asing yang membuat kekeliruan ketika berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab atas ketidakakuratan, kesalahan atau kerugian apa pun akibat dari kekeliruan dalam penerjemahan isi atau penggunaannya oleh pelanggan kami. Microsoft juga akan senantiasa memperbarui perangkat lunak penerjemahan mesin dan alat untuk menyempurnakan Editan Hasil Penerjemahan Mesin.
Klik disini untuk melihat versi Inggris dari artikel ini: 2841589

Berikan Masukan

 

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