[wdmaudiodev] NewMasterDmaChannel in 64-bit XP

  • From: Eugene Muzychenko <emuzychenko@xxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Tue, 18 Apr 2006 13:48:04 +0700

I have a virtual (software-only) WavePci miniport driver. It needs no
IDmaChannel object but IMiniportWavePci::NewStream must return a valid
IDmaChannel object. So I use IPortWavePci::NewMasterDmaChannel method
to create such object.

Under 2k, XP and 2k3, the driver works perfectly. But under 64-bit XP,
IPortWavePci::NewMasterDmaChannel returns C0000182
(DEVICE_CONFIGURATION_ERROR).

A call is made as follows:

    Status = Port->NewMasterDmaChannel (
      &DmaChannel,
      0,
      NonPagedPool,
      0,
      true,
      true,
      false,
      false,
      DMA_WIDTH (-1),
      DMA_SPEED (-1),
      1024,
      0
    );

I tried to play with the parameters, setting various DMA
widths/speeds, 32- and 64-bit modes, maximum transfer lengths but
cannot get it worked.

The only DDK sample that uses this method is AC'97 driver but it isn't
compatible with 64-bit Windows.

How can I create a valid master DMA object?

******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.com/

Other related posts:

  • » [wdmaudiodev] NewMasterDmaChannel in 64-bit XP