Fungsi UrsSetHardwareEventSupport (ursdevice.h)
Menunjukkan dukungan driver klien untuk melaporkan peristiwa perangkat keras baru.
Sintaks
void UrsSetHardwareEventSupport(
[in] WDFDEVICE Device,
[in] BOOLEAN HardwareEventReportingSupported
);
Parameter
[in] Device
Handel ke objek perangkat kerangka kerja yang diambil driver klien dalam panggilan sebelumnya ke WdfDeviceCreate.
[in] HardwareEventReportingSupported
Nilai boolean yang menunjukkan dukungan untuk melaporkan peristiwa perangkat keras.
TRUE menunjukkan driver klien akan melaporkan peristiwa perangkat keras dengan memanggil UrsReportHardwareEvent.
FALSE menunjukkan pelaporan peristiwa perangkat keras tidak ditangani oleh driver klien.
Nilai kembali
Tidak ada
Keterangan
Sebelum driver klien dapat melaporkan peristiwa perangkat keras, driver klien untuk pengontrol peran ganda harus menunjukkan ke ekstensi kelas bahwa driver mendukung peristiwa perangkat keras dengan memanggil metode ini. Biasanya, driver memanggil UrsSetHardwareEventSupport dalam fungsi panggilan balik EvtDevicePrepareHardware driver. Driver tidak boleh memanggil metode ini setelah EvtDevicePrepareHardware kembali. Jika tidak, metode gagal dan jeda dikeluarkan jika Pemverifikasi Driver diaktifkan.
Untuk pengontrol tertentu, driver klien mungkin tidak mendukung deteksi peran sebelum melakukan operasi pengalihan peran. Dalam hal ini, driver klien harus mengatur HardwareEventReportingSupported ke FALSE. Sistem operasi mengelola peran pengontrol.
Jika tidak, jika driver mendukung deteksi peran, driver harus mengatur HardwareEventReportingSupported ke TRUE. Ini menunjukkan ekstensi kelas bahwa driver klien akan menangani peristiwa perangkat keras, seperti gangguan pin ID, dan melaporkan ke ekstensi kelas bahwa peran perlu diubah. Driver dapat melaporkan peristiwa dengan memanggil UrsReportHardwareEvent.
Contoh
EVT_WDF_DEVICE_PREPARE_HARDWARE EvtDevicePrepareHardware;
NTSTATUS
EvtDevicePrepareHardware (
_In_ WDFDEVICE Device,
_In_ WDFCMRESLIST ResourcesRaw,
_In_ WDFCMRESLIST ResourcesTranslated
)
{
ULONG resourceCount;
BOOLEAN hasHardwareEventSupport;
UNREFERENCED_PARAMETER(ResourcesRaw);
TRY {
resourceCount = WdfCmResourceListGetCount(ResourcesTranslated);
...
// DetermineHardwareEventSupport determines support by inspecting resources.
// Implementation not shown.
hasHardwareEventSupport = DetermineHardwareEventSupport(ResourcesRaw);
UrsSetHardwareEventSupport(Device, hasHardwareEventSupport);
if (hasHardwareEventSupport) {
UrsReportHardwareEvent(Device, UrsHardwareEventIdGround);
}
...
} FINALLY {
}
return STATUS_SUCCESS;
}
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 10 |
Server minimum yang didukung | Server Windows 2016 |
Target Platform | Windows |
Versi KMDF minimum | 1.15 |
Header | ursdevice.h (termasuk Urscx.h) |
Pustaka | Urscxstub.lib |
IRQL | PASSIVE_LEVEL |
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