Compartilhar via


Função VideoPortGetAccessRanges (video.h)

Preterido. A função VideoPortGetAccessRanges recupera informações de configuração relativas ao barramento e, se possível, declara esses recursos de hardware no registro do chamador.

Sintaxe

VIDEOPORT_DEPRECATED VIDEOPORT_API VP_STATUS VideoPortGetAccessRanges(
  PVOID                   HwDeviceExtension,
  ULONG                   NumRequestedResources,
  PIO_RESOURCE_DESCRIPTOR RequestedResources,
  ULONG                   NumAccessRanges,
  PVIDEO_ACCESS_RANGE     AccessRanges,
  PVOID                   VendorId,
  PVOID                   DeviceId,
  PULONG                  Slot
);

Parâmetros

HwDeviceExtension

Ponteiro para a extensão de dispositivo do driver de miniport.

NumRequestedResources

Especifica o número de elementos na matriz RequestedResources .

RequestedResources

[in, opcional] Uma matriz de elementos do tipo IO_RESOURCE_DESCRIPTOR. Cada descritor especifica um único recurso de hardware que o driver de miniporte precisa, prefere ou pode usar como alternativa ao especificado em outro elemento de matriz. Para obter informações detalhadas sobre essa estrutura, consulte a descrição de IoAssignResources.

NumAccessRanges

Especifica o número de elementos na matriz AccessRanges .

AccessRanges

[out] Ponteiro para uma área na pilha ou para uma estrutura estática no driver de miniporto ao qual VideoPortGetAccessRanges retorna uma matriz de elementos VIDEO_ACCESS_RANGE preenchidos com os intervalos de memória de dispositivo relativos ao barramento para o adaptador.

VendorId

Deve ser definido como NULL.

DeviceId

Deve ser definido como NULL.

Slot

Ponteiro para um local de memória no qual o driver da porta de vídeo armazena o número do slot para o dispositivo ou é NULL.

Para dispositivos Plug and Play, se esse for um ponteiro válido, o driver da porta de vídeo armazenará o número do slot no local de memória especificado pelo ponteiro. Se um valor NULL for passado na chamada, o driver da porta de vídeo não armazenará um valor no local.

Retornar valor

VideoPortGetAccessRanges retornará NO_ERROR se tiver preenchido com êxito as informações do AccessRanges ou retornado informações de configuração em RequestedResources.

Comentários

Cada driver de miniporto de vídeo deve usar intervalos de acesso retornados por VideoPortGetAccessRanges ou chamar VideoPortVerifyAccessRanges antes de tentar acessar um adaptador de vídeo durante o processo de inicialização do driver (e do sistema).

VideoPortGetAccessRanges só pode ser chamado da função HwVidFindAdapter de um driver de miniport.

Para a maioria dos drivers de miniporto, VideoPortGetAccessRanges pode recuperar, verificar e reivindicar os intervalos de acesso relativos ao barramento e qualquer interrupção e/ou canal/porta DMA usado por um adaptador de vídeo específico, enquanto VideoPortVerifyAccessRanges só pode verificar e reivindicar recursos especificados pelo driver de miniporto. Ou seja, para todas as informações de configuração retornadas, VideoPortGetAccessRanges declara os recursos de hardware correspondentes no registro do chamador. Um driver de miniporte não precisa chamar VideoPortVerifyAccessRanges com as informações de configuração relativas ao barramento retornadas, a menos que o driver de miniporte tente modificar qualquer um dos valores retornados.

Cada chamada bem-sucedida para VideoPortGetAccessRanges ou VideoPortVerifyAccessRanges para um adaptador específico substitui a declaração anterior do driver de miniporto sobre recursos de hardware no registro.

Após uma chamada bem-sucedida para VideoPortGetAccessRanges, o driver de miniporto deve mapear os intervalos relativos de barramento retornados para intervalos lógicos com VideoPortGetDeviceBaseantes de chamar a função VideoPortRead/Write****Xxx apropriada para se comunicar com o adaptador.

Geralmente, o driver de miniporto de um dispositivo PCI deve ter sua função HwVidFindAdapter chamada VideoPortGetAccessRanges, em vez de tentar manipular as informações de PCI_COMMON_CONFIG específicas do dispositivo retornadas por uma chamada para VideoPortGetBusData. Esse driver de miniporte normalmente pode chamar VideoPortGetAccessRanges com um ponteiro NULLRequestedResources . Em seguida, o driver da porta de vídeo usa o espaço de configuração do barramento PCI para determinar os recursos do adaptador de vídeo. O driver de miniporte pode chamar VideoPortGetAccessRanges, usando um conjunto de especificações RequestedResources fornecidas pelo driver, se sua chamada original não retornar dados de configuração válidos para o adaptador.

Observe que os drivers de miniporte de adaptadores em outros tipos de ônibus de E/S também podem chamar VideoPortGetAccessRanges. Esses drivers devem chamar VideoPortGetAccessRanges usando um ponteiro RequestedResources para uma matriz fornecida pelo driver de descritores de recursos de E/S.

Se a função HwVidFindAdapter reivindicar intervalos de acesso relativos ao barramento e possivelmente outros recursos de hardware para um adaptador, mas determinar que ele não dá suporte ao adaptador, o driver de miniporte deverá abrir mão de suas declarações sobre recursos de hardware no registro chamando VideoPortGetAccessRanges ou VideoPortVerifyAccessRanges com o parâmetro NumAccessRanges definido como zero.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000
Plataforma de Destino Área de Trabalho
Cabeçalho video.h (inclua Video.h)
Biblioteca Videoprt.lib
DLL Videoprt.sys
IRQL PASSIVE_LEVEL

Confira também

HwVidFindAdapter

IoAssignResources

PCI_COMMON_CONFIG

PCI_SLOT_NUMBER

VIDEO_PORT_CONFIG_INFO

VideoPortGetBusData

VideoPortGetDeviceBase

VideoPortSetBusData

VideoPortVerifyAccessRanges