다음을 통해 공유


IDMAChannel::RequestTransfer (Windows CE 5.0)

Send Feedback

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.

HRESULT RequestTransfer(PHYSICAL_ADDRESSphysStart,DWORDdwSize,VOID*pva,
  DWORD* pdwPending);

Parameters

  • physStart
    [in] Physical address of the memory segment to be transferred.
  • dwSize
    [in] Size, in bytes, of the memory segment to be transferred. This value should not exceed the maximum size specified by IDMAChannel::GetMaxOutstandingTransfers.
  • 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 Values

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

OS Versions: Windows CE .NET 4.0 and later.
Header: Dvddrvr.idl.

See Also

IDMAChannel::GetMaxOutstandingTransfers | IDMAChannel::SetDataNotificationThreshold | IDMAChannel:IUnknown

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.