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
STATUS_INVALID_PARAMETER
Parameter yang tidak valid terdeteksi.
STATUS_INSUFFICIENT_RESOURCES
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)

Lihat juga

WDF_OBJECT_ATTRIBUTES

WdfDmaEnablerCreate

WdfDmaTransactionExecute

WdfDmaTransactionInitialize

WdfDmaTransactionInitializeUsingRequest