Bagikan melalui


struktur NET_DMA_CHANNEL_PARAMETERS (netdma.h)

Catatan Antarmuka NetDMA tidak didukung di Windows 8 dan yang lebih baru.
 
Struktur NET_DMA_CHANNEL_PARAMETERS menentukan parameter konfigurasi yang harus digunakan driver penyedia DMA untuk mengonfigurasi saluran DMA.

Sintaks

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;

Anggota

Revision

Nomor revisi struktur ini.

Untuk Windows 7 dan Windows Server 2008 R2 dan yang lebih baru, atur anggota ini ke NET_DMA_CHANNEL_PARAMETERS_REVISION_2.

Untuk Windows Vista dan Windows Server 2008, atur anggota ini ke NET_DMA_CHANNEL_PARAMETERS_REVISION_1.

Size

Ukuran, dalam byte, dari struktur ini. Atur anggota ini ke sizeof(NET_DMA_CHANNEL_PARAMETERS).

Flags

Sekumpulan bit untuk bendera yang menentukan atribut saluran DMA. Atur anggota ini ke nol. Saat ini tidak ada bendera yang ditentukan.

CompletionVirtualAddress

Alamat virtual lokasi memori tempat mesin DMA dapat menulis status penyelesaian transfer DMA. Alamat virtual ini dikaitkan dengan alamat fisik yang ditentukan dalam
Anggota CompletionPhysicalAddress .

CompletionPhysicalAddress

Alamat fisik lokasi memori tempat mesin DMA dapat menulis status penyelesaian transfer DMA. Jika bendera NET_DMA_STATUS_UPDATE_ON_COMPLETION tidak diatur dalam anggota ControlFlags dari struktur NET_DMA_DESCRIPTOR , CompletionPhysicalAddress tidak digunakan. Jika tidak, nilai status penyelesaian pada alamat yang ditentukan adalah kombinasi lebar 64-bit dari alamat fisik deskriptor DMA terbaru yang diproses mesin DMA dan informasi status tambahan.

Alamat fisik deskriptor DMA harus diselaraskan dengan batas 64-bit. Oleh karena itu, enam bit alamat yang lebih rendah tersedia untuk informasi lain. Mesin DMA menggabungkan nilai status berikut dengan alamat deskriptor dengan menggunakan operasi OR bitwise:

Nilai Makna
NetDmaTransferStatusActive
Transfer DMA untuk deskriptor DMA terbaru selesai tanpa kesalahan, dan mesin DMA memiliki lebih banyak deskriptor untuk diproses.
NetDmaTransferStatusIdle
Transfer DMA untuk deskriptor DMA terakhir dalam daftar deskriptor yang ditautkan selesai tanpa kesalahan.
NetDmaTransferStatusSuspend
Transfer DMA untuk deskriptor DMA terbaru selesai tanpa kesalahan, dan transfer DMA ditangguhkan karena antarmuka NetDMA yang disebut fungsi ProviderSuspendDma . Mesin DMA akan memulai ulang transfer setelah antarmuka NetDMA memanggil fungsi ProviderResumeDma .
NetDmaTransferStatusHalted
Transfer DMA untuk transfer DMA terbaru dibatalkan karena kesalahan atau karena antarmuka NetDMA yang disebut fungsi ProviderAbortDma .
NetDmaTransferStatusArmed
Transfer DMA untuk deskriptor pertama belum selesai dan alamat deskriptor yang telah selesai tidak valid.

ProcessorAffinityMask

Bitmap yang menunjukkan CPU yang tersedia untuk digunakan dengan saluran DMA ini. Setiap bit di ProcessorAffinityMask mengidentifikasi CPU. Misalnya, pengaturan bit 0 menunjukkan CPU 0 dapat digunakan, pengaturan bit 1 menunjukkan CPU 1 dapat digunakan, dan sebagainya.

ChannelPriority

Nilai prioritas saluran DMA yang mewakili prioritas untuk saluran DMA relatif terhadap saluran DMA lain pada mesin DMA yang sama. Pengaturan prioritas yang lebih rendah menunjukkan saluran DMA prioritas yang lebih rendah. Jika nilai ini menunjukkan prioritas yang lebih tinggi daripada yang didukung perangkat keras, nilai tertinggi yang didukung perangkat keras harus digunakan. Antarmuka Windows Vista NetDMA mengatur anggota ini ke nol.

CpuNumber

Nomor CPU yang terkait dengan saluran DMA. Driver penyedia DMA menetapkan nilai sebelum dikembalikan dari
Fungsi ProviderAllocateDmaChannel . Mesin DMA menggunakan CPU ini untuk mengganggu DPC yang terkait dengan saluran DMA. Jika mesin DMA dan konfigurasi komputer mendukung MSI-X, gangguan juga harus dikaitkan dengan nomor CPU yang ditunjukkan, kecuali tidak ada gangguan MSI-X yang tersedia untuk CPU yang ditunjukkan.

ProcessorAffinityMaskEx

Nomor grup dan bitmap CPU yang dapat dikaitkan dengan saluran DMA ini.

Keterangan

Sebelum menggunakan saluran DMA, antarmuka NetDMA memanggil
Fungsi ProviderAllocateDmaChannel dari driver penyedia DMA untuk mengalokasikan dan menginisialisasi saluran DMA.

Antarmuka NetDMA menyediakan struktur NET_DMA_CHANNEL_PARAMETERS di parameter ChannelParametersproviderAllocateDmaChannel.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista
Server minimum yang didukung Windows Server 2008
Header netdma.h (termasuk Netdma.h)

Lihat juga

NET_DMA_DESCRIPTOR

ProviderAbortDma

ProviderAllocateDmaChannel

ProviderResumeDma

ProviderSuspendDma