// netdma.h
typedef struct _NET_DMA_PROVIDER_ATTRIBUTES {
UCHAR MajorHwVersion;
UCHAR MinorHwVersion;
USHORT Size;
ULONG Flags;
ULONG VendorId;
ULONG DmaChannelCount;
ULONG MaximumTransferSize;
PHYSICAL_ADDRESS MaximumAddressSpace;
} NET_DMA_PROVIDER_ATTRIBUTES, *PNET_DMA_PROVIDER_ATTRIBUTES;
View the official Windows Driver Kit DDI referenceNo description available.
Note The NetDMA interface is not supported in Windows 8 and later.
The NET_DMA_PROVIDER_ATTRIBUTES structure specifies the configuration attributes for a NetDMA provider.
MajorHwVersionThe major version number of the DMA provider hardware.
MinorHwVersionThe minor version number of the DMA provider hardware.
SizeThe size, in bytes, of this NET_DMA_PROVIDER_ATTRIBUTES structure. Set this member to sizeof(NET_DMA_PROVIDER_ATTRIBUTES).
FlagsReserved for DMA provider attributes flags. Set this member to zero.
VendorIdA vendor identifier (ID) that uniquely identifies the vendor that created the DMA engine. This vendor ID is specified in the device's PCI configuration space. For more information about the vendor ID, see Identifiers for PCI Devices.
DmaChannelCountThe number of DMA channels that the DMA provider supports. This number can differ from the MaxDmaChannelCount member of the NET_DMA_PROVIDER_CHARACTERISTICS structure that defines the maximum number of DMA channels that this type of DMA provider can support.
MaximumTransferSizeThe maximum DMA transfer size, in bytes, that the DMA provider can support. This value can must be 4 KB or greater.
MaximumAddressSpaceThe largest physical address that the DMA engine can support.
To start a DMA provider, the DMA provider driver supplies a NET_DMA_PROVIDER_ATTRIBUTES structure at the ProviderAttributes parameter of the NetDmaProviderStart function.
A DMA provider driver initializes a DMA engine and starts a DMA provider while handling the IRP_MN_START_DEVICE IRP.
NET_DMA_PROVIDER_CHARACTERISTICS