Common-Buffer Bus-Master DMA

The miniport driver performs the following sequence of operations to use common-buffer DMA:

  1. Get an adapter object.

    The miniport driver calls the video port driver's VideoPortGetDmaAdapter function, usually within the miniport driver's HwVidFindAdapter routine, to get a pointer to a VP_DMA_ADAPTER structure. The miniport driver uses this pointer for subsequent DMA operations.

  2. Allocate a common buffer.

    The miniport driver calls the video port driver's VideoPortAllocateCommonBuffer function, using the pointer obtained in the previous step.

  3. Release the common buffer.

    When the miniport driver no longer requires the common buffer, it calls the video port driver's VideoPortReleaseCommonBuffer function.

  4. Discard the adapter object.

    This step is optional. If, for some reason, the miniport driver decides that there will be no further DMA operations for the rest of its lifetime, it should discard the DMA adapter object by calling the video port driver's VideoPortPutDmaAdapter function.