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

Crea un recurso.

Sintaxis

PFND3D10DDI_CREATERESOURCE Pfnd3d10ddiCreateresource;

void Pfnd3d10ddiCreateresource(
  D3D10DDI_HDEVICE unnamedParam1,
  const D3D10DDIARG_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 D3D10DDIARG_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 el controlador debe usar cada vez que llame 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 agote la 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 determinará que cualquier otro error es crítico. Si el controlador pasa algún error, incluido D3DDDIERR_DEVICEREMOVED, el tiempo de ejecución de Direct3D determinará que el identificador no es válido; por lo tanto, el runtime no llamará a la función DestroyResource(D3D10) para destruir el identificador que especifica el parámetro hResource .

El tiempo de ejecución validará 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 se conserve entre presentaciones, el tiempo de ejecución establecerá 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 D3D10DDIARG_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 de DXGI_SWAP_EFFECT_DISCARD para solicitar cadenas de intercambio.

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

A partir de Windows 8, si el controlador debe crear un búfer de retroceso estéreo, debe establecer miembros de la estructura de D3D10DDIARG_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.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows Vista y versiones posteriores de los sistemas operativos Windows.
Plataforma de destino Escritorio
Encabezado d3d10umddi.h (incluya D3d10umddi.h)

Consulte también

BltDXGI

CalcPrivateResourceSize

D3D10DDIARG_CREATERESOURCE

D3D10DDI_DEVICEFUNCS

DXGI_DDI_ARG_BLT

DestroyResource(D3D10)

pfnSetErrorCb