Fungsi WdmlibIoConnectInterruptEx (iointex.h)

Fungsi WdmlibIoConnectInterruptEx mendaftarkan rutinitas penanganan interupsi untuk gangguan perangkat.

Sintaks

NTSTATUS WdmlibIoConnectInterruptEx(
  [in, out] PIO_CONNECT_INTERRUPT_PARAMETERS Parameters
);

Parameter

[in, out] Parameters

Arahkan ke struktur IO_CONNECT_INTERRUPT_PARAMETERS yang menentukan perangkat dan rutinitas penanganan interupsi. Saat kembali, WdmlibIoConnectInterruptEx memperbarui struktur ini untuk menyimpan informasi tentang gangguan perangkat.

Nilai kembali

Fungsi mengembalikan STATUS_SUCCESS pada keberhasilan, atau nilai kesalahan NTSTATUS yang sesuai pada kegagalan. Kemungkinan nilai kesalahan meliputi:

Menampilkan kode Deskripsi
STATUS_INVALID_DEVICE_REQUEST
Operasi tidak valid untuk perangkat yang ditentukan. Misalnya,VersiParameter-> = CONNECT_LINE_BASED, dan sistem telah menetapkan beberapa pesan interupsi ke perangkat.
STATUS_INVALID_PARAMETER
Pemanggil menentukan parameter yang tidak valid. Kesalahan ini terjadi, misalnya, ketika penelepon menentukan NULL untuk objek perangkat perangkat.
STATUS_INVALID_PARAMETER_1
Pemanggil menentukan nilai yang tidak valid untuk anggota Versi struktur yang dituju parameter . Parameter->Versi harus berupa salah satu CONNECT_LINE_BASED, CONNECT_MESSAGE_BASED, atau CONNECT_FULLY_SPECIFIED.
STATUS_INVALID_PARAMETER_10
Pemanggil menentukan nilai yang tidak valid untuk anggota kesepuluh struktur yang dituju parameter . Kesalahan ini terjadi, misalnya, ketika Parameter->FullySpecified.ProcessorEnableMask tidak memiliki bit yang ditetapkan.
STATUS_NOT_FOUND
Salah satu argumen tidak ditemukan. Misalnya, perangkat yang ditentukan tidak memiliki gangguan, atau vektor interupsi yang ditentukan tidak ditetapkan ke perangkat apa pun.

Keterangan

WdmlibIoConnectInterruptEx dapat digunakan untuk mendaftarkan rutinitas penanganan interupsi untuk gangguan berbasis garis tradisional (seperti yang didukung oleh bus PCI), dan interupsi sinyal pesan yang lebih baru (seperti yang didukung oleh PCI versi 2.2 dan 3.0).

Driver mendaftarkan rutinitas InterruptService untuk gangguan berbasis garis, dan rutinitas InterruptMessageService untuk gangguan yang disinyalir pesan. Untuk informasi selengkapnya tentang cara menentukan anggota Parameter dalam setiap kasus, lihat IO_CONNECT_INTERRUPT_PARAMETERS.

WdmlibIoConnectInterruptEx memperbarui anggota Parameter untuk memberikan informasi tentang gangguan perangkat. Untuk informasi selengkapnya tentang informasi yang disediakan oleh WdmlibIoConnectInterruptEx, lihat IO_CONNECT_INTERRUPT_PARAMETERS.

Gunakan WdmlibIoDisconnectInterruptEx untuk membatalkan pendaftaran rutinitas yang terdaftar di WdmlibIoConnectInterruptEx.

Pengandar tidak boleh memprogram perangkatnya untuk menghasilkan gangguan sampai ia menghubungkan ISR-nya. Dengan demikian, ISR tidak dapat diaktifkan sebelum WdmlibIoConnectInterruptEx kembali. Namun, ada perangkat tertentu, seperti tombol, yang tidak dapat diprogram. Untuk perangkat tersebut, driver harus siap untuk menangani ISR segera setelah memanggil WdmlibIoConnectInterruptEx. Baris interupsi mungkin sudah ditegaskan ketika WdmlibIoConnectInterruptEx dipanggil dan dapat diaktifkan segera setelah garis diaktifkan di pengontrol interupsi, sebelum panggilan WdmlibIoConnectInterruptEx membatalkan penundangan.

Untuk informasi selengkapnya tentang mendaftarkan rutinitas penanganan interupsi, lihat Mendaftarkan ISR.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia di Windows Vista dan versi sistem operasi Windows yang lebih baru. Driver yang juga harus bekerja pada Windows 2000, Windows XP, atau Windows Server 2003 dapat ditautkan ke Iointex.lib untuk menggunakan rutinitas.
Target Platform Universal
Header iointex.h (termasuk Iointex.h, Wdm.h, Ntddk.h, Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Aturan kepatuhan DDI HwStorPortProhibitedDDIs

Lihat juga

IO_CONNECT_INTERRUPT_PARAMETERS

InterruptMessageService

InterruptService

WdmlibIoDisconnectInterruptEx