NET_DMA_CHANNEL_PARAMETERS Struktur (netdma.h)
Syntax
typedef struct _NET_DMA_CHANNEL_PARAMETERS {
USHORT Revision;
USHORT Size;
ULONG Flags;
PVOID CompletionVirtualAddress;
PHYSICAL_ADDRESS CompletionPhysicalAddress;
ULONG ProcessorAffinityMask;
ULONG ChannelPriority;
ULONG CpuNumber;
GROUP_AFFINITY ProcessorAffinityMaskEx;
} NET_DMA_CHANNEL_PARAMETERS, *PNET_DMA_CHANNEL_PARAMETERS;
Angehörige
Revision
Die Revisionsnummer dieser Struktur.
Legen Sie für Windows 7 und Windows Server 2008 R2 und höher dieses Mitglied auf NET_DMA_CHANNEL_PARAMETERS_REVISION_2fest.
Legen Sie für Windows Vista und Windows Server 2008 dieses Mitglied auf NET_DMA_CHANNEL_PARAMETERS_REVISION_1fest.
Size
Die Größe dieser Struktur in Byte. Legen Sie dieses Element auf sizeof(NET_DMA_CHANNEL_PARAMETERS) fest.
Flags
Eine Gruppe von Bits für Flags, die DMA-Kanalattribute definieren. Legen Sie dieses Element auf Null fest. Zurzeit sind keine Flags definiert.
CompletionVirtualAddress
Die virtuelle Adresse des Speicherorts, an dem das DMA-Modul den DMA-Übertragungsabschlussstatus schreiben kann. Diese virtuelle Adresse ist der physischen Adresse zugeordnet, die in der
CompletionPhysicalAddress Mitglied.
CompletionPhysicalAddress
Die physische Adresse des Speicherspeicherorts, an dem das DMA-Modul den DMA-Übertragungsabschlussstatus schreiben kann. Wenn das NET_DMA_STATUS_UPDATE_ON_COMPLETION Flag nicht im ControlFlags Element der NET_DMA_DESCRIPTOR Struktur festgelegt ist, wird CompletionPhysicalAddress- nicht verwendet. Andernfalls ist der Fertigstellungsstatuswert an der angegebenen Adresse eine 64-Bit-Breite Kombination der physischen Adresse des letzten DMA-Deskriptors, den das DMA-Modul verarbeitet hat, und zusätzliche Statusinformationen.
Die physische Adresse des DMA-Deskriptors muss an 64-Bit-Begrenzungen ausgerichtet werden. Daher sind die unteren sechs Bits der Adresse für weitere Informationen verfügbar. Das DMA-Modul kombiniert die folgenden Statuswerte mit der Deskriptoradresse mithilfe eines bitweisen OR-Vorgangs:
Wert | Bedeutung |
---|---|
|
Die DMA-Übertragung für den neuesten DMA-Deskriptor wurde ohne Fehler abgeschlossen, und das DMA-Modul verfügt über mehr Zu verarbeitende Deskriptoren. |
|
Die DMA-Übertragung für den letzten DMA-Deskriptor in der verknüpften Liste der Deskriptoren wurde ohne Fehler abgeschlossen. |
|
Die DMA-Übertragung für den letzten DMA-Deskriptor wurde ohne Fehler abgeschlossen, und DMA-Übertragungen werden angehalten, da die NetDMA-Schnittstelle die ProviderSuspendDma--Funktion aufgerufen hat. Das DMA-Modul startet die Übertragung neu, nachdem die NetDMA-Schnittstelle die ProviderResumeDma--Funktion aufruft. |
|
Die DMA-Übertragung für die letzte DMA-Übertragung wurde aufgrund von Fehlern abgebrochen oder weil die NetDMA-Schnittstelle die ProviderAbortDma- funktion aufgerufen hat. |
|
Die DMA-Übertragung für den ersten Deskriptor wurde nicht abgeschlossen, und die vollständige Deskriptoradresse ist ungültig. |
ProcessorAffinityMask
Eine Bitmap, die CPUs angibt, die für die Verwendung mit diesem DMA-Kanal verfügbar sind. Jedes Bit in ProcessorAffinityMask identifiziert eine CPU. Das Festlegen von Bit 0 gibt beispielsweise an, dass CPU 0 verwendet werden kann, das Festlegen von Bit 1 angibt, dass CPU 1 verwendet werden kann usw.
ChannelPriority
Ein DMA-Kanalprioritätswert, der die Priorität für den DMA-Kanal relativ zu anderen DMA-Kanälen auf demselben DMA-Modul darstellt. Eine Einstellung mit niedrigerer Priorität gibt einen DMA-Kanal mit niedrigerer Priorität an. Wenn dieser Wert eine höhere Priorität als die Hardware unterstützt, sollte der höchste Wert verwendet werden, den die Hardware unterstützt. Die Windows Vista NetDMA-Schnittstelle legt dieses Element auf Null fest.
CpuNumber
Die CPU-Nummer, die dem DMA-Kanal zugeordnet ist. Der DMA-Anbietertreiber legt den Wert fest, bevor er aus dem
ProviderAllocateDmaChannel Funktion. Das DMA-Modul verwendet diese CPU für Unterbrechungs-DPCs, die dem DMA-Kanal zugeordnet sind. Wenn das DMA-Modul und die Computerkonfiguration MSI-X unterstützen, sollte der Interrupt auch der angegebenen CPU-Nummer zugeordnet werden, es sei denn, für die angegebene CPU ist kein MSI-X Interrupt verfügbar.
ProcessorAffinityMaskEx
Die Gruppennummer und eine Bitmap der CPUs, denen dieser DMA-Kanal zugeordnet werden kann.
Bemerkungen
Vor der Verwendung eines DMA-Kanals ruft die NetDMA-Schnittstelle die
ProviderAllocateDmaChannel Funktion des DMA-Anbietertreibers, um den DMA-Kanal zuzuweisen und zu initialisieren.
Die NetDMA-Schnittstelle stellt eine NET_DMA_CHANNEL_PARAMETERS Struktur im ChannelParameters Parameter von ProviderAllocateDmaChannel.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows Vista |
mindestens unterstützte Server- | Windows Server 2008 |
Header- | netdma.h (enthalten Netdma.h) |