Función VideoPortGetAccessRanges (video.h)

Desusado. La función VideoPortGetAccessRanges recupera información de configuración relativa al bus y, si es posible, reclama estos recursos de hardware en el registro para el autor de la llamada.

Sintaxis

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

Puntero a la extensión del dispositivo del controlador de minipuerto.

NumRequestedResources

Especifica el número de elementos de la matriz RequestedResources .

RequestedResources

[in, opcional] Matriz de elementos de tipo IO_RESOURCE_DESCRIPTOR. Cada descriptor especifica un único recurso de hardware que el controlador de miniporte necesita, prefiere o puede usar como alternativa a ese especificado en otro elemento de matriz. Para obtener información detallada sobre esta estructura, consulte la descripción de IoAssignResources.

NumAccessRanges

Especifica el número de elementos de la matriz AccessRanges .

AccessRanges

[out] Puntero a un área de la pila o a una estructura estática en el controlador de minipuerto al que VideoPortGetAccessRanges devuelve una matriz de VIDEO_ACCESS_RANGE elementos rellenados con los intervalos de memoria del dispositivo relativos al bus para el adaptador.

VendorId

Debe establecerse en NULL.

DeviceId

Debe establecerse en NULL.

Slot

Puntero a una ubicación de memoria en la que el controlador de puerto de vídeo almacena el número de ranura del dispositivo o es NULL.

Para Plug and Play dispositivos, si se trata de un puntero válido, el controlador de puerto de vídeo almacena el número de ranura en la ubicación de memoria especificada por el puntero. Si se pasa un valor NULL en la llamada, el controlador de puerto de vídeo no almacena un valor en la ubicación.

Valor devuelto

VideoPortGetAccessRanges devuelve NO_ERROR si ha rellenado correctamente la información de AccessRanges o ha devuelto información de configuración en RequestedResources.

Comentarios

Cada controlador de miniporte de vídeo debe usar intervalos de acceso devueltos por VideoPortGetAccessRanges, o debe llamar a VideoPortVerifyAccessRanges antes de intentar acceder a un adaptador de vídeo durante el proceso de inicialización del controlador (y del sistema).

Solo se puede llamar a VideoPortGetAccessRanges desde una función HwVidFindAdapter del controlador de miniporte.

Para la mayoría de los controladores de minipuerto, VideoPortGetAccessRanges puede recuperar, comprobar y reclamar los intervalos de acceso relativos al bus y cualquier interrupción o puerto DMA usado por un adaptador de vídeo determinado, mientras que VideoPortVerifyAccessRanges solo puede comprobar y reclamar recursos especificados por el controlador de miniporte. Es decir, para toda la información de configuración que devuelve, VideoPortGetAccessRanges reclama los recursos de hardware correspondientes en el registro para el autor de la llamada. Un controlador de minipuerto no necesita llamar a VideoPortVerifyAccessRanges con la información de configuración relativa al bus devuelta, a menos que el controlador de miniporte intente modificar cualquiera de los valores devueltos.

Cada llamada correcta a VideoPortGetAccessRanges o VideoPortVerifyAccessRanges para un adaptador determinado sobrescribe la notificación anterior del controlador de miniport en los recursos de hardware del registro.

Después de una llamada correcta a VideoPortGetAccessRanges, el controlador de minipuerto debe asignar los intervalos relativos al bus devueltos a los intervalos lógicos con VideoPortGetDeviceBaseantes de llamar a la función VideoPortRead/Write***Xxx adecuada para comunicarse con el adaptador.

Por lo general, el controlador de miniporte de un dispositivo PCI debe tener su función HwVidFindAdapter llamada a VideoPortGetAccessRanges, en lugar de intentar manipular la información de PCI_COMMON_CONFIG específica del dispositivo devuelto por una llamada a VideoPortGetBusData. Este controlador de minipuerto normalmente puede llamar a VideoPortGetAccessRanges con un punteroRequestedResources NULL. A continuación, el controlador de puerto de vídeo usa el espacio de configuración del bus PCI para determinar los recursos del adaptador de vídeo. El controlador miniport puede llamar a VideoPortGetAccessRanges, mediante un conjunto de especificaciones RequestedResources proporcionadas por el controlador, si su llamada original no devuelve datos de configuración válidos para el adaptador.

Tenga en cuenta que los controladores de miniporte de adaptadores en otros tipos de autobuses de E/S también pueden llamar a VideoPortGetAccessRanges. Estos controladores deben llamar a VideoPortGetAccessRanges mediante un puntero RequestedResources a una matriz proporcionada por el controlador de descriptores de recursos de E/S.

Si la función HwVidFindAdapter reclama intervalos de acceso relativos al bus y posiblemente otros recursos de hardware para un adaptador, pero luego determina que no admite el adaptador, el controlador de miniportar debe renunciar a sus notificaciones en los recursos de hardware del registro llamando a VideoPortGetAccessRanges o VideoPortVerifyAccessRanges con el parámetro NumAccessRanges establecido en cero.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000
Plataforma de destino Escritorio
Encabezado video.h (incluya Video.h)
Library Videoprt.lib
Archivo DLL Videoprt.sys
IRQL PASSIVE_LEVEL

Consulte también

HwVidFindAdapter

IoAssignResources

PCI_COMMON_CONFIG

PCI_SLOT_NUMBER

VIDEO_PORT_CONFIG_INFO

VideoPortGetBusData

VideoPortGetDeviceBase

VideoPortSetBusData

VideoPortVerifyAccessRanges