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 | N/A | N/A | Да |
Дополнительные сведения о XPDM, WDDM, Direct3D9Ex и Direct3D 10 см. в API графики в Windows.
Связанные разделы