DMA_START_HANDLER fungsi panggilan balik (netdma.h)
di Windows 8 dan yang lebih baru.
Fungsi ProviderStartDma memulai transfer DMA pada saluran DMA yang ditentukan.
Sintaks
DMA_START_HANDLER DmaStartHandler;
NTSTATUS DmaStartHandler(
[in] PVOID ProviderChannelContext,
[in] PNET_DMA_DESCRIPTOR DescriptorVirtualAddress,
[in] PHYSICAL_ADDRESS DescriptorPhysicalAddress,
[in] ULONG DescriptorCount
)
{...}
Parameter
[in] ProviderChannelContext
Pointer yang mengidentifikasi area konteks saluran DMA. Penyedia DMA mengembalikan handel ini ke NetDMA di lokasi yang ditentukan dalam parameter pProviderChannelContext Fungsi ProviderAllocateDmaChannel .
[in] DescriptorVirtualAddress
Penunjuk ke alamat virtual struktur NET_DMA_DESCRIPTOR pertama dalam daftar deskriptor DMA yang ditautkan. Alamat fisik yang sesuai ditentukan pada parameter DescriptorPhysicalAddress .
[in] DescriptorPhysicalAddress
Penunjuk ke alamat fisik deskriptor DMA pertama dalam daftar deskriptor DMA yang ditautkan. Alamat virtual yang sesuai ditentukan pada parameter DescriptorVirtualAddress .
[in] DescriptorCount
Jumlah deskriptor DMA di DescriptorVirtualAddress .
Nilai kembali
ProviderStartDma mengembalikan salah satu nilai status berikut:
Menampilkan kode | Deskripsi |
---|---|
|
Operasi berhasil diselesaikan. |
|
Operasi gagal karena sumber daya yang tidak mencukup. |
|
Operasi gagal karena alasan yang tidak ditentukan. |
Keterangan
Antarmuka NetDMA memanggil fungsi ProviderStartDma penyedia DMA untuk memulai transfer DMA. Antarmuka NetDMA dapat memanggil ProviderStartDma kapan saja setelah saluran DMA dialokasikan. Antarmuka NetDMA harus memanggil ProviderStartDma setelah memanggil ProviderAbortDma, ProviderResetChannel, atau Fungsi ProviderAllocateDmaChannel untuk saluran DMA.
Sumber transfer DMA adalah daftar deskriptor DMA yang ditautkan. Anggota NextDescriptor dari struktur NET_DMA_DESCRIPTOR di parameter DescriptorVirtualAddress berisi alamat fisik struktur NET_DMA_DESCRIPTOR berikutnya dalam daftar yang ditautkan.
Setelah ProviderStartDma memulai transfer DMA awal, antarmuka NetDMA dapat memanggil fungsi ProviderAppendDma untuk menambahkan data tambahan ke transfer.
NetDMA memanggil ProviderStartDma di IRQL <= DISPATCH_LEVEL.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Didukung untuk driver NetDMA 2.0 di Windows Server 2008. Didukung untuk driver NetDMA 1.1 di Windows Server 2008. Didukung untuk driver NetDMA 1.0 di Windows Server 2008 dan Windows Vista. |
Target Platform | Windows |
Header | netdma.h (termasuk Netdma.h) |
IRQL | <= DISPATCH_LEVEL |