Share via


PFND3D11DDI_CREATERESOURCE función de devolución de llamada (d3d10umddi.h)

Crea un recurso.

Sintaxis

PFND3D11DDI_CREATERESOURCE Pfnd3d11ddiCreateresource;

void Pfnd3d11ddiCreateresource(
  D3D10DDI_HDEVICE unnamedParam1,
  const D3D11DDIARG_CREATERESOURCE *unnamedParam2,
  D3D10DDI_HRESOURCE unnamedParam3,
  D3D10DDI_HRTRESOURCE unnamedParam4
)
{...}

Parámetros

unnamedParam1

hDevice [in]

Identificador del dispositivo de visualización (contexto de gráficos).

unnamedParam2

pCreateResource [in]

Puntero a una estructura de D3D11DDIARG_CREATERESOURCE que describe los parámetros que usa el controlador de visualización en modo de usuario para crear un recurso.

unnamedParam3

hResource [in]

Identificador de los datos privados del controlador para el recurso.

unnamedParam4

hRTResource [in]

Identificador del recurso que usará el controlador cuando vuelva a llamar al entorno de ejecución de Direct3D.

Valor devuelto

None

Observaciones

El controlador puede usar la función de devolución de llamada pfnSetErrorCb para establecer un código de error.

Es posible que el controlador se quedes sin memoria. Por lo tanto, el controlador puede pasar E_OUTOFMEMORY o D3DDDIERR_DEVICEREMOVED en una llamada a la función pfnSetErrorCb . El controlador también puede pasar DXGI_DDI_ERR_UNSUPPORTED en una llamada a pfnSetErrorCb. Para obtener más información sobre cómo pasar DXGI_DDI_ERR_UNSUPPORTED, vea la sección Comentarios de la página de referencia de BltDXGI . El tiempo de ejecución de Direct3D determina que cualquier otro error es crítico. Si el controlador pasa errores, lo que incluye D3DDDIERR_DEVICEREMOVED, el tiempo de ejecución de Direct3D determina que el identificador no es válido; Por lo tanto, el tiempo de ejecución no llama a la función DestroyResource(D3D10) para destruir el identificador que especifica el parámetro hResource .

El tiempo de ejecución valida todos los parámetros con los parámetros que una aplicación envió para crear el recurso. Por lo tanto, el controlador no debe recibir combinaciones no válidas.

Si la aplicación no requiere que el contenido del recurso persista entre presentaciones, el tiempo de ejecución establece la marca D3D10_DDI_RESOURCE_MISC_DISCARD_ON_PRESENT de la enumeración D3D10_DDI_RESOURCE_MISC_FLAG en el miembro MiscFlags de la estructura D3D11DDIARG_CREATERESOURCE a la que apunta el parámetro pCreateResource . La presentación se produce cuando se llama a la función PresentDXGI o BltDXGI del controlador (con la marca Present establecida en la estructura DXGI_DDI_ARG_BLT_FLAGS ). El tiempo de ejecución usa la marca D3D10_DDI_RESOURCE_MISC_DISCARD_ON_PRESENT para crear búferes back de cadena de intercambio cuando una aplicación usa el valor DXGI_SWAP_EFFECT_DISCARD para solicitar cadenas de intercambio.

Creación de un búfer de reserva estéreo

A partir de Windows 8, si el controlador debe crear un búfer de reserva estéreo, debe establecer miembros de la estructura de D3D11DDIARG_CREATERESOURCE a la que apunta pCreateResource de la siguiente manera:
  1. Establezca el miembro ArraySize en un valor de 2.
  2. Establezca el valor de marca D3D10_DDI_BIND_PRESENT en el miembro BindFlags .
Además, para admitir la presentación estéreo, la función BltDXGI debe permitir cualquier valor para los miembros DstSubresource y SrcSubresource de la estructura DXGI_DDI_ARG_BLT que se encuentran dentro del intervalo de los recursos de origen y destino.

Restricciones en los valores de entrada

Para los controladores windows Display Driver Model (WDDM) 1.3 y versiones posteriores, el tiempo de ejecución de Microsoft Direct3D proporciona un conjunto restringido de valores de entrada usados por esta función. Para obtener una lista de todos los valores restringidos, vea [Mejoras en el rendimiento de representación de Direct3D](/windows-hardware/drivers/display/direct3d-rendering-performance-improvements).

Requisitos

Requisito Value
Cliente mínimo compatible CreateResource(D3D11) se admite a partir del sistema operativo Windows 7.
Plataforma de destino Escritorio
Encabezado d3d10umddi.h (incluya D3d10umddi.h)

Consulte también

BltDXGI

CalcPrivateResourceSize(D3D11)

D3D10_DDI_RESOURCE_MISC_FLAG

D3D11DDIARG_CREATERESOURCE

D3D11DDI_DEVICEFUNCS

DXGI_DDI_ARG_BLT

DXGI_DDI_ARG_BLT_FLAGS

DestroyResource(D3D10)

PresentDXGI

pfnSetErrorCb