Aracılığıyla paylaş


Packet-Based DMA Sistemi kullanma

Paket tabanlı DMA kullanan alt cihazların sürücüleri, DMA aktarımı isteyen bir IRP'yi işlerken aşağıdaki genel destek yordamlarını çağırır:

IoGetDmaAdapter tarafından döndürülen bağdaştırıcı nesne işaretçisi, KeFlushIoBuffers ve MmGetMdlVirtualAddressharicinde, her bir rutin için gerekli bir parametredir. Bu ikisi, Irp->MdlAddress'de aktarılan MDL işaretçisini gerektirir.

Tek tek sürücüler, her sürücünün cihazına hizmet vermek için nasıl uygulandığına bağlı olarak bu destek yordamları dizisini farklı noktalarda çağırır. Örneğin, bir sürücünün StartIo yordamı, AllocateAdapterChannelçağrısı yapabilir, başka bir sürücü bu çağrıyı sürücü tarafından oluşturulan bir birbirine bağlı kuyruktan IRP'leri kaldıran bir yordamdan yapabilir ve alt DMA cihazı veri aktarımına hazır olduğunu gösterdiğinde başka bir sürücü bu çağrıyı yapabilir.