Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
[Yalnızca KMDF için geçerlidir]
Bir sürücü bir DMA işlemiyle ilişkili tüm DMA aktarımlarını işledikten sonra, sürücü işlem nesnesini silebilir veya yeniden kullanabilir. Genellikle, sürücünün EvtInterruptDpc geri çağırma işlevi işlem nesnesini siler ( WdfObjectDelete çağrısı yaparak). Daha sonra, sürücü yeni bir DMA işlemi oluşturduğunda, yeni bir işlem nesnesi oluşturmak için WdfDmaTransactionCreate öğesini çağırır.
Ancak, bazen sürücünün işlem nesnelerini yeniden kullanması yararlı olabilir. Bu gibi durumlarda, sürücü WdfObjectDelete yerine WdfDmaTransactionRelease'i çağırır.
Örneğin, sürücünüzün ve cihazınızın bilgisayar belleği kaynakları düşük olduğunda çalışması gerektiğini varsayalım. Bu bellek sorununu gidermek için sürücünüz aşağıdaki yordamı kullanabilir:
Sürücünün EvtDriverDeviceAdd geri çağırma işlevi, bir veya daha fazla işlem nesnesi oluşturmak için WdfDmaTransactionCreate işlevini çağırabilir. Sürücü, tanıtıcıları bu işlem nesnelerine kaydeder.
Sürücü yeni bir işlem oluşturmaya ve başlatmaya her hazır olduğunda WdfDmaTransactionCreate öğesini çağırır. Bu yöntem STATUS_INSUFFICIENT_RESOURCES döndürürse, sürücü depolanan işlem nesnelerinden birini kullanabilir.
Sürücü depolanan işlem nesnelerinden birini kullanıyorsa, işlem tamamlandığında silmek yerine işlem nesnesini yeniden kullanmalıdır. Sürücü, WdfObjectDelete yerine WdfDmaTransactionRelease çağrısı yaparak işlem nesnesini yeniden kullanmak üzere ayarlar.
PLX9x5x örneği DMA işlem nesnelerini yeniden kullanılır.