Función VideoPortVerifyAccessRanges (video.h)
La función VideoPortVerifyAccessRanges comprueba el registro si otro controlador ya ha reclamado la propiedad de los intervalos de acceso relativos al bus especificados y cualquier otro recurso de hardware especificado en la estructura de VIDEO_PORT_CONFIG_INFO. Si no es así, esta función reclama los recursos especificados para el autor de la llamada.
Sintaxis
VIDEOPORT_DEPRECATED VIDEOPORT_API VP_STATUS VideoPortVerifyAccessRanges(
PVOID HwDeviceExtension,
ULONG NumAccessRanges,
[in, optional] PVIDEO_ACCESS_RANGE AccessRanges
);
Parámetros
HwDeviceExtension
Puntero a la extensión del dispositivo del controlador de minipuerto.
NumAccessRanges
Especifica el número de elementos de la matriz de AccessRanges o cero.
[in, optional] AccessRanges
Puntero a la matriz de intervalos de acceso del controlador de miniport o NULL. Cada VIDEO_ACCESS_RANGEelemento -type de esta matriz especifica un intervalo relativo de bus de memoria del dispositivo, puertos de E/S o direcciones de registro para el adaptador.
Valor devuelto
videoPortVerifyAccessRanges devuelve uno de los siguientes valores:
Código devuelto | Descripción |
---|---|
ERROR_INVALID_PARAMETER | Se encontró un error o se encontró un conflicto; es decir, otro controlador ya ha reclamado uno o varios de los recursos de hardware especificados para su dispositivo. |
NO_ERROR | AccessRanges especificados son válidos y se han reclamado para su uso por parte del autor de la llamada. |
Observaciones
Cada controlador de miniporte de vídeo debe llamar a VideoPortVerifyAccessRangeso usar intervalos de acceso devueltos por VideoPortGetAccessRanges antes de intentar acceder a un adaptador de vídeo durante el proceso de inicialización del controlador (y del sistema).
videoPortVerifyAccessRanges solo se puede llamar mediante la función de un controlador de miniporte HwVidFindAdapter.
Cada controlador de miniporte de vídeo debe definir los intervalos de acceso relativos al bus para su dispositivo, ya sea como memoria asignada estáticamente en el archivo de encabezado o código del controlador o en la pila. La mayoría de los controladores de miniporte configuran sus intervalos de acceso de vídeo en la pila, excepto los que usan intervalos de direcciones estándar de PC para la memoria de vídeo, como los controladores de miniport SVGA compatibles con VGA.
La función HwVidFindAdapter debe intentar obtener información del intervalo de acceso relativo al bus llamando a VideoPortGetAccessRangeso comprobando el registro mediante llamadas a VideoPortGetDeviceData o VideoPortGetRegistryParameters. Si HwVidFindAdapter no puede obtener esta información, el controlador de miniporte debe tener un conjunto de valores predeterminados relativos al bus para los intervalos de acceso.
Si los intervalos de acceso de un controlador de miniport son configurables externamente, el programa de instalación configura intervalos de acceso para el adaptador en el Registro. Esta función HwVidFindAdapter del controlador de miniporte puede llamar a VideoPortGetRegistryParameters con un controlador de miniport proporcionado función HwVidQueryNamedValueCallback que procesa la información recuperada del registro.
HwVidFindAdapter no debe pasar direcciones de intervalo de acceso a VideoPortGetDeviceBase a menos que llame a VideoPortVerifyAccessRanges o VideoPortGetAccessRanges primero y la función respectiva devuelve NO_ERROR.
videoPortVerifyAccessRanges se puede llamar de nuevo si el inicial AccessRanges especificación o valor de la VIDEO_PORT_CONFIG_INFO, como un vector de interrupción, hace que devuelva un ERROR_XXX que indica que otro controlador ya ha reclamado los recursos.
Si videoPortVerifyAccessRanges devuelve NO_ERROR, una llamada posterior para el mismo adaptador sobrescribe la notificación del controlador de miniporte en los recursos de ese adaptador en el Registro.
Tenga en cuenta que un controlador de miniporte no puede comunicarse con su adaptador de vídeo, excepto mediante el uso de direcciones asignadas devueltas por VideoPortGetDeviceBase con las funciones de VideoPortRead/WriteXxx.
Si el HwVidFindAdapter función reclama intervalos de acceso relativos al bus y, posiblemente, otros recursos de hardware para un adaptador, pero determina que no admite el adaptador, El controlador de miniport debe renunciar a sus notificaciones en los recursos de hardware del Registro llamando a VideoPortVerifyAccessRanges o VideoPortGetAccessRanges con NumAccessRanges establecido en cero y AccessRanges establecido en NULL.
Para renunciar a las notificaciones en un subconjunto de intervalos de acceso reclamados que el controlador de miniporte ya no usa, haga lo siguiente:
- Modifique la especificación de AccessRanges para el adaptador para que cada elemento que describa un intervalo que se va a liberar todavía tenga RangeStart establecido en la base relativa al bus de un intervalo reclamado, pero RangeLength restablecer a cero.
- Llame a videoPortVerifyAccessRanges con esta matriz de AccessRanges modificada.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Disponible en Windows 2000 y versiones posteriores de los sistemas operativos Windows. |
de la plataforma de destino de | Escritorio |
encabezado de | video.h (incluya Video.h) |
biblioteca de | Videoprt.lib |
DLL de | Videoprt.sys |
irQL | PASSIVE_LEVEL |