Bagikan melalui


PVIDEO_HW_INTERRUPT fungsi panggilan balik (video.h)

HwVidInterrupt mendeteksi dan mematikan gangguan yang dihasilkan oleh adaptor video terkait.

Sintaks

PVIDEO_HW_INTERRUPT PvideoHwInterrupt;

BOOLEAN PvideoHwInterrupt(
  PVOID HwDeviceExtension
)
{...}

Parameter

HwDeviceExtension

Arahkan ke area penyimpanan per adaptor driver miniport. Untuk informasi selengkapnya, lihat Ekstensi Perangkat.

Nilai kembali

Jika HwVidInterrupt menentukan bahwa perangkat keras terkait tidak menghasilkan interupsi, ia mengembalikan FALSE. Jika tidak, itu harus mematikan interupsi pada adaptornya sebelum mengembalikan TRUE.

Keterangan

Driver miniport harus mengimplementasikan HwVidInterrupt jika adaptor videonya menghasilkan gangguan.

Pertama, HwVidInterrupt harus menentukan apakah adaptornya benar-benar menyebabkan gangguan. Jika tidak, fungsi ini harus segera mengembalikan FALSE sehingga ISR perangkat yang menyebabkan gangguan akan segera dipanggil.

Jika tidak, HwVidInterrupt umumnya bertanggung jawab untuk menyelesaikan operasi I/O yang menyebabkan gangguan, dan harus melakukan hal berikut:

  • Matikan interupsi pada adaptor (diperlukan).
  • Selesaikan operasi yang diminta yang menyebabkan gangguan.
  • Mengembalikan kontrol secepat mungkin (diperlukan).
Jika driver miniport memiliki fungsi HwVidInterrupt , tidak ada lokasi register atau memori yang dapat diakses oleh HwVidInterrupt yang dapat dilihat oleh driver tampilan yang sesuai. Gangguan dapat terjadi saat driver tampilan memodifikasi salah satu register atau lokasi memori yang terlibat, dan tidak ada cara untuk memastikan sinkronisasi. Oleh karena itu, semua fungsi yang memerlukan akses ke register penting atau lokasi memori untuk operasi yang digerakkan oleh interupsi harus berada di driver miniport.

Jika ada fungsi driver miniport lainnya berbagi memori, seperti bagian dari HwDeviceExtension, dengan HwVidInterrupt, fungsi tersebut harus memanggil VideoPortSynchronizeExecution untuk menyinkronkan aksesnya ke area bersama.

HwVidInterrupt hanya dapat memanggil rutinitas VideoPortXxx yang disediakan sistem berikut (lihat Fungsi yang Diekspor oleh Driver Port Video):

HwVidInterrupttidak boleh memanggil fungsi VideoPortXxx apa pun yang tidak ada dalam daftar sebelumnya. Pelanggaran persyaratan ini akan menyebabkan kegagalan sistem ("layar biru").

Fungsi HwVidInterrupt tidak dapat dipaginasi, juga tidak dapat digunakan fungsi apa pun yang dipanggilnya.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header video.h (sertakan Video.h)

Lihat juga

Fungsi yang Diekspor oleh Driver Port Video

HwVidSynchronizeExecutionCallback

VideoPortDisableInterrupt

VideoPortEnableInterrupt

VideoPortLogError

VideoPortStallExecution

VideoPortSynchronizeExecution

VideoPortZeroDeviceMemory

VideoPortZeroMemory