Возврат кодов ошибок, полученных от функций среды выполнения

Вызовы функций, предоставляемых драйвером для отображения в пользовательском режиме Direct3D версии 9, должны возвращать коды ошибок, которые они получают при вызове предоставляемых средой выполнения Direct3D служб ядра с доступом к функциям. Например, среда выполнения может вызывать функцию драйвера отображения в пользовательском режиме, например функцию CreateResource . Это, в свою очередь, вызывает функцию, предоставляемую средой выполнения, например функцию pfnAllocateCb , для выполнения определенной операции, в данном случае для выделения памяти для ресурса. Если драйвер отображения пользовательского режима получает код ошибки от вызова функции, предоставляемой средой выполнения, он должен вернуть этот код ошибки обратно в среду выполнения.

Существует одно исключение из правила, согласно которому драйвер должен передать код ошибки среды выполнения обратно в среду выполнения. Когда драйвер вызывает функцию pfnAllocateCb , предоставляемую средой выполнения, чтобы выделить видеопамяти для дополнительных ресурсов, если видеопамяти уже выделена, правило не применяется. Если pfnAllocateCb не удается выделить эту видеопамять для дополнительных ресурсов, необходимых только для оптимизации производительности, драйвер не должен сообщать об ошибке нехватки памяти (E_OUTOFMEMORY) в среду выполнения.