Какие сообщения отправляются при вызове IDirect3DDevice9:: Сброс

#c #windows #directx #directx-9

#c #Windows #directx #directx-9

Вопрос:

Документация MSDN (http://msdn.microsoft.com/en-us/library/bb174425(v=vs.85).aspx) говорит, что «Приложения Direct3D 9 могут ожидать, что им будут отправлены сообщения во время этого вызова». Какие именно сообщения приложение должно ожидать отправки в свою функцию WndProc?

Ответ №1:

Насколько я знаю, это просто означает «обычные сообщения». Как и в, сообщения будут отправляться в ваше приложение обычным образом, поэтому вы все равно будете получать сообщения при перемещении мыши, или если пользователь попытается закрыть окно, или при любых других событиях, которые вызывают отправку сообщений в ваш процесс.

Я полагаю, они просто говорят, что вы должны быть уверены, что справитесь с этой ситуацией (если мышь перемещается, не пытайтесь перерисовать курсор, если устройство находится в процессе сброса)

Имейте в виду, что Direct3D и Windows message pump (или, если на то пошло, весь оконный менеджер) ничего не знают друг о друге. Вот почему вам приходится выполнять всю тяжелую работу, например, при переключении между оконным и полноэкранным режимами. DirectX только знает об устройстве и о том, как выполнять запись на HDC , к которому оно привязано. Он не отправляет вам никаких специальных сообщений и не обрабатывает какие-либо сообщения для вас.

Таким образом, они просто говорят «не предполагайте, что Windows перестанет отправлять вам сообщения только потому, что ваше устройство занято сбросом настроек».

Комментарии:

1. Думаю, мне действительно интересно, будет ли вызов Reset генерировать какие-либо сообщения сам по себе или в документации просто говорится, что он не будет блокировать какие-либо сообщения.