structure VIDEO_HW_INITIALIZATION_DATA (video.h)
La structure VIDEO_HW_INITIALIZATION_DATA spécifie les points d’entrée et les exigences de stockage pour le pilote miniport. Cette structure est créée sur la pile et initialisée par la fonction DriverEntry du pilote miniport.
Syntaxe
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;
Membres
HwInitDataSize
Taille en octets de cette structure. En effet, cela indique la version de VIDEO_HW_INITIALIZATION_DATA utilisée.
AdapterInterfaceType
Est actuellement ignoré par le port vidéo et doit rester initialisé à zéro.
HwFindAdapter
Pointeur vers la fonction HwVidFindAdapter du pilote miniport, qui est requise pour tous les pilotes miniport.
HwInitialize
Pointeur vers la fonction HwVidInitialize du pilote miniport, qui est requise pour tous les pilotes miniport.
HwInterrupt
Pointeur vers la fonction HwVidInterrupt du pilote miniport, qui est nécessaire uniquement si l’adaptateur du pilote miniport génère des interruptions. Sinon, ce pointeur doit avoir la valeur NULL.
HwStartIO
Pointeur vers la fonction HwVidStartIO du pilote miniport, qui est requise pour tous les pilotes miniport.
HwDeviceExtensionSize
Spécifie la taille en octets du stockage dont le pilote miniport a besoin pour son extension de périphérique privée spécifique à l’adaptateur. Un pilote miniport utilise ce stockage pour stocker des informations par adaptateur déterminées par pilote, telles que les plages d’adresses logiques mappées pour les enregistrements de l’adaptateur et toutes les informations de contexte que le pilote conserve sur ses opérations d’E/S.
Un pointeur vers l’extension de périphérique est passé dans chaque appel effectué vers les fonctions standard du pilote miniport, à l’exception de DriverEntry, HwVidSynchronizeExecutionCallback et toutes les fonctions SvgaHwIoPortXxx . Le pilote de port vidéo alloue la mémoire pour l’extension de périphérique et l’initialise avec des zéros avant qu’elle ne soit transmise à la fonction HwVidFindAdapter du pilote miniport.
StartingDeviceNumber
Doit être défini sur zéro.
HwResetHw
Pointeur vers la fonction HwVidResetHw du pilote miniport, qui est nécessaire pour tout pilote miniport d’une carte qui ne se réinitialise pas complètement lors d’un redémarrage réversible de l’ordinateur. Les pilotes des adaptateurs SVGA qui sont entièrement réinitialisés en mode de caractères standard VGA à la réception d’une commande de type INT10, MODE3 définissent généralement cette valeur sur NULL.
HwTimer
Pointeur vers la fonction HwVidTimer d’un pilote miniport, qui est facultative. Ce pointeur peut avoir la valeur NULL.
HwStartDma
Réservé pour le système.
HwSetPowerState
Pointeur vers la fonction HwVidSetPowerState du pilote miniport, qui est requise pour tous les pilotes miniport.
HwGetPowerState
Pointeur vers la fonction HwVidGetPowerState du pilote miniport, qui est requise pour tous les pilotes miniport.
HwGetVideoChildDescriptor
Pointeur vers la fonction HwVidGetVideoChildDescriptor du pilote miniport, qui est requise pour tous les pilotes miniport.
HwQueryInterface
Pointeur vers la fonction HwVidQueryInterface du pilote miniport. Cela peut être implémenté éventuellement dans un pilote miniport qui prend en charge les interfaces de programmation externes pour la communication entre appareils, telles que la prise en charge I2C (ou I²C) pour les décodeurs MPEG. Sinon, ce membre doit avoir la valeur NULL.
HwChildDeviceExtensionSize
Taille en octets de l’extension d’appareil associée à l’appareil de sortie d’affichage. Le pilote miniport doit renseigner ce membre uniquement si le pilote miniport doit gérer les données de configuration du moniteur séparément de la configuration de la carte d’adaptateur.
HwLegacyResourceList
Pointeur vers un tableau de structures VIDEO_ACCESS_RANGE . Chaque structure décrit un port d’E/S d’appareil ou une plage de mémoire pour la carte vidéo qui n’est pas répertoriée dans l’espace de configuration PCI.
HwLegacyResourceCount
Nombre d’éléments du tableau vers lesquels HwLegacyResourceList pointe.
HwGetLegacyResources
Pointeur vers la fonction HwVidLegacyResources du pilote miniport, qui permet au pilote de spécifier ses ressources héritées en fonction de ses ID d’appareil et de fournisseur.
AllowEarlyEnumeration
Permet au pilote miniport d’énumérer ses périphériques enfants avant le démarrage de l’adaptateur ; autrement dit, le pilote de port vidéo peut appeler HwVidGetVideoChildDescriptor avant HwVidFindAdapter lorsque ce membre est défini sur TRUE.
Reserved
Réservé pour le système.
Remarques
La fonction DriverEntry d’un pilote miniport doit initialiser cette structure avec des zéros avant de définir les valeurs pertinentes dans n’importe quel membre.
Le pilote de port vidéo ignore les membres HwLegacyResourceCount et HwLegacyResourceList lorsque HwGetLegacyResources est initialisé avec un pointeur vers une implémentation HwVidLegacyResources .
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | video.h (inclure Video.h) |