VIDEO_HW_INITIALIZATION_DATA-Struktur (video.h)

Die VIDEO_HW_INITIALIZATION_DATA-Struktur gibt die Einstiegspunkte und Speicheranforderungen für den Miniporttreiber an. Diese Struktur wird im Stapel erstellt und von der DriverEntry-Funktion des Miniporttreibers initialisiert.

Syntax

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;

Member

HwInitDataSize

Die Größe dieser Struktur in Byte. In der Tat gibt dies die Version von VIDEO_HW_INITIALIZATION_DATA an, die verwendet wird.

AdapterInterfaceType

Wird derzeit vom Videoport ignoriert und sollte null initialisiert bleiben.

HwFindAdapter

Zeiger auf die HwVidFindAdapter-Funktion des Miniporttreibers, die für alle Miniporttreiber erforderlich ist.

HwInitialize

Zeiger auf die HwVidInitialize-Funktion des Miniporttreibers, die für alle Miniporttreiber erforderlich ist.

HwInterrupt

Zeiger auf die HwVidInterrupt-Funktion des Miniporttreibers, die nur erforderlich ist, wenn der Adapter des Miniporttreibers Interrupts generiert. Andernfalls muss dieser Zeiger NULL sein.

HwStartIO

Zeiger auf die HwVidStartIO-Funktion des Miniporttreibers, die für alle Miniporttreiber erforderlich ist.

HwDeviceExtensionSize

Gibt die Größe des Speichers in Byte an, den der Miniporttreiber für seine private, adapterspezifische Geräteerweiterung benötigt. Ein Miniporttreiber verwendet diesen Speicher, um vom Treiber bestimmte Informationen pro Adapter zu speichern, z. B. die zugeordneten logischen Adressbereiche für die Adapterregister und alle Kontextinformationen, die der Treiber zu seinen E/A-Vorgängen verwaltet.

Ein Zeiger auf die Geräteerweiterung wird in jedem Aufruf der Standardfunktionen des Miniporttreibers mit Ausnahme von DriverEntry, HwVidSynchronizeExecutionCallback und allen SvgaHwIoPortXxx-Funktionen übergeben. Der Videoporttreiber weist den Speicher für die Geräteerweiterung zu und initialisiert ihn mit Nullen, bevor er an die HwVidFindAdapter-Funktion des Miniporttreibers übergeben wird.

StartingDeviceNumber

Muss auf 0 (null) festgelegt werden.

HwResetHw

Zeiger auf die HwVidResetHw-Funktion des Miniporttreibers, die für jeden Miniporttreiber eines Adapters erforderlich ist, der bei einem soften Neustart des Computers nicht vollständig zurückgesetzt wird. Treiber von SVGA-Adaptern, die bei Empfang eines INT10-Befehls vom Typ MODE3 vollständig auf einen VGA-Standardzeichenmodus zurückgesetzt werden, legen diesen in der Regel auf NULL fest.

HwTimer

Zeiger auf die HwVidTimer-Funktion eines Miniporttreibers, die optional ist. Dieser Zeiger kann NULL sein.

HwStartDma

Ist für das System reserviert.

HwSetPowerState

Zeiger auf die HwVidSetPowerState-Funktion des Miniporttreibers, die für alle Miniporttreiber erforderlich ist.

HwGetPowerState

Zeiger auf die HwVidGetPowerState-Funktion des Miniporttreibers, die für alle Miniporttreiber erforderlich ist.

HwGetVideoChildDescriptor

Zeiger auf die HwVidGetVideoChildDescriptor-Funktion des Miniporttreibers, die für alle Miniporttreiber erforderlich ist.

HwQueryInterface

Zeiger auf die HwVidQueryInterface-Funktion des Miniporttreibers. Dies kann optional in einem Miniporttreiber implementiert werden, der externe Programmierschnittstellen für die geräteübergreifende Kommunikation unterstützt, z. B. I2C-Unterstützung (oder I²C) für MPEG-Decoder. Andernfalls sollte dieser Member auf NULL festgelegt werden.

HwChildDeviceExtensionSize

Die Größe der Geräteerweiterung in Byte, die dem Anzeigeausgabegerät zugeordnet ist. Der Miniporttreiber sollte dieses Element nur ausfüllen, wenn der Miniporttreiber die Überwachungskonfigurationsdaten getrennt von der Konfiguration des Adapterboards verwalten muss.

HwLegacyResourceList

Zeiger auf ein Array von VIDEO_ACCESS_RANGE Strukturen. Jede Struktur beschreibt einen E/A-Port des Geräts oder einen Arbeitsspeicherbereich für die Grafikkarte, die nicht im PCI-Konfigurationsbereich aufgeführt ist.

HwLegacyResourceCount

Die Anzahl der Elemente im Array, auf die HwLegacyResourceList verweist.

HwGetLegacyResources

Zeiger auf die HwVidLegacyResources-Funktion des Miniporttreibers, die es dem Treiber ermöglicht, seine Legacyressourcen basierend auf seinen Geräte- und Anbieter-IDs anzugeben.

AllowEarlyEnumeration

Ermöglicht es dem Miniporttreiber, seine untergeordneten Geräte aufzulisten, bevor der Adapter gestartet wird. Das heißt, der Videoporttreiber kann HwVidGetVideoChildDescriptor vor HwVidFindAdapter aufrufen, wenn dieser Member auf TRUE festgelegt ist.

Reserved

Ist für das System reserviert.

Hinweise

Die DriverEntry-Funktion eines Miniporttreibers muss diese Struktur mit Nullen initialisieren, bevor relevante Werte in einem Element festgelegt werden.

Der Videoporttreiber ignoriert die Elemente HwLegacyResourceCount und HwLegacyResourceList , wenn HwGetLegacyResources mit einem Zeiger auf eine HwVidLegacyResources-Implementierung initialisiert wird.

Anforderungen

Anforderung Wert
Header video.h (Video.h einschließen)

Weitere Informationen

EMULATOR_ACCESS_ENTRY

HwVidLegacyResources

VIDEO_ACCESS_RANGE

VIDEO_PORT_CONFIG_INFO

VideoPortZeroMemory