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

IWDFDevice3

WUDF_INTERRUPT_CONFIG

WUDF_INTERRUPT_CONFIG_INIT