VIDEO_HW_INITIALIZATION_DATA structure (video.h)
The VIDEO_HW_INITIALIZATION_DATA structure specifies the entry points and storage requirements for the miniport driver. This structure is created on the stack and initialized by the miniport driver's DriverEntry function.
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;
Members
HwInitDataSize
Is the size in bytes of this structure. In effect, this indicates the version of VIDEO_HW_INITIALIZATION_DATA being used.
AdapterInterfaceType
Is currently ignored by the video port and should remain zero-initialized.
HwFindAdapter
Pointer to the miniport driver's HwVidFindAdapter function, which is required for all miniport drivers.
HwInitialize
Pointer to the miniport driver's HwVidInitialize function, which is required for all miniport drivers.
HwInterrupt
Pointer to the miniport driver's HwVidInterrupt function, which is required only if the miniport driver's adapter generates interrupts. Otherwise, this pointer must be NULL.
HwStartIO
Pointer to the miniport driver's HwVidStartIO function, which is required for all miniport drivers.
HwDeviceExtensionSize
Specifies the size in bytes of the storage the miniport driver requires for its private, adapter-specific device extension. A miniport driver uses this storage to hold driver-determined per-adapter information, such as the mapped logical address ranges for the adapter registers and whatever context information the driver maintains about its I/O operations.
A pointer to the device extension is passed in every call made to the miniport driver's standard functions except DriverEntry, HwVidSynchronizeExecutionCallback, and any SvgaHwIoPortXxx functions. The video port driver allocates the memory for the device extension and initializes it with zeros before it is passed to the miniport driver's HwVidFindAdapter function.
StartingDeviceNumber
Must be set to zero.
HwResetHw
Pointer to the miniport driver's HwVidResetHw function, which is required for any miniport driver of an adapter that does not reset fully on a soft reboot of the machine. Drivers of SVGA adapters that are fully reset to a VGA standard character mode on receipt of an INT10, MODE3-type command usually set this to NULL.
HwTimer
Pointer to a miniport driver's HwVidTimer function, which is optional. This pointer can be NULL.
HwStartDma
Reserved for system use.
HwSetPowerState
Pointer to the miniport driver's HwVidSetPowerState function, which is required for all miniport drivers.
HwGetPowerState
Pointer to the miniport driver's HwVidGetPowerState function, which is required for all miniport drivers.
HwGetVideoChildDescriptor
Pointer to the miniport driver's HwVidGetVideoChildDescriptor function, which is required for all miniport drivers.
HwQueryInterface
Pointer to the miniport driver's HwVidQueryInterface function. This can be optionally implemented in a miniport driver that supports external programming interfaces for inter-device communication, such as I2C (or I²C) support for MPEG decoders. Otherwise, this member should be set to NULL.
HwChildDeviceExtensionSize
Is the size in bytes of the device extension associated with the display output device. The miniport driver should fill in this member only if the miniport driver needs to manage the monitor configuration data separately from the adapter board configuration.
HwLegacyResourceList
Pointer to an array of VIDEO_ACCESS_RANGE structures. Each structure describes a device I/O port or memory range for the video adapter that is not listed in PCI configuration space.
HwLegacyResourceCount
Is the number of elements in the array to which HwLegacyResourceList points.
HwGetLegacyResources
Pointer to the miniport driver's HwVidLegacyResources function, which enables the driver to specify its legacy resources based on its device and vendor IDs.
AllowEarlyEnumeration
Allows the miniport driver to enumerate its child devices before the adapter is started; that is, the video port driver can call HwVidGetVideoChildDescriptor before HwVidFindAdapter when this member is set to TRUE.
Reserved
Reserved for system use.
Remarks
A miniport driver's DriverEntry function must initialize this structure with zeros before it sets relevant values in any member.
The video port driver will ignore the HwLegacyResourceCount and HwLegacyResourceList members when HwGetLegacyResources is initialized with a pointer to a HwVidLegacyResources implementation.
Requirements
Requirement | Value |
---|---|
Header | video.h (include Video.h) |