Поделиться через


XPDM и WDDM

API Direct3D 9 работает с моделью драйвера дисплея Windows XP (XPDM) или моделью драйвера дисплея Windows Vista (WDDM) в зависимости от установленной операционной системы. Существуют некоторые различия в том, как API Direct3D ведет себя в двух моделях драйверов.

Безопасный рабочий стол

Защищенный рабочий стол активен всякий раз, когда происходит любое из следующих действий: пользователь блокирует рабочий стол (Windows+L), активируется заставка (когда ни один пользователь не вошел в систему) или по умолчанию при появлении запроса контроля учетных записей пользователей. Если защищенный рабочий стол активен, устройство HAL недоступно.

Различия между XPDM и WDDM:

  • Попытка создать устройство Direct3D9 HAL завершится сбоем (с D3DERR_NOT_AVAILABLE), а любое существующее устройство Direct3D 9 будет указывать на потерянный код возврата устройства в Present.

  • API Direct3D9Ex и Direct3D 10 могут успешно создать устройство, пока активен защищенный рабочий стол, а любые вызовы Present (IDirect3D9Ex или DXGI) будут возвращать код состояния, указывающий, что рабочий стол в настоящее время недоступен.

 

Удаленный рабочий стол

Если удаленный рабочий стол активен, экран обрабатывается компьютером просмотра, а хост-компьютер отправляет информацию по сети.

Различия между XPDM и WDDM:

  • В XPDM все попытки создать устройство Direct3D 9 на удаленном рабочем столе завершатся ошибкой.

  • В WDDM удаленный рабочий стол поддерживает создание устройства HAL через сеанс удаленного рабочего стола.

 

Служба Windows

Служба Windows — это процесс, который выполняется в фоновом режиме и управляется диспетчером управления службами (SCM). Служба работает независимо от активного рабочего стола и, следовательно, имеет ограниченную возможность взаимодействия с пользователями.

Различия между XPDM и WDDM:

  • В WDDM изоляция сеанса 0 гарантирует, что служба не имеет доступа к рабочему столу пользователя в качестве меры безопасности, поэтому устройство Direct3D 9 HAL никогда не будет доступно из службы Windows.

 

Примечание

Вы не можете использовать Direct3D 9 в службе Windows. Дополнительные сведения см. в статье службы поддержки Майкрософт 978635.

 

В следующей таблице перечислены различия, перечисленные здесь.

Безопасный рабочий стол XPDM WDDM (Direct3D9) WDDM(Direct3D9Ex/Direct3D10)
NULLREF Да Да Да
ХЭЛ Нет Нет Да
REF Да Да Да
Удаленный рабочий стол
NULLREF Нет Да Да
ХЭЛ Нет Да Да
REF Да Да Да
Служба Windows
NULLREF Нет Нет Нет
ХЭЛ Нет Нет Нет
REF Нет Нет Нет
WARP10 Н/Д Н/Д Да

 

Дополнительные сведения о XPDM, WDDM, Direct3D9Ex и Direct3D 10 см. в статье Графические API в Windows.

Устройства Direct3D