estructura de VIDEO_HW_INITIALIZATION_DATA (video.h)
La estructura VIDEO_HW_INITIALIZATION_DATA especifica los puntos de entrada y los requisitos de almacenamiento para el controlador de minipuerto. Esta estructura se crea en la pila y se inicializa mediante la función DriverEntry del controlador de minipuerto.
Sintaxis
typedef struct _VIDEO_HW_INITIALIZATION_DATA {
ULONG HwInitDataSize;
INTERFACE_TYPE AdapterInterfaceType;
PVIDEO_HW_FIND_ADAPTER HwFindAdapter;
PVIDEO_HW_INITIALIZE HwInitialize;
PVIDEO_HW_INTERRUPT HwInterrupt;
PVIDEO_HW_START_IO HwStartIO;
ULONG HwDeviceExtensionSize;
ULONG StartingDeviceNumber;
PVIDEO_HW_RESET_HW HwResetHw;
PVIDEO_HW_TIMER HwTimer;
PVIDEO_HW_START_DMA HwStartDma;
PVIDEO_HW_POWER_SET HwSetPowerState;
PVIDEO_HW_POWER_GET HwGetPowerState;
PVIDEO_HW_GET_CHILD_DESCRIPTOR HwGetVideoChildDescriptor;
PVIDEO_HW_QUERY_INTERFACE HwQueryInterface;
ULONG HwChildDeviceExtensionSize;
PVIDEO_ACCESS_RANGE HwLegacyResourceList;
ULONG HwLegacyResourceCount;
PVIDEO_HW_LEGACYRESOURCES HwGetLegacyResources;
BOOLEAN AllowEarlyEnumeration;
ULONG Reserved;
} VIDEO_HW_INITIALIZATION_DATA, *PVIDEO_HW_INITIALIZATION_DATA;
Miembros
HwInitDataSize
Es el tamaño en bytes de esta estructura. En efecto, esto indica la versión de VIDEO_HW_INITIALIZATION_DATA que se usa.
AdapterInterfaceType
Actualmente se omite por el puerto de vídeo y debe permanecer inicializado en cero.
HwFindAdapter
Puntero a la función HwVidFindAdapter del controlador de minipuer, que es necesaria para todos los controladores de minipuerto.
HwInitialize
Puntero a la función HwVidInitialize del controlador de minipuerto, que es necesaria para todos los controladores de minipuerto.
HwInterrupt
Puntero a la función HwVidInterrupt del controlador de minipuerto, que solo es necesario si el adaptador del controlador de minipuerto genera interrupciones. De lo contrario, este puntero debe ser NULL.
HwStartIO
Puntero a la función HwVidStartIO del controlador de minipuerto, que es necesaria para todos los controladores de minipuerto.
HwDeviceExtensionSize
Especifica el tamaño en bytes del almacenamiento que requiere el controlador de minipuerto para su extensión de dispositivo privada y específica del adaptador. Un controlador de minipuerto usa este almacenamiento para contener información por adaptador determinada por controlador, como los intervalos de direcciones lógicas asignados para los registros del adaptador y la información de contexto que mantiene el controlador sobre sus operaciones de E/S.
Se pasa un puntero a la extensión del dispositivo en cada llamada realizada a las funciones estándar del controlador de miniport, excepto DriverEntry, HwVidSynchronizeExecutionCallback y cualquier función SvgaHwIoPortXxx . El controlador de puerto de vídeo asigna la memoria para la extensión del dispositivo y la inicializa con ceros antes de pasarla a la función HwVidFindAdapter del controlador de miniporte.
StartingDeviceNumber
Debe establecerse en cero.
HwResetHw
Puntero a la función HwVidResetHw del controlador de minipuerto, que es necesario para cualquier controlador de miniporte de un adaptador que no se restablezca completamente en un reinicio suave de la máquina. Los controladores de adaptadores SVGA que se restablecen completamente a un modo de caracteres estándar VGA al recibir un comando INT10, MODE3-type normalmente establecen esto en NULL.
HwTimer
Puntero a la función HwVidTimer de un controlador de minipuerto, que es opcional. Este puntero puede ser NULL.
HwStartDma
Reservado para uso del sistema.
HwSetPowerState
Puntero a la función HwVidSetPowerState del controlador de minipuerto, que es necesaria para todos los controladores de minipuerto.
HwGetPowerState
Puntero a la función HwVidGetPowerState del controlador de minipuerto, que es necesaria para todos los controladores de minipuerto.
HwGetVideoChildDescriptor
Puntero a la función HwVidGetVideoChildDescriptor del controlador de minipuerto, que es necesaria para todos los controladores de minipuerto.
HwQueryInterface
Puntero a la función HwVidQueryInterface del controlador de miniporte. Esto se puede implementar opcionalmente en un controlador de minipuerto que admita interfaces de programación externas para la comunicación entre dispositivos, como la compatibilidad con I2C (o I²C) para descodificadores MPEG. De lo contrario, este miembro debe establecerse en NULL.
HwChildDeviceExtensionSize
Es el tamaño en bytes de la extensión de dispositivo asociada al dispositivo de salida de pantalla. El controlador de minipuerto solo debe rellenar este miembro si el controlador de minipuerto necesita administrar los datos de configuración del monitor por separado de la configuración de la placa del adaptador.
HwLegacyResourceList
Puntero a una matriz de estructuras de VIDEO_ACCESS_RANGE . Cada estructura describe un puerto de E/S de dispositivo o un intervalo de memoria para el adaptador de vídeo que no aparece en el espacio de configuración pci.
HwLegacyResourceCount
Es el número de elementos de la matriz a los que apunta HwLegacyResourceList .
HwGetLegacyResources
Puntero a la función HwVidLegacyResources del controlador de miniporte, que permite al controlador especificar sus recursos heredados en función de sus identificadores de dispositivo y proveedor.
AllowEarlyEnumeration
Permite al controlador de minipuerto enumerar sus dispositivos secundarios antes de que se inicie el adaptador; Es decir, el controlador de puerto de vídeo puede llamar a HwVidGetVideoChildDescriptor antes de HwVidFindAdapter cuando este miembro está establecido en TRUE.
Reserved
Reservado para uso del sistema.
Comentarios
Una función DriverEntry del controlador de miniporte debe inicializar esta estructura con ceros antes de establecer los valores pertinentes en cualquier miembro.
El controlador de puerto de vídeo omitirá los miembros HwLegacyResourceCount y HwLegacyResourceList cuando HwGetLegacyResources se inicialice con un puntero a una implementación de HwVidLegacyResources .
Requisitos
Requisito | Valor |
---|---|
Header | video.h (incluir Video.h) |