Metodo IVdsAdviseSink::OnNotify (vdshwprv.h)
[A partire da Windows 8 e Windows Server 2012, l'interfaccia COM del servizio disco virtuale viene sostituita dall'API gestione archiviazione di Windows.
Passa notifiche da provider a VDS e da VDS a applicazioni.
Sintassi
HRESULT OnNotify(
[in] LONG lNumberOfNotifications,
[in] VDS_NOTIFICATION *pNotificationArray
);
Parametri
[in] lNumberOfNotifications
Numero di notifiche specificate in pNotificationArray.
[in] pNotificationArray
Puntatore a una matrice di strutture VDS_NOTIFICATION . Un provider alloca la memoria per la matrice quando il provider chiama nel servizio; il servizio libera la matrice. VDS alloca la matrice quando il servizio chiama in un'applicazione. In questo caso, i chiamanti devono liberare la matrice usando la funzione CoTaskMemFree .
Valore restituito
Questo metodo può restituire valori HRESULT standard, ad esempio E_INVALIDARG o E_OUTOFMEMORY e valori restituiti specifici di VDS. Può anche restituire codici di errore di sistema convertiti usando la macro HRESULT_FROM_WIN32 . Gli errori possono derivare da VDS stesso o dal provider VDS sottostante usato. I valori restituiti possibili includono quanto segue.
Codice restituito | Descrizione |
---|---|
|
VDS restituisce questo valore a un provider se il servizio non è completamente inizializzato quando il provider chiama questo metodo o se alcune notifiche vengono perse dal servizio. |
Commenti
Un'applicazione implementa questo metodo per ricevere notifiche da VDS. Alcune di queste notifiche provengono da VDS; altri sono notifiche provider inoltrate da VDS.
VDS gestisce una cache di informazioni sulle proprietà di tutti gli oggetti VDS, ad esempio sottosistemi e controller. Ogni volta che si verifica una modifica che attiva una notifica, questa cache viene aggiornata automaticamente. Inoltre, la chiamata di IVdsHwProvider::Refresh o IVdsService::Refresh in risposta a una notifica VDS potrebbe causare l'invio di un ciclo infinito di notifiche. Per questi motivi, un'applicazione non deve chiamare IVdsHwProvider::Refresh o IVdsService::Refresh nell'implementazione di questo metodo.
Per i provider che usano questo metodo per inviare notifiche, è consigliabile raggruppare le notifiche provenienti da un singolo evento. Ad esempio, quando viene eliminato un LUN, inviare notifiche di VDS_NF_DRIVE_MODIFY per tutte le unità interessate insieme.
Requisiti
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | vdshwprv.h |
Libreria | Uuid.lib |