Méthode IVdsAdviseSink::OnNotify (vdshwprv.h)
[À compter de Windows 8 et Windows Server 2012, l’interface COM du service de disque virtuel est remplacée par l’API gestion du stockage Windows.]
Transmet des notifications des fournisseurs à VDS et de VDS aux applications.
Syntaxe
HRESULT OnNotify(
[in] LONG lNumberOfNotifications,
[in] VDS_NOTIFICATION *pNotificationArray
);
Paramètres
[in] lNumberOfNotifications
Nombre de notifications spécifiées dans pNotificationArray.
[in] pNotificationArray
Pointeur vers un tableau de structures VDS_NOTIFICATION . Un fournisseur alloue la mémoire pour le tableau lorsque le fournisseur appelle le service ; le service libère le tableau. VDS alloue le tableau lorsque le service appelle une application. Dans ce cas, les appelants doivent libérer le tableau à l’aide de la fonction CoTaskMemFree .
Valeur retournée
Cette méthode peut retourner des valeurs HRESULT standard, telles que E_INVALIDARG ou E_OUTOFMEMORY, et des valeurs de retour spécifiques à VDS. Il peut également retourner des codes d’erreur système convertis à l’aide de la macro HRESULT_FROM_WIN32 . Les erreurs peuvent provenir de VDS lui-même ou du fournisseur VDS sous-jacent utilisé. Les valeurs de retour possibles sont les suivantes.
Code de retour | Description |
---|---|
|
VDS retourne cette valeur à un fournisseur si le service n’est pas entièrement initialisé lorsque le fournisseur appelle cette méthode, ou si certaines notifications sont perdues par le service. |
Remarques
Une application implémente cette méthode pour recevoir des notifications de VDS. Certaines de ces notifications proviennent de VDS ; d’autres sont des notifications de fournisseur qui sont transférées par VDS.
VDS gère un cache d’informations sur les propriétés de tous les objets VDS, tels que les sous-systèmes et les contrôleurs. Chaque fois qu’une modification se produit et déclenche une notification, ce cache est mis à jour automatiquement. En outre, l’appel de IVdsHwProvider::Refresh ou IVdsService::Refresh en réponse à une notification VDS peut entraîner l’envoi d’une boucle infinie de notifications. Pour ces raisons, une application ne doit pas appeler IVdsHwProvider::Refresh ou IVdsService::Refresh dans son implémentation de cette méthode.
Pour les fournisseurs qui utilisent cette méthode pour envoyer des notifications, il est recommandé de regrouper les notifications provenant d’un événement unique. Par exemple, lorsqu’un numéro d’unité logique est supprimé, envoyez VDS_NF_DRIVE_MODIFY notifications pour tous les lecteurs affectés ensemble.
Configuration requise
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | vdshwprv.h |
Bibliothèque | Uuid.lib |