Partager via


DMARawTransferControl (Compact 2013)

3/26/2014

This function controls hardware mapped DMA transfers directly, unless the transfer is already completed or is not queued.

Syntax

BOOL DMARawTransferControl (
  DMA_TRANSFER_HANDLE hDmaHandle,
  DWORD dwIoControl,
  PVOID lpInPtr,
  DWORD nInLen,
  LPVOID lpOutBuffer,
  DWORD nOutBufferSize,
  LPDWORD lpBytesReturned
);

Parameters

  • dwIoControl
    [in] IOCTL for the operation. This value identifies the specific operation to perform and the type of device on which to perform the operation. There are no specific values defined for the dwIoControlCode parameter. However, custom IOCTL-XXX IOCTLs can be defined using the CTL_CODE macro. These IOCTLS can then be advertised and an application can use them IOCTLS with DeviceIoControl to perform driver-specific functions.
  • lpInPtr
    [in] Long pointer to a buffer that contains the data required to perform the operation. Set to NULL if the dwIoControlCode parameter specifies an operation that does not require input data.
  • nInLen
    [in] Size in bytes, of the buffer pointed to by lpInBuffer.
  • lpOutBuffer
    [in, out] Long pointer to a buffer that receives the output data for the operation. Set to NULL if the dwIoControlCode parameter specifies an operation that des not produce output data.
  • nOutBufferSize
    [in] Size, in bytes, of the buffer pointed to by lpOutBuffer.
  • lpBytesReturned
    [in] Long pointer to a variable that receives the size, in bytes, of the data stored into the buffer pointed to by lpOutBuffer. Even when an operation produces no output data, and lpOutBuffer is NULL, the DeviceIoControl funciton uses the variable pointed to by lpBytesReturned. After such an operation, the value of the variable has no meaning.

Return Value

Returns nonzero value on success. Returns zero on failure. For extended error information, the user driver can call GetLastError.

Remarks

This function controls DMA transfers being processed by hardware, specifically DMA transfers with a status of DMA_TRANSFER_IN_PROGRESS. There is no affect on DMA transfers that are in the software queue. If the DMA transfer is in the software queue, this function will return FALSE.

Requirements

Header

oaldma.h

Library

CEDDK.lib

See Also

Reference

Ceddk.dll DMA Functions
Ceddk.dll DMA Structures