Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
[Penemuan Fungsi tersedia untuk digunakan dalam sistem operasi yang ditentukan di bagian Persyaratan. Ini mungkin diubah atau tidak tersedia dalam versi berikutnya.]
Menerima peristiwa tambahkan, hapus, atau perbarui selama pemberitahuan.
Sintaks
HRESULT OnEvent(
[in] DWORD dwEventID,
[in] FDQUERYCONTEXT fdqcQueryContext,
[in] const WCHAR *pszProvider
);
Parameter
[in] dwEventID
Jenis kejadian.
| Nilai | Makna |
|---|---|
|
Pencarian diselesaikan oleh penyedia. Biasanya, pemberitahuan ini dikirim oleh penyedia protokol jaringan di mana protokol menentukan interval yang ditentukan di mana hasil pencarian akan diterima. Penyedia WSD dan SSDP menggunakan jenis kejadian ini.
Setelah pemberitahuan ini dikirim, kueri mengabaikan semua respons masuk ke pencarian awal atau permintaan pemeriksaan. Namun, kueri masih akan memantau pesan Halo atau Bye (digunakan untuk menunjukkan kapan perangkat ditambahkan atau dihapus). Kueri akan terus memantau peristiwa ini hingga Rilis dipanggil pada objek kueri. Pemberitahuan ini tidak akan dikirim jika terjadi kesalahan besar. Untuk informasi tentang bagaimana peristiwa ini diterapkan atau digunakan oleh penyedia tertentu, ikuti tautan ke dokumentasi penyedia dari topik Penyedia Bawaan . |
|
Tidak digunakan oleh klien Penemuan Fungsi. |
|
Tidak digunakan oleh klien Penemuan Fungsi. |
|
Alamat IP NIC berubah. Penyedia WSD mengimplementasikan pemberitahuan ini. Peristiwa dapat dikirim ketika peristiwa daya terjadi (misalnya, ketika mesin bangun dari tidur) atau saat menjelajah dengan laptop.
Catatan Nilai ini tidak tersedia untuk digunakan pada Windows Vista. Ini tersedia di Windows Vista dengan SP1, Windows Server 2008, dan versi sistem operasi berikutnya.
|
[in] fdqcQueryContext
Konteks yang terdaftar untuk pemberitahuan perubahan. Jenis FDQUERYCONTEXT didefinisikan sebagai DWORDLONG. Parameter ini bisa NULL.
[in] pszProvider
Nama penyedia.
Mengembalikan nilai
Implementasi program klien dari metode OnEvent harus mengembalikan salah satu nilai HRESULT berikut kepada pemanggil.
| Menampilkan kode | Deskripsi |
|---|---|
|
Metode berhasil diselesaikan. |
|
Nilai salah satu parameter input tidak valid. |
Keterangan
Penyedia Penemuan Fungsi (SSDP dan WSD) menggunakan metode ini untuk mengimplementasikan pemberitahuan bahwa pass pencarian selesai.
Jangan panggil Rilis pada objek kueri dari metode ini. Melakukannya bisa menyebabkan kebuntuan. Jika Rilis dipanggil pada objek kueri dari utas lain saat panggilan balik sedang dalam proses, objek tidak akan dirilis sampai panggilan balik selesai.
Semua pemberitahuan yang diteruskan ke Penemuan Fungsi oleh penyedia diantrekan dan dikembalikan ke klien satu per satu. Panggilan balik disinkronkan sehingga klien hanya akan menerima satu pemberitahuan pada satu waktu.
Karena panggilan metode IFunctionDiscoveryNotification lainnya dapat dilakukan di utas lain, setiap perubahan yang dilakukan pada status utas selama panggilan harus dipulihkan sebelum keluar dari metode .
Contoh
Contoh berikut menunjukkan implementasi handler OnEvent. Kelas CMyNotificationListener didefinisikan dalam topik IFunctionDiscoveryNotification .
#include <windows.h>
HRESULT CMyNotificationListener::OnEvent(
IN DWORD dwEventID,
IN FDQUERYCONTEXT fdqcQueryContext,
IN const WCHAR * pszProvider
)
{
HRESULT hr = S_OK;
HANDLE hSearchComplete = INVALID_HANDLE_VALUE;
hSearchComplete = OpenEventW( EVENT_ALL_ACCESS,
FALSE,
L"SearchComplete" );
if( NULL == hSearchComplete )
{
return hr;
}
if( FD_EVENTID_SEARCHCOMPLETE == dwEventID )
{
SetEvent( hSearchComplete );
}
CloseHandle( hSearchComplete );
return hr;
}
Persyaratan
| Persyaratan | Nilai |
|---|---|
| Klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
| Server minimum yang didukung | Windows Server 2008 [hanya aplikasi desktop] |
| Target Platform | Windows |
| Header | functiondiscoveryapi.h |