Fungsi WdfDmaEnablerConfigureSystemProfile (wdfdmaenabler.h)

[Hanya berlaku untuk KMDF]

Metode WdfDmaEnablerConfigureSystemProfile mengonfigurasi pengaturan khusus perangkat keras untuk pengaktif DMA mode sistem dan menyelesaikan inisialisasi sumber daya.

Sintaks

NTSTATUS WdfDmaEnablerConfigureSystemProfile(
  [in] WDFDMAENABLER                  DmaEnabler,
  [in] PWDF_DMA_SYSTEM_PROFILE_CONFIG ProfileConfig,
  [in] WDF_DMA_DIRECTION              ConfigDirection
);

Parameter

[in] DmaEnabler

Handel ke objek pengaktif DMA.

[in] ProfileConfig

Penunjuk ke struktur WDF_DMA_SYSTEM_PROFILE_CONFIG . Driver harus menginisialisasi struktur ini dengan memanggil WDF_DMA_SYSTEM_PROFILE_CONFIG_INIT.

[in] ConfigDirection

Nilai jenis WDF_DMA_DIRECTION yang menentukan arah operasi transfer DMA. Jika nilai WDF_DMA_PROFILE untuk pengaktif ini bukan WdfDmaProfileSystemDuplex, kerangka kerja mengabaikan parameter ini.

Nilai kembali

WdfDmaEnablerConfigureSystemProfile mengembalikan STATUS_SUCCESS jika operasi berhasil. Jika tidak, metode mungkin mengembalikan salah satu nilai berikut.

Menampilkan kode Deskripsi
STATUS_NOT_SUPPORTED
Driver meminta konfigurasi DMA yang tidak didukung pada sistem operasi saat ini.
STATUS_INVALID_PARAMETER
Driver disediakan NULL dalam parameter ProfileConfig .
STATUS_INFO_LENGTH_MISMATCH
Anggota Ukuran struktur yang ditujukan oleh parameter ProfileConfig tidak sama dengan ukuran struktur WDF_DMA_SYSTEM_PROFILE_CONFIG .
STATUS_INVALID_PARAMETER
Anggota DmaDescriptor dari struktur yang diarahkan oleh parameter ProfileConfig adalah NULL atau parameter ConfigDirection berisi nilai yang tidak valid.

Keterangan

Sebelum memanggil WdfDmaEnablerConfigureSystemProfile, driver harus memanggil WdfDmaEnablerCreate untuk membuat objek enabler.

Driver biasanya memanggil WdfDmaEnablerConfigureSystemProfile dari fungsi panggilan balik EvtDevicePrepareHardware .

Jika driver Anda menentukan profil dupleks saat disebut WdfDmaEnablerCreate, nilai parameter ConfigDirection metode WdfDmaEnablerConfigureSystemProfile harus WdfDmaDirectionReadFromDevice untuk mendapatkan struktur DMA_ADAPTER untuk operasi baca dan WdfDmaDirectionWriteToDevice untuk mendapatkan struktur DMA_ADAPTER untuk operasi tulis.

Jika pengaktif DMA adalah pengaktif dupleks, driver harus menginisialisasi arah tertentu sebelum dapat menggunakannya.

Jika driver Anda tidak menentukan profil dupleks, driver dapat menentukan WdfDmaDirectionReadFromDevice atau WdfDmaDirectionWriteToDevice.

Contoh

Contoh kode berikut berasal dari fungsi panggilan balik EvtDevicePrepareHardware driver. Contoh ini menginisialisasi struktur WDF_DMA_SYSTEM_PROFILE_CONFIG dan memanggil WdfDmaEnablerConfigureSystemProfile.


WDF_DMA_SYSTEM_PROFILE_CONFIG systemDmaConfig;  
PHYSICAL_ADDRESS pa;  
 
pa.QuadPart = 0;  
  
WDF_DMA_SYSTEM_PROFILE_CONFIG_INIT(&systemDmaConfig,   
                                   pa,  
                                   Width8Bits,  
                                   partial);  
  
systemDmaConfig.DemandMode = true;  
 
ntStatus = WdfDmaEnablerConfigureSystemProfile(fdoExtension->DmaEnabler,   
                                               &systemDmaConfig,   
                                               WdfDmaDirectionReadFromDevice);  

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 8
Target Platform Universal
Versi KMDF minimum 1.11
Header wdfdmaenabler.h (termasuk Wdf.h)
Pustaka Wdf01000.sys (lihat Penerapan Versi Pustaka Kerangka Kerja.)
IRQL PASSIVE_LEVEL
Aturan kepatuhan DDI DriverCreate(kmdf)

Lihat juga

WDF_DMA_ENABLER_CONFIG

WDF_DMA_ENABLER_CONFIG_INIT

WDF_DMA_SYSTEM_PROFILE_CONFIG_INIT

WdfDmaEnablerCreate