Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

Bộ lọc DirectShow không kết nối với các bộ lọc hạ lưu trên Windows 8 và Windows 7 SP1 với KB 2670838

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch thuật của Microsoft và có thể được Cộng đồng Microsoft chỉnh sửa lại thông qua công nghệ CTF thay vì một biên dịch viên chuyên nghiệp. Microsoft cung cấp các bài viết được cả biên dịch viên và phần mềm dịch thuật thực hiện và cộng đồng chỉnh sửa lại để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng nhiều ngôn ngữ Tuy nhiên, bài viết do máy dịch hoặc thậm chí cộng đồng chỉnh sửa sau không phải lúc nào cũng hoàn hảo. Các bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này: 2841589
Triệu chứng
Bạn đang sử dụng một bộ lọc DirectShow không kết nối với một bộ lọc hạ lưu trên Windows 8 và Windows 7 SP1 sau khi cài đặt chuyên biệt KB 2670838.  Trước khi cài đặt chuyên biệt KB 2670838 vấn đề này đã không xảy ra trên Windows 7 SP1.
  • Khi gọi cácCBasePin.ReceiveConnection chức năng giá trị trở lại VFW_E_INVALIDMEDIATYPE (0x80040200)

Nguyên nhân
Kiểm tra các loại phương tiện video mới đã được thêm vào lớp cơ sở DirectShow trên Windows 8.  Các kiểm tra có thể từ chối các loại phương tiện truyền thông không chính xác hoặc không xác định. Các kiểm tra được bổ sung để Bảo vệ Hệ thống khỏi tràn bộ đệm và bộ đệm overruns exploitations.

KB 2670838 cho Windows 7 SP1 Cập nhật hệ thống phụ DirectShow với cùng một thay đổi.
Giải pháp
Sau đây là các khuyến nghị mà có thể giúp đảm bảo mã của bạn đi kiểm tra an ninh mới:

  • Xác minh AM_MEDIA_TYPE cấu trúc cho các giá trị không hợp lệ. Cấu trúc này mô tả các định dạng của một mẫu phương tiện truyền thông.
  • Khi gọi CMediaType.AllocFormatBuffer để cấp phát bộ nhớ cho định dạng khối, đảm bảo rằng bạn đang đi đúng kích thước cần thiết cho các định dạng khối.

    Xin lưu ý: phương pháp này Cập nhật các cbFormatpbFormat Các thành viên của các AM_MEDIA_TYPE cấu trúc.
  • Xác minh BITMAPINFOHEADER cấu trúc cho các giá trị không hợp lệ
    • Đảm bảo biSize là tương đương với sizeof(BITMAPINFOHEADER)
    • Xác minh biSizeImage Đối với giá trị xấu (tức là > 0x40000000)
    • Xác minh biClrUsed Đối với giá trị xấu (tức là > 256)
Thông tin thêm
Các bước để tạo lại vấn đề bằng cách sử dụng GraphEdit:

GraphEdit có sẵn trong (Microsoft Windows phần mềm phát triển Kit (SDK)http://Go.Microsoft.com/fwlink/p/?LinkId=62332).

Bước 1. Đi đến mục tin thư thoại Bin của Windows SDK bật lên và chạy graphedt.exe.

Bước 2. Từ menu đồ thị , hãy nhấp vào Chèn bộ lọc. Một hộp thoại sẽ xuất hiện với một danh sách các bộ lọc trên hệ thống của bạn, tổ chức theo thể loại bộ lọc.

Bước 3. Tìm thấy bộ lọc của bạn trong thể loại thích hợp (thường được tìm thấy loại Bộ lọc DirectShow ) và bấm vào nút chọn một Chèn bộ lọc . Nếu bộ lọc của bạn không phải là một nguồn bộ lọc sau đó hãy chắc chắn rằng bạn đã thêm vào bộ lọc nguồn yêu cầu cho nó.

Bước 4. Chèn các bộ lọc cần thiết về phía hạ lưu.

Bước 5. Sau khi bạn đã thêm các bộ lọc, bạn có thể kết nối hai bộ lọc bằng cách kéo chuột từ một bộ lọc ra pin để một bộ lọc vào pin. Nếu các chân chấp nhận kết nối, GraphEdit rút ra một mũi tên kết nối chúng. Hãy thử này cho bộ lọc của bạn với các bộ lọc hạ lưu. Bạn sẽ nhìn thấy-
  • Nhập mã pin và sản lượng pin sẽ kết nối mà không có bất kỳ lỗi trên Windows 7 SP1.
  • GraphEdit sẽ hiển thị thông báo lỗi bạn trên Windows 8 và Windows 7 SP1 với KB 2670838 cài đặt chuyên biệt.
Điều khoản sử dụng trong bài viết này:

Lỗi tràn bộ đệm:

Một lỗi tràn bộ đệm xảy ra khi chúng tôi cố gắng để phù hợp với nhiều dữ liệu vào một bộ đệm hơn đã được giao. Một lỗi tràn bộ đệm có thể được sử dụng để thực thi mã độc hại trong một hệ thống.

Bộ đệm nghiêm:

A đệm overrun chủ yếu là do điều trị đầu vào đánh dấu kiểm, bên ngoài như dữ liệu đáng tin cậy. Các hành động của việc sao chép dữ liệu này, bằng cách sử dụng các hoạt động như CopyMemory, strcat, strcpy, hoặc wcscpy, có thể tạo ra kết quả unanticipated, mà cho phép hệ thống tham nhũng.

Liên kết:

Phương pháp CBasePin.ReceiveConnection

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

CMediaType lớp
http://MSDN.Microsoft.com/en-US/Library/Windows/Desktop/dd374727 (v=vs.85) .aspx

Phương pháp CMediaType.AllocFormatBuffer
http://MSDN.Microsoft.com/en-US/Library/Windows/Desktop/dd374728 (v=vs.85) .aspx

Cấu trúc AM_MEDIA_TYPE
http://MSDN.Microsoft.com/en-US/Library/Windows/Desktop/dd373477 (v=vs.85) .aspx

Cấu trúc BITMAPINFOHEADER
http://MSDN.Microsoft.com/en-US/Library/Windows/Desktop/dd183376 (v=vs.85) .aspx

Bằng cách sử dụng GraphEdit
http://MSDN.Microsoft.com/en-US/Library/Windows/Desktop/dd407274 (v=vs.85) .aspx

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

Warning: This article has been translated automatically

Thuộc tính

ID Bài viết: 2841589 - Xem lại Lần cuối: 04/24/2013 17:42:00 - Bản sửa đổi: 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 KbMtvi
Phản hồi
/c.gif?">