Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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) |