Metode IWDFDevice::P ostEvent (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 PostEvent secara asinkron memberi tahu aplikasi yang menunggu peristiwa yang ditentukan dari driver.
Sintaks
HRESULT PostEvent(
[in] REFGUID EventGuid,
[in] WDF_EVENT_TYPE EventType,
[in] BYTE *pbData,
[in] DWORD cbDataSize
);
Parameter
[in] EventGuid
GUID untuk peristiwa tersebut. GUID ditentukan oleh aplikasi dan driver dan buram untuk kerangka kerja.
[in] EventType
Nilai jenis WDF_EVENT_TYPE yang mengidentifikasi jenis peristiwa. Dalam versi UMDF saat ini, driver harus mengatur EventType ke WdfEventBroadcast (1). WdfEventBroadcast menunjukkan bahwa acara disiarkan. Aplikasi dapat berlangganan peristiwa jenis WdfEventBroadcast. Untuk menerima peristiwa siaran, aplikasi harus mendaftar untuk pemberitahuan melalui fungsi Microsoft Win32 RegisterDeviceNotification . Peristiwa jenis WdfEventBroadcast diekspos sebagai peristiwa jenis DBT_CUSTOMEVENT ke aplikasi.
[in] pbData
Penunjuk ke buffer yang berisi data yang terkait dengan peristiwa. NULL adalah nilai yang valid.
[in] cbDataSize
Ukuran, dalam byte, data yang dituju pbData . Nol adalah nilai ukuran yang valid jika pbData diatur ke NULL.
Ukuran maksimum data peristiwa sedikit kurang dari MAXUSHORT (64 KB). Batas atas yang tepat adalah (0xFFFF - FIELD_OFFSET(TARGET_DEVICE_CUSTOM_NOTIFICATION, CustomDataBuffer)).
Nilai kembali
PostEvent mengembalikan salah satu nilai berikut:
Menampilkan kode | Deskripsi |
---|---|
|
Data peristiwa berhasil dikirim ke sistem operasi. |
|
Ukuran data yang ditentukan parameter cbDataSize lebih besar dari ukuran maksimum yang diizinkan. |
|
Parameter EventType tidak diatur ke WdfEventBroadcast (1). |
|
PostEvent tidak dapat mengalokasikan memori yang diperlukan untuk menyelesaikannya. |
PostEvent mungkin juga mengembalikan nilai HRESULT lainnya.
Keterangan
Ketika driver memanggil IWDFDevice::P ostEvent untuk memberi tahu aplikasi yang meminta tentang suatu peristiwa, UMDF mengirimkan peristiwa ke sistem operasi. Sistem operasi mengirimkan peristiwa ke aplikasi yang meminta dalam operasi asinkron. Jika sistem operasi awalnya tidak mengembalikan kesalahan, driver tidak menerima kesalahan (S_OK). Namun, nantinya, jika sistem operasi menerima kesalahan saat mencoba mengirimkan peristiwa (mungkin karena kondisi memori yang rendah), sistem operasi tidak dapat memberi tahu driver tentang kesalahan tersebut. Karena sifat asinkron dari pemberitahuan peristiwa ini, pengiriman peristiwa ke aplikasi yang meminta tidak dijamin. Jika informasi peristiwa hilang dalam perjalanan hingga aplikasi yang meminta, aplikasi harus dapat pulih dari peristiwa yang hilang.
Untuk informasi tentang membuat peristiwa perangkat, lihat Menggunakan Antarmuka Perangkat di Driver UMDF.
Persyaratan
Persyaratan | Nilai |
---|---|
Akhir dukungan | Tidak tersedia di UMDF 2.0 dan yang lebih baru. |
Target Platform | Desktop |
Versi UMDF minimum | 1,5 |
Header | wudfddi.h (termasuk Wudfddi.h) |
DLL | WUDFx.dll |
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