Compartilhar via


DXGKDDI_ADD_DEVICE função de retorno de chamada (dispmprt.h)

A função DxgkDdiAddDevice cria um bloco de contexto para um adaptador de exibição e retorna um identificador que representa o adaptador de exibição.

Sintaxe

DXGKDDI_ADD_DEVICE DxgkddiAddDevice;

NTSTATUS DxgkddiAddDevice(
  [in]  IN_CONST_PDEVICE_OBJECT PhysicalDeviceObject,
  [out] OUT_PPVOID MiniportDeviceContext
)
{...}

Parâmetros

[in] PhysicalDeviceObject

Um ponteiro para um PDO (objeto de dispositivo físico) que identifica um adaptador de exibição.

[out] MiniportDeviceContext

Um ponteiro para uma variável que recebe um identificador, criado pelo driver de miniporto de exibição, que representará o adaptador de exibição identificado por PhysicalDeviceObject. O driver de miniporto de exibição pode retornar NULL neste parâmetro para indicar que ele não dará suporte ao adaptador de exibição identificado por PhysicalDeviceObject.

Valor de retorno

DxgkDdiAddDevice retornará STATUS_SUCCESS se tiver êxito; caso contrário, ele retorna um dos códigos de erro definidos em Ntstatus.h.

Observações

A função DxgkDdiAddDevice aloca um bloco de contexto privado associado ao adaptador de exibição identificado por PhysicalDeviceObject. Você pode pensar no identificador retornado em MiniportDeviceContext como um identificador para o adaptador de exibição ou como um identificador para o bloco de contexto associado ao adaptador de exibição. O subsistema de kernel de elementos gráficos DirectX (Dxgkrnl.sys) fornecerá o identificador em chamadas subsequentes para o driver de miniporto de exibição. A lista a seguir fornece exemplos de vários componentes de Dxgkrnl.sys passando o identificador para funções implementadas pelo driver de miniporto de exibição.

  • O driver de porta de exibição fornece o identificador no parâmetro MiniportDeviceContext da função DxgkDdiStartDevice.

  • O gerenciador VidPN fornece o identificador no parâmetro hAdapter da função deDxgkDdiIsSupportedVidPn.

  • O núcleo gráfico do DirectX fornece o identificador no parâmetro hAdapter da funçãoDxgkDdiQueryAdapterInfo.

Não se confunda com o fato de que, às vezes, o identificador é nomeado miniportDeviceContext e, às vezes, é nomeado hAdapter. Além disso, não confunda esse identificador com o parâmetro hDevice que é passado para determinadas funções de driver de miniporto de exibição.

DxgkDdiAddDevice é invocado para um dispositivo por vez em série. Seu comportamento é o mesmo que o retorno de chamada de DRIVER_ADD_DEVICE padrão para drivers do modo kernel do WDM.

Alguns cartões de adaptador de exibição têm duas ou mais funções PCI que desempenham a função de adaptador de exibição. Por exemplo, determinados cartões mais antigos implementam várias exibições com uma função PCI separada para cada exibição. O driver de porta de exibição chama DxgkDdiAddDevice uma vez para cada uma dessas funções PCI, quando o driver de miniporto de exibição pode indicar que ele dá suporte à função PCI (definindo MiniportDeviceContext para um valor diferente de zero) ou que ele não dá suporte à função PCI (definindo MiniportDeviceContext como NULL). Para obter informações sobre uma função PCI específica, o driver de miniporto de exibição pode passar PhysicalDeviceObject para IoGetDeviceProperty.

Em DxgkDdiRemoveDevice, libere o bloco de contexto e todos os outros recursos que você alocar durante DxgkDdiAddDevice.

A função DxgkDdiAddDevice 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 dispmprt.h
IRQL PASSIVE_LEVEL

Consulte também

DxgkDdiRemoveDevice

DxgkDdiStartDevice