Share via


IDMAChannel::RequestTransfer (Windows Embedded CE 6.0)

1/6/2010

This method sets up the DMA transfer of a contiguous memory segment with a given physical address and length. After the transfer has been set up, it returns the current number of pending requests.

Syntax

HRESULT RequestTransfer(
  PHYSICAL_ADDRESS physStart,
  DWORD dwSize, 
  VOID* pva,
  DWORD* pdwPending
);

Parameters

  • physStart
    [in] Physical address of the memory segment to be transferred.
  • pva
    Virtual address of the memory segment to be transferred.
  • pdwPending
    [out] Returns the number of pending requests after this request is placed. This value can be NULL.

Return Value

The following table shows a list of possible return values.

Return value Description

S_OK

The request completed successfully.

E_INVALIDARG

An invalid argument was encountered.

E_UNEXPECTED

The queue is full.

Remarks

It must be confirmed prior to calling this method that there is room in the channel to place a transfer request.

Notification that a transfer has been completed is done not on the basis of individual transfer completion, but on reaching a low-water threshold. You can use the callback in IDMAChannel::SetDataNotificationThreshold.

Requirements

Header dvddrvr.idl
Windows Embedded CE Windows CE .NET 4.0 and later

See Also

Reference

IDMAChannel
IDMAChannel::GetMaxOutstandingTransfers
IDMAChannel::SetDataNotificationThreshold