Fungsi WdfInterruptReportActive (wdfinterrupt.h)
[Hanya berlaku untuk KMDF]
WdfInterruptReportActive menginformasikan sistem bahwa interupsi aktif dan driver siap untuk memproses permintaan interupsi pada baris terkait.
Sintaks
void WdfInterruptReportActive(
[in] WDFINTERRUPT Interrupt
);
Parameter
[in] Interrupt
Handel ke objek interupsi kerangka kerja.
Nilai kembali
Tidak ada
Keterangan
Hanya driver yang mengimplementasikan manajemen daya status fungsi yang memanggil WdfInterruptReportActive.
Driver tidak perlu memanggil WdfInterruptReportActive segera setelah membuat interupsi. Driver hanya boleh memanggil WdfInterruptReportActive setelah sebelumnya disebut WdfInterruptReportInactive.
Biasanya, driver memanggil WdfInterruptReportActive dari rutinitas ComponentActiveConditionCallback , atau dari ComponentIdleStateCallback ketika Status adalah 0 (menunjukkan sepenuhnya pada status F0).
Jika driver Anda memanggil metode ini pada sistem operasi yang lebih awal dari Windows 8, pemverifikasi kerangka kerja melaporkan kesalahan.
Untuk informasi selengkapnya, lihat Mendukung Status Daya Fungsi.
Contoh
Contoh berikut menunjukkan bagaimana driver mungkin memanggil WdfInterruptReportActive dari rutinitas ComponentIdleStateCallback dari driver KMDF. Driver mendaftarkan satu komponen dengan memanggil WdfDeviceWdmAssignPowerFrameworkSettings.
VOID
MyComponentIdleStateCallback(
_In_ PVOID Context,
_In_ ULONG Component,
_In_ ULONG State
)
{
PFDO_DEVICE_DATA deviceData;
PINTERRUPT_CONTEXT interruptContext;
deviceData = FdoGetData((WDFDEVICE)Context);
interruptContext = InterruptGetData(deviceData->Interrupt);
switch (State) {
case 0:
if (interruptContext->ReportedInactive) {
//
// the interrupt was reported inactive earlier. We need to report active now.
//
WdfInterruptReportActive(deviceData->Interrupt);
interruptContext->ReportedInactive = FALSE;
//
// Enable interrupt generation at hardware.
//
WdfInterruptAcquireLock(deviceData->Interrupt);
EnableInterruptInHardware();
WdfInterruptReleaseLock(deviceData->Interrupt);
}
break;
…
}
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 8 |
Target Platform | Universal |
Versi KMDF minimum | 1.11 |
Header | wdfinterrupt.h (termasuk Wdf.h) |
Pustaka | Wdf01000.sys (lihat Penerapan Versi Pustaka Kerangka Kerja.) |
IRQL | <=DISPATCH_LEVEL |
Aturan kepatuhan DDI | DriverCreate(kmdf) |
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