Metode IWDFDevice3::CreateInterrupt (wudfddi.h)
[Peringatan: UMDF 2 adalah versi terbaru UMDF dan pengganti UMDF 1. Semua driver UMDF baru harus ditulis menggunakan UMDF 2. Tidak ada fitur baru yang ditambahkan ke UMDF 1 dan ada dukungan terbatas untuk UMDF 1 pada versi Windows 10 yang lebih baru. Driver Universal Windows harus menggunakan UMDF 2. Untuk informasi selengkapnya, lihat Mulai menggunakan UMDF.]
Metode CreateInterrupt membuat objek interupsi kerangka kerja.
Sintaks
HRESULT CreateInterrupt(
[in] PWUDF_INTERRUPT_CONFIG Configuration,
[out] IWDFInterrupt **ppInterrupt
);
Parameter
[in] Configuration
Penunjuk ke struktur WUDF_INTERRUPT_CONFIG yang diinisialisasi oleh panggilan ke makro WUDF_INTERRUPT_CONFIG_INIT .
[out] ppInterrupt
Penunjuk ke buffer yang menerima penunjuk ke antarmuka IWDFInterrupt untuk objek interupsi baru.
Nilai kembali
Metode mengembalikan S_OK jika operasi berhasil. Jika tidak, metode ini mengembalikan salah satu kode kesalahan yang didefinisikan dalam Winerror.h.
Keterangan
Driver Anda harus memanggil CreateInterrupt satu kali untuk setiap vektor interupsi yang diperlukan perangkatnya. Jika perangkat mendukung interupsi bertanda pesan (MSI), driver harus membuat objek interupsi untuk setiap pesan yang dapat didukung perangkat.
Driver biasanya memanggil metode CreateInterrupt dari fungsi panggilan balik OnDeviceAdd , tetapi juga dapat memanggil metode ini dari IPnpCallbackHardware2::OnPrepareHardware.
Setelah manajer Plug and Play (PnP) menetapkan sumber daya sistem ke perangkat, kerangka kerja menyimpan informasi tentang sumber daya interupsi yang ditetapkan perangkat dalam objek interupsi yang telah dibuat driver. (Driver yang tidak mendukung Plug and Play tidak dapat menggunakan objek interupsi.)
Sistem mungkin tidak menetapkan semua sumber daya interupsi yang dapat didukung perangkat. Misalnya, driver membuat delapan objek interupsi untuk perangkat yang mampu mendukung delapan pesan MSI. Namun, sistem mungkin hanya menetapkan satu pesan ke perangkat. Dalam hal ini, tujuh objek interupsi tidak akan digunakan.
Biasanya, driver Anda harus menyimpan informasi khusus interupsi, seperti konten register interupsi perangkat yang disalin, di ruang konteks objek interupsi. Driver memanggil IWDFObject::AssignContext untuk mendaftarkan konteks dan meminta pemberitahuan ketika objek menjadi tidak valid.
UMDF mendukung gangguan yang dipicu tingkat mulai dari Windows 8. Jika driver yang berjalan pada sistem operasi yang lebih lama dari Windows 8 membuat gangguan yang dipicu tingkat di OnDeviceAdd, CreateInterrupt berhasil karena sistem operasi belum menetapkan sumber daya. Namun, ketika kerangka kerja mencoba menyambungkan interupsi nanti, perangkat gagal dimulai.
Untuk informasi selengkapnya tentang penanganan gangguan pada driver UMDF, lihat Mengakses Perangkat Keras dan Menangani Gangguan.
Contoh
HRESULT hr;
IWDFInterrupt* pInterrupt;
WUDF_INTERRUPT_CONFIG interruptConfig;
WUDF_INTERRUPT_CONFIG_INIT(&interruptConfig,
MyInterruptIsr,
MyInterruptWorkItem);
hr = pDevice->Create(&interruptConfig,
&pInterrupt);
Persyaratan
Persyaratan | Nilai |
---|---|
Akhir dukungan | Tidak tersedia di UMDF 2.0 dan yang lebih baru. |
Target Platform | Desktop |
Versi UMDF minimum | 1.11 |
Header | wudfddi.h |
DLL | WUDFx.dll |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk