Compartilhar via


PFND3D11DDI_CREATERESOURCE função de retorno de chamada (d3d10umddi.h)

Cria um recurso.

Sintaxe

PFND3D11DDI_CREATERESOURCE Pfnd3d11ddiCreateresource;

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

Parâmetros

unnamedParam1

hDevice [in]

Um identificador para o dispositivo de exibição (contexto gráfico).

unnamedParam2

pCreateResource [in]

Um ponteiro para uma estrutura D3D11DDIARG_CREATERESOURCE que descreve os parâmetros que o driver de exibição do modo de usuário usa para criar um recurso.

unnamedParam3

hResource [in]

Um identificador para os dados privados do driver para o recurso.

unnamedParam4

hRTResource [in]

Um identificador para o recurso que o driver usará quando ele chamar de volta para o runtime do Direct3D.

Retornar valor

Nenhum

Comentários

O driver pode usar a função de retorno de chamada pfnSetErrorCb para definir um código de erro.

O driver pode ficar sem memória. Portanto, o driver pode passar E_OUTOFMEMORY ou D3DDDIERR_DEVICEREMOVED em uma chamada para a função pfnSetErrorCb . O driver também pode passar DXGI_DDI_ERR_UNSUPPORTED em uma chamada para pfnSetErrorCb. Para obter mais informações sobre como passar DXGI_DDI_ERR_UNSUPPORTED, consulte a seção Comentários da página de referência BltDXGI . O runtime do Direct3D determina que todos os outros erros são críticos. Se o driver passar erros, o que inclui D3DDDIERR_DEVICEREMOVED, o runtime do Direct3D determinará que o identificador é inválido; portanto, o runtime não chama a função DestroyResource(D3D10) para destruir o identificador especificado pelo parâmetro hResource .

O runtime valida todos os parâmetros em relação aos parâmetros que um aplicativo enviou para criar o recurso. Portanto, o driver não deve receber combinações inválidas.

Se o aplicativo não exigir que o conteúdo do recurso persista entre apresentações, o runtime definirá o sinalizador D3D10_DDI_RESOURCE_MISC_DISCARD_ON_PRESENT da enumeração D3D10_DDI_RESOURCE_MISC_FLAG no membro MiscFlags da estrutura D3D11DDIARG_CREATERESOURCE para a qual o parâmetro pCreateResource aponta. A apresentação ocorre quando a função PresentDXGI ou BltDXGI do driver (com o sinalizador Present definido na estrutura DXGI_DDI_ARG_BLT_FLAGS ) é chamada. O runtime usa o sinalizador D3D10_DDI_RESOURCE_MISC_DISCARD_ON_PRESENT para criar buffers back de cadeia de troca quando um aplicativo usa o valor DXGI_SWAP_EFFECT_DISCARD para solicitar cadeias de troca.

Criando um buffer de fundo estéreo

Começando no Windows 8, se o driver precisar criar um buffer de fundo estéreo, ele deverá definir membros da estrutura D3D11DDIARG_CREATERESOURCE apontada por pCreateResource da seguinte maneira:
  1. Defina o membro ArraySize como um valor de 2.
  2. Defina o valor do sinalizador D3D10_DDI_BIND_PRESENT no membro BindFlags .
Além disso, para dar suporte à apresentação estéreo, a função BltDXGI deve permitir quaisquer valores para os membros DstSubresource e SrcSubresource da estrutura DXGI_DDI_ARG_BLT que estão dentro do intervalo dos recursos de origem e destino.

Restrições em valores de entrada

Para drivers WDDM (Windows Display Driver Model) 1.3 e posteriores, o runtime do Microsoft Direct3D fornece um conjunto restrito de valores de entrada usados por essa função. Para obter uma lista de todos os valores restritos, consulte [Melhorias de desempenho de renderização do Direct3D](/windows-hardware/drivers/display/direct3d-rendering-performance-improvements).

Requisitos

Requisito Valor
Cliente mínimo com suporte Há suporte para CreateResource(D3D11) a partir do sistema operacional Windows 7.
Plataforma de Destino Área de Trabalho
Cabeçalho d3d10umddi.h (inclua D3d10umddi.h)

Confira também

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