DMARawTransferControl (Windows Embedded CE 6.0)
1/6/2010
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
- hDmaHandle
[in] DMA transfer handle returned by DMAIssueTransfer.
- 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 |
Windows Embedded CE | Windows Embedded CE 6.0 and later |
See Also
Reference
CEDDK Dynamic-Link Library DMA Functions
CEDDK Dynamic-Link Library DMA Structures