Share via


DriverEntry da função driver de miniporto de vídeo

DriverEntry é o ponto de entrada inicial no driver de miniporta de vídeo.

Sintaxe

ULONG DriverEntry(
  _In_ PVOID Context1,
  _In_ PVOID Context2
);

Parâmetros

Context1 [in] Ponteiro para um valor de contexto com o qual o driver de miniporto deve chamar VideoPortInitialize. Esse valor de contexto identifica o objeto de driver criado pelo sistema para esse driver de miniporto.

Context2 [in] Ponteiro para um segundo valor de contexto com o qual o driver de miniporto deve chamar VideoPortInitialize. Esse valor de contexto identifica o caminho do Registro para esse driver de miniporta.

Retornar valor

DriverEntry retorna o valor retornado por VideoPortInitialize.

Comentários

Cada driver de miniporta deve ter uma função explicitamente chamada DriverEntry para ser carregada. DriverEntry é chamado diretamente pelo sistema de E/S.

DriverEntry deve executar as seguintes etapas:

  • Aloque memória na pilha para uma estrutura VIDEO_HW_INITIALIZATION_DATA e chame VideoPortZeroMemory para inicializá-la zero.

  • Preencha valores específicos do driver e específicos do adaptador nos membros VIDEO_HW_INITIALIZATION_DATA, incluindo os pontos de entrada do driver de miniporto. Os seguintes pontos de entrada devem ser definidos como uma rotina fornecida pelo driver de miniport:

    HwVidFindAdapter

    HwVidInitialize

    HwVidStartIO

    HwVidInterrupt

    HwVidQueryInterface

    HwVidGetVideoChildDescriptor

    HwVidGetPowerState

    HwVidSetPowerState

  • Se o hardware do driver der suporte a recursos herdados, o driver deverá reportá-los. DriverEntry deverá fazer o seguinte se a lista de recursos for conhecida no tempo de compilação do driver:

    • Requeira e relate todos esses recursos nos membros HwLegacyResourceList e HwLegacyResourceCount da estrutura VIDEO_HW_INITIALIZATION_DATA . Os recursos herdados são aqueles recursos não listados no espaço de configuração PCI do dispositivo, mas que são decodificados pelo dispositivo.
    • Preencha o campo RangePassive adequadamente para cada estrutura VIDEO_ACCESS_RANGE definida no driver de miniporta.

    Se a lista de recursos herdada não puder ser determinada até o tempo de execução, o driver deverá implementar uma função HwVidLegacyResources para reportá-los.

  • Chame VideoPortInitialize, passando Context1 e Context2 como os dois primeiros parâmetros, um ponteiro para a estrutura VIDEO_HW_INITIALIZATION_DATA como o terceiro parâmetro e NULL como o quarto parâmetro.

DriverEntry deve propagar o valor retornado por VideoPortInitialize de volta para o chamador.

Se DriverEntry solicitar recursos, ele deverá incluir apenas os recursos que o hardware decodifica, mas que não são reivindicados pelo PCI. O driver de miniporta pode "recuperar" esses recursos herdados novamente em chamadas subsequentes para VideoPortVerifyAccessRanges; no entanto, o driver de porta de vídeo simplesmente ignorará as solicitações para esses recursos declarados anteriormente. O gerenciamento de energia e o encaixe serão desabilitados no sistema se o driver de miniporto tentar reivindicar um intervalo de acesso herdado em VideoPortVerifyAccessRanges que não foi declarado anteriormente no membro HwLegacyResourceList da estrutura VIDEO_HW_INITIALIZATION_DATA durante DriverEntry (ou em HwVidacyResources, se implementado).

Para drivers do Microsoft Windows 2000 e posteriores que também dão suporte a computadores que executam Windows NT 4.0, as constantes de configuração de hardware são definidas em video.h. Essas constantes são descritas na tabela a seguir.

Constante Significado

SIZE_OF_NT4_VIDEO_PORT_CONFIG_INFO

O tamanho, em bytes, do Windows NT estrutura de VIDEO_PORT_CONFIG_INFO 4,0.

SIZE_OF_NT4_VIDEO_HW_INITIALIZATION_DATA

O tamanho, em bytes, da estrutura de VIDEO_HW_INITIALIZATION_DATA Windows NT 4,0. Se VideoPortInitialize falhar, o driver de miniporto de vídeo deverá definir o membro HwInitDataSize da estrutura VIDEO_HW_INITIALIZATION_DATA para o tamanho da versão do Windows 2000 (e posterior) dessa estrutura ou da versão Windows NT 4.0. Escolha o tamanho da estrutura apropriado para corresponder à versão do sistema operacional na qual o driver de miniporto será executado. O driver de miniporta de vídeo deve chamar VideoPortInitialize novamente. Para obter um exemplo de uso, consulte os exemplos de driver de miniporto de vídeo que foram incluídos no DDK (Kit de Desenvolvimento de Driver do Windows).

SIZE_OF_W2K_VIDEO_HW_INITIALIZATION_DATA

O tamanho, em bytes, do Windows 2000 e posterior VIDEO_HW_INITIALIZATION_DATA estrutura.

SIZE_OF_WXP_VIDEO_HW_INITIALIZATION_DATA

O tamanho, em bytes, da estrutura do Windows Vista e posterior VIDEO_HW_INITIALIZATION_DATA .

SIZE_OF_WXP_VIDEO_PORT_CONFIG_INFO

O tamanho, em bytes, da estrutura de VIDEO_PORT_CONFIG_INFO do Windows Vista.

DriverEntry deve ser tornado paginável.

Requisitos

Plataforma de destino

Área de Trabalho

parâmetro

Video.h (incluir Video.h)

Biblioteca

NtosKrnl.lib

DLL

NtosKrnl.exe

Confira também

HwVidFindAdapter

HwVidLegacyResources

VIDEO_HW_INITIALIZATION_DATA

VideoPortInitialize

VideoPortVerifyAccessRanges

VideoPortZeroMemory