Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La estructura VIDEO_PORT_CONFIG_INFO contiene información de configuración del adaptador específica del bus. Esta estructura se usa para configurar el hardware de vídeo y para proporcionar al controlador de puerto de vídeo información de configuración. Después, el controlador de puerto de vídeo puede asignar los recursos del sistema necesarios para el controlador de miniporte y su adaptador.
Sintaxis
typedef struct _VIDEO_PORT_CONFIG_INFO {
ULONG Length;
ULONG SystemIoBusNumber;
INTERFACE_TYPE AdapterInterfaceType;
ULONG BusInterruptLevel;
ULONG BusInterruptVector;
KINTERRUPT_MODE InterruptMode;
ULONG NumEmulatorAccessEntries;
PEMULATOR_ACCESS_ENTRY EmulatorAccessEntries;
ULONG_PTR EmulatorAccessEntriesContext;
PHYSICAL_ADDRESS VdmPhysicalVideoMemoryAddress;
ULONG VdmPhysicalVideoMemoryLength;
ULONG HardwareStateSize;
ULONG DmaChannel;
ULONG DmaPort;
UCHAR DmaShareable;
UCHAR InterruptShareable;
BOOLEAN Master;
DMA_WIDTH DmaWidth;
DMA_SPEED DmaSpeed;
BOOLEAN bMapBuffers;
BOOLEAN NeedPhysicalAddresses;
BOOLEAN DemandMode;
ULONG MaximumTransferLength;
ULONG NumberOfPhysicalBreaks;
BOOLEAN ScatterGather;
ULONG MaximumScatterGatherChunkSize;
PVIDEO_PORT_GET_PROC_ADDRESS VideoPortGetProcAddress;
PWSTR DriverRegistryPath;
ULONGLONG SystemMemorySize;
} VIDEO_PORT_CONFIG_INFO, *PVIDEO_PORT_CONFIG_INFO;
Miembros
Length
Es el tamaño en bytes de esta estructura. El controlador de puerto de vídeo siempre inicializa el miembro Length. En efecto, su valor indica la versión de VIDEO_PORT_CONFIG_INFO que usa el sistema. Dado que esta estructura puede crecer de una versión del sistema a la siguiente, un controlador de miniporte debe comprobar este miembro para determinar si es al menos tamaño de(VIDEO_PORT_CONFIG_INFO) que usa el controlador de miniporte para configurar su adaptador.
SystemIoBusNumber
Especifica el número asignado por el sistema del bus de E/S en el que el adaptador del controlador de miniporte podría estar conectado. El controlador de puerto de vídeo siempre inicializa este miembro.
AdapterInterfaceType
Especifica el tipo de interfaz de bus. El controlador de puerto de vídeo siempre establece este miembro en función del bus en el que el administrador de PnP detectó el dispositivo.
BusInterruptLevel
Este miembro es irrelevante si el hardware de vídeo no genera interrupciones, indicado estableciendo el miembro HwInterrupt en la estructura de VIDEO_HW_INITIALIZATION_DATA en NULL. De lo contrario, especifica el IRQL relativo al bus que corresponde a la solicitud de interrupción en Isa o MicroChannel buses de tipo. El valor predeterminado preestablecido para este miembro es cero. Un controlador de miniport debe proporcionar el valor correcto si controla las interrupciones de un adaptador de vídeo en un Isa o microChannel bus de tipo, o para un adaptador de vídeo configurado para interrupciones sensibles a nivel en un bus de tipo Eisa.
Si la función HwVidFindAdapter de un controlador de miniporte no genera interrupciones o que no puede determinar un vector o nivel de interrupción válido para el adaptador, HwVidFindAdapter debe establecer BusInterruptLevel y BusInterruptVector en cero.
BusInterruptVector
Este miembro es irrelevante si el hardware de vídeo no genera interrupciones, indicado estableciendo el miembro HwInterrupt en la estructura de VIDEO_HW_INITIALIZATION_DATA en NULL. De lo contrario, especifica el vector relativo al bus usado por el hardware de vídeo en buses de E/S que usan vectores de interrupción, como buses PCI. El valor predeterminado preestablecido para este miembro es cero.
Si la función de HwVidFindAdapter de un controlador de miniporte no genera interrupciones o que no puede determinar un nivel o vector de interrupción válido para el adaptador, HwVidFindAdapter debe establecer BusInterruptVector y BusInterruptLevel en cero.
InterruptMode
Indica si el hardware de vídeo usa interrupciones de o LevelSensitive. El controlador de puerto de vídeo inicializa este miembro si es relevante, pero un controlador de miniporte con un ISR debe comprobar que contiene el valor correcto y restablecerlo si es necesario.
NumEmulatorAccessEntries
Este miembro y todos los miembros subsiguientes a través de HardwareStateSize son irrelevantes para los controladores de miniporte que no se declaran como controladores de miniport compatibles con VGA en plataformas de sistema operativo basadas en NT basadas en x86. Para los controladores de miniporte que no admiten adaptadores SVGA compatibles con VGA en máquinas basadas en x86, este miembro debe ser cero. De lo contrario, especifica el número de elementos de tipo EMULATOR_ACCESS_RANGE en la matriz siguiente.
EmulatorAccessEntries
Puntero a una matriz de intervalos de acceso del emulador configurados por el controlador de miniport compatible con VGA. Cada intervalo de acceso del emulador debe ser un subconjunto adecuado de la matriz VIDEO_ACCESS_RANGEde tipo -type del controlador de miniport. Cada elemento especifica un intervalo de puertos de E/S que va a enlazar el emulador V86 y, posiblemente, supervisado por una función SvgaHwIoPortXxx proporcionada por el controlador cada vez que una aplicación de MS-DOS, ejecutando la pantalla completa, intenta escribir directamente en los registros del adaptador de vídeo. Normalmente, esta matriz describe todos los intervalos de puertos de E/S de la matriz de intervalos de acceso correspondientes. Si el controlador de miniporta define su matriz de entradas de acceso del emulador estáticamente en el propio controlador, el controlador de puerto inicializa este puntero a esa matriz. Si NumEmulatorAccessEntries es cero, este miembro es NULL.
EmulatorAccessEntriesContext
Especifica un valor pasado con cada llamada a una función SvgaHwIoPortXxx descrita en la matriz EmulatorAccessEntries de. Normalmente, un controlador de miniport compatible con VGA establece el valor de este miembro en el puntero HwDeviceExtension, o en un desplazamiento dentro de la extensión del dispositivo, por lo que el controlador de miniporte puede mantener el estado, como las instrucciones emitidas por la aplicación por lotes, en sus funciones SvgaHwIoPortXxx.
VdmPhysicalVideoMemoryAddress
Especifica la dirección lógica base (asignada) de un intervalo de memoria de vídeo que se asignará al espacio de direcciones de un VDM para la compatibilidad con BIOS INT10 x86. Para los controladores de miniportar que no admiten adaptadores compatibles con VGA en máquinas basadas en x86, este miembro debe ser NULL.
VdmPhysicalVideoMemoryLength
Especifica el tamaño en bytes del intervalo que se asignará al espacio de direcciones de un VDM para la compatibilidad con bios x86. Para los controladores de miniporte que no admiten adaptadores compatibles con VGA en máquinas basadas en x86, este miembro debe ser cero.
HardwareStateSize
Especifica el tamaño mínimo en bytes necesarios para almacenar información de estado de hardware en respuesta a una solicitud de IOCTL_VIDEO_SAVE_HARDWARE_STATE, que solo debe ser compatible con controladores de miniport compatibles con VGA en máquinas basadas en x86. El valor inicializado de este miembro es cero. Un controlador de miniport compatible con VGA debe establecer este miembro en el número de bytes que requiere para contener el estado del adaptador guardado.
DmaChannel
Reservado para uso del sistema.
DmaPort
Reservado para uso del sistema.
DmaShareable
Reservado para uso del sistema.
InterruptShareable
Si se interrumpe el dispositivo del controlador de miniporte, este miembro debe establecerse en cero si la interrupción no se puede compartir con otro dispositivo o establecerla en una si se puede compartir la interrupción. De lo contrario, un controlador de miniporte puede omitir este miembro.
Master
Reservado para uso del sistema.
DmaWidth
Reservado para uso del sistema.
DmaSpeed
Reservado para uso del sistema.
bMapBuffers
Reservado para uso del sistema.
NeedPhysicalAddresses
Reservado para uso del sistema.
DemandMode
Reservado para uso del sistema.
MaximumTransferLength
Reservado para uso del sistema.
NumberOfPhysicalBreaks
Reservado para uso del sistema.
ScatterGather
Reservado para uso del sistema.
MaximumScatterGatherChunkSize
Reservado para uso del sistema.
VideoPortGetProcAddress
Puntero a la rutina de devolución de llamada VideoPortGetProcAddres s. Este miembro se usa para buscar la dirección de una función de controlador de puerto de vídeo que el controlador de miniporte de vídeo puede usar sin vincularlo directamente. Esto permite que un archivo binario del controlador se ejecute en una versión anterior de Windows. Para obtener más información, consulte Using VideoPortGetProcAddress.
DriverRegistryPath
Puntero a la ruta de acceso del Registro que contiene el servicio del dispositivo. El controlador de pantalla puede usar esta información de cualquier manera que considere útil.
SystemMemorySize
Indica a un controlador la cantidad, en bytes, de memoria física en el sistema.
Requisitos
Requisito | Valor |
---|---|
encabezado de | video.h (incluya Video.h) |