Share via


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

A função DxgkDdiStartDevice prepara um adaptador de exibição para receber solicitações de E/S.

Sintaxe

DXGKDDI_START_DEVICE DxgkddiStartDevice;

NTSTATUS DxgkddiStartDevice(
  [in]  IN_CONST_PVOID MiniportDeviceContext,
  [in]  IN_PDXGK_START_INFO DxgkStartInfo,
  [in]  IN_PDXGKRNL_INTERFACE DxgkInterface,
  [out] OUT_PULONG NumberOfVideoPresentSources,
  [out] OUT_PULONG NumberOfChildren
)
{...}

Parâmetros

[in] MiniportDeviceContext

Um identificador para um bloco de contexto associado a um adaptador de exibição. A função DxgkDdiAddDevice do driver de miniporta de exibição forneceu anteriormente esse identificador para o subsistema de kernel de elementos gráficos DirectX.

[in] DxgkStartInfo

Um ponteiro para uma estrutura DXGK_START_INFO que contém informações de que o driver de miniporto de exibição precisa para inicialização.

[in] DxgkInterface

Um ponteiro para uma estrutura DXGKRNL_INTERFACE que contém ponteiros para funções, implementadas pelo subsistema kernel de elementos gráficos DirectX, que o driver de miniporto de exibição pode chamar.

[out] NumberOfVideoPresentSources

Um ponteiro para uma variável ULONG que recebe o número de fontes de vídeo presentes com suporte pelo adaptador de exibição. Para obter mais informações sobre as fontes presentes no vídeo, confira Vários Monitores e Vídeos Apresentar Redes.

[out] NumberOfChildren

Um ponteiro para uma variável ULONG que recebe o número total de dispositivos que são filhos do adaptador de exibição representado por MiniportDeviceContext. Essa contagem deve incluir dispositivos filho potenciais, bem como dispositivos filho que estão presentes no momento. Por exemplo, se o encaixe de um computador portátil disponibilizar saídas de vídeo adicionais, essas saídas de vídeo deverão ser contadas independentemente de o computador portátil estar encaixado no momento. Para obter mais informações sobre dispositivos filho, consulte Dispositivos filho do Adaptador de Exibição.

Retornar valor

DxgkDdiStartDevice retornará STATUS_SUCCESS se for bem-sucedido; caso contrário, retornará um dos códigos de erro definidos em Ntstatus.h.

Comentários

A função DxgkDdiStartDevice deve executar as seguintes ações:

  • Salve os ponteiros de função fornecidos pela estrutura de DXGKRNL_INTERFACE passada para o parâmetro DxgkInterface . Salve também o membro DeviceHandle da estrutura DXGKRNL_INTERFACE ; você precisará desse identificador para chamar de volta para o subsistema de kernel de elementos gráficos DirectX.
  • Aloque uma estrutura DXGK_DEVICE_INFO e chame DxgkCbGetDeviceInformation para preencher os membros dessa estrutura, que incluem o caminho do Registro, o PDO e uma lista de recursos traduzidos para o adaptador de exibição representado por MiniportDeviceContext. Salve os membros selecionados (os que o driver de miniporto de exibição precisará mais tarde) da estrutura DXGK_DEVICE_INFO no bloco de contexto representado por MiniportDeviceContext.
  • Mapeie recursos de memória para o espaço do sistema chamando a função DxgkCbMapMemory .
  • Inicialize o bloco de contexto representado por MiniportDeviceContext com qualquer estado necessário para preparar o hardware para receber solicitações de E/S.
  • Defina NumberOfVideoPresentSources como o número de fontes presentes de vídeo compatíveis com o adaptador de exibição representado por MiniportDeviceContext.
  • Defina NumberOfChildren como o número de dispositivos que são (ou podem se tornar) filhos do adaptador de exibição representado por MiniportDeviceContext.
  • Habilite interrupções para o adaptador de exibição representado por MiniportDeviceContext.
A partir do WDDM (Windows Display Driver Model) 1.2, o driver de miniporto de exibição chama a função DxgkCbAcquirePostDisplayOwnership para obter as informações sobre o modo de exibição que havia sido definido anteriormente pelo firmware e pelo carregador do sistema. Se DxgkCbAcquirePostDisplayOwnership retornar com STATUS_SUCCESS, o driver determinará se ele precisa reinicializar a exibição com base nas informações do modo de exibição retornadas por meio do parâmetro DisplayInfo . Caso contrário, o driver não deve assumir que qualquer modo de exibição específico está atualmente habilitado no dispositivo e deve inicializar a exibição.

A função DxgkDdiStartDevice deve ser tornada paginável.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows Vista.
Plataforma de Destino Área de Trabalho
Cabeçalho dispmprt.h
IRQL PASSIVE_LEVEL

Confira também

DXGKRNL_INTERFACE

DXGK_DEVICE_INFO

DxgkCbAcquirePostDisplayOwnership

DxgkCbGetDeviceInformation

DxgkCbMapMemory

DxgkDdiAddDevice

DxgkDdiStopDevice