Partilhar via


DXGKDDI_OPENALLOCATIONINFO função de retorno de chamada (d3dkmddi.h)

A função DxgkDdiOpenAllocation associa alocações não específicas do dispositivo que a função DxgkDdiCreateAllocation criada para alocações específicas ao dispositivo de contexto gráfico especificado.

Sintaxe

DXGKDDI_OPENALLOCATIONINFO DxgkddiOpenallocationinfo;

NTSTATUS DxgkddiOpenallocationinfo(
  [in] IN_CONST_HANDLE hDevice,
  [in] IN_CONST_PDXGKARG_OPENALLOCATION pOpenAllocation
)
{...}

Parâmetros

[in] hDevice

Um identificador para o dispositivo de contexto gráfico do qual as alocações são associadas. A função DxgkDdiCreateDevice do driver de miniport de exibição forneceu anteriormente esse identificador para o subsistema de kernel de elementos gráficos do Microsoft DirectX no hDevice membro da estrutura DXGKARG_CREATEDEVICE.

[in] pOpenAllocation

Um ponteiro para uma estrutura de DXGKARG_OPENALLOCATION que contém informações sobre alocações de associação.

Valor de retorno

DxgkDdiOpenAllocation retorna um dos seguintes valores:

Código de retorno Descrição
STATUS_SUCCESS DxgkDdiOpenAllocation vinculou alocações com êxito ao dispositivo de contexto gráfico especificado pelo parâmetro hDevice.
STATUS_INVALID_PARAMETER Os parâmetros passados para DxgkDdiOpenAllocation continham erros que o impediam de concluir.
STATUS_NO_MEMORY DxgkDdiOpenAllocation não pôde alocar memória necessária para que ela fosse concluída.
STATUS_GRAPHICS_DRIVER_MISMATCH O driver de miniporto de exibição não é compatível com o driver de exibição no modo de usuário que iniciou a chamada para DxgkDdiOpenAllocation (ou seja, forneceu dados privados para o driver de miniporto de exibição).

Observações

O subsistema de kernel de elementos gráficos DirectX chama a função DxgkDdiOpenAllocation do driver de exibição para associar alocações específicas de nondevice que a função DxgkDdiCreateAllocation criada para alocações específicas ao dispositivo de contexto gráfico que o parâmetro hDevice especifica. O driver de miniporto de exibição associa alocações a um dispositivo para que o driver possa acompanhar os dados de alocação específicos de um dispositivo.

O driver de miniporto de exibição pode associar uma alocação a qualquer dispositivo que qualquer processo (no mesmo adaptador gráfico) criou e não apenas a um dispositivo no processo de criação.

Quando DxgkDdiOpenAllocation retorna STATUS_SUCCESS, o driver define o hDeviceSpecificAllocation membro da estrutura DXGK_OPENALLOCATIONINFO para cada alocação como um valor não NULL. A estrutura DXGK_OPENALLOCATIONINFO para cada alocação é um elemento da matriz especificada pelo pOpenAllocation membro da estrutura DXGKARG_OPENALLOCATION.

O driver pode modificar os dados de driver privado de alocação que são passados no pPrivateDriverData membro da estrutura de DXGK_OPENALLOCATIONINFO somente quando a alocação é criada (que é indicada quando o Criar sinalizador de campo de bit no Flags membro da estrutura DXGKARG_OPENALLOCATION está definido). O driver deve determinar que ele só pode ler os dados de driver privado de alocação quando a alocação é aberta (ou seja, quando o sinalizador criar campo de bits não está definido).

DxgkDdiOpenAllocation deve ser tornada paginável.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows Vista
da Plataforma de Destino Área de trabalho
cabeçalho d3dkmddi.h
IRQL PASSIVE_LEVEL

Consulte também

DXGKARG_CREATEDEVICE

DXGKARG_OPENALLOCATION

DXGK_OPENALLOCATIONINFO

DxgkDdiCreateAllocation

DxgkDdiCreateDevice