функция обратного вызова PFND3D11DDI_CREATERESOURCE (d3d10umddi.h)
Создает ресурс.
Синтаксис
PFND3D11DDI_CREATERESOURCE Pfnd3d11ddiCreateresource;
void Pfnd3d11ddiCreateresource(
D3D10DDI_HDEVICE unnamedParam1,
const D3D11DDIARG_CREATERESOURCE *unnamedParam2,
D3D10DDI_HRESOURCE unnamedParam3,
D3D10DDI_HRTRESOURCE unnamedParam4
)
{...}
Параметры
unnamedParam1
hDevice [in]
Дескриптор устройства отображения (графический контекст).
unnamedParam2
pCreateResource [in]
Указатель на структуру D3D11DDIARG_CREATERESOURCE , описывающую параметры, которые драйвер отображения пользовательского режима использует для создания ресурса.
unnamedParam3
hResource [in]
Дескриптор личных данных драйвера для ресурса.
unnamedParam4
hRTResource [in]
Дескриптор ресурса, который будет использоваться драйвером при обратном вызове в среду выполнения Direct3D.
Возвращаемое значение
None
Remarks
Драйвер может использовать функцию обратного вызова pfnSetErrorCb , чтобы задать код ошибки.
Возможно, у драйвера не хватает памяти. Таким образом, драйвер может передать E_OUTOFMEMORY или D3DDDIERR_DEVICEREMOVED в вызове функции pfnSetErrorCb . Драйвер также может передавать DXGI_DDI_ERR_UNSUPPORTED в вызове pfnSetErrorCb. Дополнительные сведения о передаче DXGI_DDI_ERR_UNSUPPORTED см. в разделе Примечания на странице справочника по BltDXGI . Среда выполнения Direct3D определяет, что любые другие ошибки являются критическими. Если драйвер передает ошибки, включая D3DDDIERR_DEVICEREMOVED, среда выполнения Direct3D определяет, что дескриптор недопустим; Поэтому среда выполнения не вызывает функцию DestroyResource(D3D10) для уничтожения дескриптора, указанного параметром hResource .
Среда выполнения проверяет все параметры на соответствие параметрам, отправленным приложением для создания ресурса. Поэтому драйвер не должен получать недопустимые сочетания.
Если приложению не требуется, чтобы содержимое ресурса сохранялось в презентациях, среда выполнения устанавливает флаг D3D10_DDI_RESOURCE_MISC_DISCARD_ON_PRESENT перечисления D3D10_DDI_RESOURCE_MISC_FLAG в элементе MiscFlagsструктуры D3D11DDIARG_CREATERESOURCE , на которую указывает параметр pCreateResource . Презентация происходит при вызове функции PresentDXGI или BltDXGI драйвера (с флагом Present , установленным в структуре DXGI_DDI_ARG_BLT_FLAGS ). Среда выполнения использует флаг D3D10_DDI_RESOURCE_MISC_DISCARD_ON_PRESENT для создания обратных буферов цепочки буферов, когда приложение использует значение DXGI_SWAP_EFFECT_DISCARD для запроса цепочек буферов.
Создание обратного стерео буфера
Начиная с Windows 8, если драйвер должен создать буфер обратной стереосистемы, он должен задать элементы структуры D3D11DDIARG_CREATERESOURCE, на которую указывает pCreateResource, следующим образом:- Задайте для элемента ArraySize значение 2.
- Задайте значение флага D3D10_DDI_BIND_PRESENT в элементе BindFlags .
Ограничения входных значений
Для драйверов windows Display Driver Model (WDDM) 1.3 и более поздних версий среда выполнения Microsoft Direct3D предоставляет ограниченный набор входных значений, используемых этой функцией. Список всех ограниченных значений см. в разделе [Улучшения производительности отрисовки Direct3D](/windows-hardware/drivers/display/direct3d-rendering-performance-improvements).Требования
Требование | Значение |
---|---|
Минимальная версия клиента | CreateResource(D3D11) поддерживается начиная с операционной системы Windows 7. |
Целевая платформа | Персональный компьютер |
Верхняя часть | d3d10umddi.h (включая D3d10umddi.h) |