Metode IVdsAdviseSink::OnNotify (vdshwprv.h)

[Dimulai dengan Windows 8 dan Windows Server 2012, antarmuka COM Layanan Disk Virtual digantikan oleh WINDOWS Storage Management API.]

Meneruskan pemberitahuan dari penyedia ke VDS, dan dari VDS ke aplikasi.

Sintaks

HRESULT OnNotify(
  [in] LONG             lNumberOfNotifications,
  [in] VDS_NOTIFICATION *pNotificationArray
);

Parameter

[in] lNumberOfNotifications

Jumlah pemberitahuan yang ditentukan dalam pNotificationArray.

[in] pNotificationArray

Penunjuk ke array struktur VDS_NOTIFICATION . Penyedia mengalokasikan memori untuk array ketika penyedia memanggil ke layanan; layanan membebaskan array. VDS mengalokasikan array saat layanan memanggil ke dalam aplikasi. Dalam hal ini, penelepon harus membebaskan array dengan menggunakan fungsi CoTaskMemFree .

Menampilkan nilai

Metode ini dapat mengembalikan nilai HRESULT standar, seperti E_INVALIDARG atau E_OUTOFMEMORY, dan nilai pengembalian khusus VDS. Ini juga dapat mengembalikan kode kesalahan sistem yang dikonversi menggunakan makro HRESULT_FROM_WIN32 . Kesalahan dapat berasal dari VDS itu sendiri atau dari penyedia VDS yang mendasar yang sedang digunakan. Kemungkinan nilai yang dikembalikan termasuk yang berikut ini.

Menampilkan kode Deskripsi
S_FALSE
VDS mengembalikan nilai ini ke penyedia jika layanan tidak sepenuhnya diinisialisasi ketika penyedia memanggil metode ini, atau jika beberapa pemberitahuan hilang oleh layanan.

Keterangan

Aplikasi menerapkan metode ini untuk menerima pemberitahuan dari VDS. Beberapa pemberitahuan ini berasal dari VDS; lainnya adalah pemberitahuan penyedia yang diteruskan oleh VDS.

VDS mempertahankan cache informasi tentang properti semua objek VDS, seperti subsistem dan pengontrol. Setiap kali perubahan terjadi yang memicu pemberitahuan, cache ini diperbarui secara otomatis. Selain itu, memanggil IVdsHwProvider::Refresh atau IVdsService::Refresh sebagai respons terhadap pemberitahuan VDS dapat menyebabkan perulangan pemberitahuan tanpa akhir dikirim. Untuk alasan ini, aplikasi tidak boleh memanggil IVdsHwProvider::Refresh atau IVdsService::Refresh dalam implementasi metode ini.

Bagi penyedia yang menggunakan metode ini untuk mengirim pemberitahuan, ada baiknya untuk mengelompokkan pemberitahuan yang berasal dari satu peristiwa bersama-sama. Misalnya, saat LUN dihapus, kirim VDS_NF_DRIVE_MODIFY pemberitahuan untuk semua drive yang terpengaruh bersama-sama.

Persyaratan

   
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header vdshwprv.h
Pustaka Uuid.lib

Lihat juga

IVdsAdviseSink

IVdsHwProvider::Refresh

IVdsService::Advise

IVdsService::Refresh

IVdsService::Unadvise

Pemberitahuan VDS

VDS_NOTIFICATION