Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The GetDmaAdapterInfo routine retrieves information about the hardware capabilities of a system DMA channel.
Syntax
PGET_DMA_ADAPTER_INFO PgetDmaAdapterInfo;
NTSTATUS PgetDmaAdapterInfo(
[in] PDMA_ADAPTER DmaAdapter,
[in, out] PDMA_ADAPTER_INFO AdapterInfo
)
{...}
Parameters
[in] DmaAdapter
A pointer to a DMA_ADAPTER structure. This structure is the adapter object that represents the driver's system DMA channel. The caller obtained this pointer from a previous call to the IoGetDmaAdapter routine.
[in, out] AdapterInfo
A pointer to a caller-allocated DMA_ADAPTER_INFO structure. The routine writes information about the system DMA controller into this structure. The caller must set the Version member of this structure to DMA_ADAPTER_INFO_VERSION1 before calling GetDmaAdapterInfo.
Return value
GetDmaAdapterInfo returns STATUS_SUCCESS if the call is successful. Possible error return values include the following status code.
Return code | Description |
---|---|
|
The routine does not support the specified version of the DMA_ADAPTER_INFO_XXX structure. |
Remarks
GetDmaAdapterInfo is not a system routine that can be called directly by name. This routine can be called only by pointer from the address returned in a DMA_OPERATIONS structure. Drivers obtain the address of this routine by calling IoGetDmaAdapter with the Version member of the DeviceDescription parameter set to DEVICE_DESCRIPTION_VERSION3. If IoGetDmaAdapter returns NULL, the routine is not available on your platform.
GetDmaAdapterInfo retrieves the following information:
- The maximum number of elements in a scatter/gather list that the DMA controller can process in a single scatter/gather DMA operation.
- The width, in bits, of a DMA address.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Available starting with Windows 8. |
Target Platform | Desktop |
Header | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
IRQL | <= DISPATCH_LEVEL |