Configuring a Supported Video Adapter
In addition to setting up bus-relative access ranges, claiming these hardware resources (and any others necessary) for its adapter, and mapping access ranges to logical addresses, HwFindAdapter must fill in any missing configuration information in the VIDEO_PORT_CONFIG_INFO structure for an adapter it supports.
After filling in the VIDEO_PORT_CONFIG_INFO structure for a supported adapter, HwVidFindAdapter returns control with the status code NO_ERROR.
VideoPortInitialize sets up necessary system objects, such as a device object for the adapter and an interrupt object if the adapter generates interrupts, on behalf of the miniport driver.
The miniport’s HwVidInitialize function, is called in response to the opening of a video miniport driver by the kernel-mode graphics engine.
Note that the mapped logical addresses passed to the VideoPortReadXxx and VideoPortWriteXxx functions are kernel-mode addresses. After a miniport driver is loaded and its HwVidInitialize function is run, the miniport’s HwVidStartIO function, is called to map any access range of video memory that the miniport driver makes visible to its corresponding display driver. For more information on HwVidStartIO, see HwVidStartIO Functionality .