HwVidInitialize Functionality

For each adapter found and successfully configured by the miniport driver, the miniport HwVidInitialize function is called when the corresponding display driver is loaded. The HwVidInitialize routine can initialize software state information, but it should not set up visible state on the adapter. On return from HwVidInitialize, the adapter should be set to the same state as on return from the miniport’s HwVidResetHw routine. For more information on HwVidResetHw, see HwVidResetHw Functionality.

If necessary, a miniport’s HwVidInitialize function can carry out a one-time initialization operation on the adapter that was postponed by its HwVidFindAdapter function. For example, a miniport might postpone loading microcode on the adapter and have the HwVidInitialize function call VideoPortGetRegistryParameters.

When the HwVidInitialize function returns control,  the graphics engine has a handle for the miniport’s adapter. The corresponding display driver then can call the engine  EngDeviceIoControl function to request access to mapped video memory or to request any other operation. The video port driver sends such a request on to the miniport’s HwVidStartIO function, as a VRP. For more information on HwVidStartIO see HwVidStartIO Functionality.

Usually, a display driver controls the display the end user sees, except occasionally when a full-screen MS-DOS application is run in an x86-based Windows NT machine. For more information about supporting this feature in VGA-compatible miniport drivers, see VGA-Compatible Miniports SvgaHwIoPortXxx.