Individually Registered Video Miniport Driver Functions

This section contains reference pages for functions that are registered individually and implemented by the video miniport driver.

Several of these functions serve as callbacks for particular video port driver functions. In those cases, the registration of the callback function does not persist beyond the execution of the video port driver function. For example, when the video miniport driver calls VideoPortGetDeviceData, it passes the address of an HwVidQueryDeviceCallback function. Before VideoPortGetDeviceData completes, it calls back at the specified function address; however, the video port driver does not retain the address of the callback function after VideoPortGetDeviceData completes.

On the other hand, certain registrations last longer than the execution of the video port driver function that is called to perform the registration. For example, when the video miniport driver registers HwVidBugcheckCallback, that registration persists as long as the video miniport driver is loaded, or until the registration is overridden by a second call to VideoPortRegisterBugcheckCallback. If HwVidDpcRoutine is successfully registered, the registration lasts until the DPC routine is called.

The following table summarizes the registration techniques.

Video Miniport Driver FunctionRegistration Notes

HwVidBugcheckCallback

Registered by calling VideoPortRegisterBugcheckCallback. A video miniport driver can implement several variations of the HwVidBugcheckCallback function, but only one variation can be registered at a given time. A second call to VideoPortRegisterBugcheckCallback overrides the existing registration.

HwVidDpcRoutine

Registered by calling VideoPortQueueDpc. Registration can fail if a DPC has already been queued but not executed. A video miniport driver should implement only one HwVidDpcRoutine function.

HwVidExecuteDma

Registered by calling VideoPortStartDma, which calls back before it completes. Typically, a video miniport driver implements only one HwVidExecuteDma function. However, it is acceptable for a video miniport driver to implement several variations of the HwVidExecuteDma function and pass the variation of choice in a given call to VideoPortStartDma.

HwVidQueryDeviceCallback

Registered by calling VideoPortGetDeviceData, which calls back before it completes. Typically, a video miniport driver implements several variations of the HwVidQueryDeviceCallback function and passes the variation of choice in a given call to VideoPortGetDeviceData.

HwVidQueryNamedValueCallback

Registered by calling VideoPortGetRegistryParameters, which calls back before it completes. Typically, a video miniport driver implements several variations of the HwVidQueryNamedValueCallback function and passes the variation of choice in a given call to VideoPortGetRegistryParameters.

HwVidSynchronizeExecutionCallback

Registered by calling VideoPortSynchronizeExecution, which calls back before it completes. Typically, a video miniport driver implements several variations of the HwVidSynchronizeExecution function and passes the variation of choice in a given call to VideoPortSynchronizeExecution.

 

 

 

Send comments about this topic to Microsoft

Show: