Fungsi WdfDmaTransactionCreate (wdfdmatransaction.h)
[Berlaku untuk KMDF saja]
Metode WdfDmaTransactionCreate membuat transaksi DMA.
Sintaks
NTSTATUS WdfDmaTransactionCreate(
[in] WDFDMAENABLER DmaEnabler,
[in, optional] PWDF_OBJECT_ATTRIBUTES Attributes,
[out] WDFDMATRANSACTION *DmaTransaction
);
Parameter
[in] DmaEnabler
Handel ke objek pengaktif DMA yang diperoleh driver dari panggilan sebelumnya ke WdfDmaEnablerCreate.
[in, optional] Attributes
Penunjuk ke struktur WDF_OBJECT_ATTRIBUTES yang menentukan atribut objek untuk objek transaksi DMA baru. (Anggota ParentObject struktur harus NULL.) Parameter ini bersifat opsional dan dapat WDF_NO_OBJECT_ATTRIBUTES.
[out] DmaTransaction
Handel ke objek transaksi DMA.
Nilai kembali
WdfDmaTransactionCreate mengembalikan STATUS_SUCCESS jika operasi berhasil. Jika tidak, metode ini mungkin mengembalikan salah satu nilai berikut:
Menampilkan kode | Deskripsi |
---|---|
|
Parameter yang tidak valid terdeteksi. |
|
Memori tidak cukup untuk membuat objek transaksi DMA baru. |
Untuk daftar nilai pengembalian lain yang mungkin dikembalikan oleh metode WdfDmaTransactionCreate , lihat Kesalahan Pembuatan Objek Kerangka Kerja.
Metode ini juga mungkin mengembalikan nilai NTSTATUS lainnya.
Pemeriksaan bug terjadi jika driver menyediakan handel objek yang tidak valid.
Keterangan
Setelah driver Anda memanggil WdfDmaTransactionCreate, driver harus memanggil WdfDmaTransactionInitialize atau WdfDmaTransactionInitializeUsingRequest sebelum memanggil WdfDmaTransactionExecute.
Objek pengaktif DMA yang ditentukan menjadi induk objek transaksi DMA baru. Driver tidak dapat mengubah induk ini, dan anggota ParentObject atau struktur WDF_OBJECT_ATTRIBUTES harus NULL.
Untuk informasi selengkapnya tentang transaksi DMA, lihat Membuat dan Menginisialisasi Transaksi DMA.
Contoh
Untuk contoh kode yang menggunakan WdfDmaTransactionCreate, lihat WdfDmaTransactionExecute.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Versi KMDF minimum | 1,0 |
Header | wdfdmatransaction.h (termasuk Wdf.h) |
Pustaka | Wdf01000.sys (lihat Penerapan Versi Pustaka Kerangka Kerja.) |
IRQL | <=DISPATCH_LEVEL |
Aturan kepatuhan DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |