2008-09-23 33 views
13

Bao nhiêu hàng đợi cho một cửa sổ tiêu chuẩn được giữ? Điều gì xảy ra khi hàng đợi tràn?Hàng đợi tin nhắn Win32 sâu bao nhiêu?

Tài liệu dành cho GetMessage và người thân không nói gì về điều này và PeekMessage chỉ cung cấp cho bạn một/không cho một số lớp thư nhất định, chứ không phải số lượng thư.

This page nói rằng hàng đợi được triển khai bằng cách sử dụng tệp được ánh xạ bộ nhớ và không có giới hạn số lượng thư, nhưng trang đó là về WinCE. Điều này cũng áp dụng cho máy tính để bàn Win32?

Trả lời

13

10000 theo mặc định, nhưng nó có thể được điều chỉnh thông qua sổ đăng ký.

Nếu hàng đợi tràn, PostMessage không thành công.

Tài liệu ở đây:

PostMessage function on MSDN

+0

Điều đó bao gồm 2000/XP - bất kỳ ý tưởng nào về Vista? –

+0

Tôi chỉ nhìn vào khóa sổ đăng ký được liệt kê trong bài viết đó trên máy Vista Business SP1 và được đặt là 10000. Tôi không biết liệu đó có phải là yếu tố duy nhất trong việc xác định độ dài hàng đợi trên Vista hay không. – Branan

+0

Tôi không * BIẾT * nhưng có thể sẽ không khác. Vista không phải là cách mạng, tôi không nghĩ rằng ... –

3

Như đã trình bày trong bài viết MSDN, nếu bạn cần phải lo lắng về kích thước của hàng đợi tin nhắn, bạn có thể được tốt hơn off thiết kế lại ứng dụng của bạn.

+0

Trong trường hợp này, chúng tôi đang ở phía bên kia của hàng đợi; trình điều khiển thiết bị của chúng tôi đang đăng các tin nhắn và một ứng dụng Flash đồ chơi bị bogging xuống sau vài phút. –

Các vấn đề liên quan