VDS Notifications
[À compter de Windows 8 et Windows Server 2012, l’interface COM service de disque virtuel est remplacée par l’API de gestion du stockage Windows .]
Un fournisseur peut envoyer une notification d’événement à VDS, et VDS peut à son tour transférer la notification aux applications. Le modèle de notification utilisé par VDS ressemble au modèle de point de connexion utilisé par les objets COM.
VDS génère des notifications de service pour les événements tels qu’une affectation de lettre de lecteur ou l’arrivée d’un disque non alloué. Une fois que VDS alloue un disque à un fournisseur, le fournisseur est chargé de générer les notifications associées. L’illustration suivante montre les interfaces et méthodes utilisées dans le modèle de notification VDS.
Pour recevoir des notifications, VDS inscrit son interface IVdsAdviseSink avec l’objet fournisseur en appelant la méthode IVdsProviderPrivate ::OnLoad et en passant un pointeur à l’interface. Lorsqu’un événement de notification se produit, tel que l’arrivée d’un nouveau volume ou d’un lecteur, le fournisseur transmet la structure de notification appropriée à VDS en tant que paramètre de méthode IVdsAdviseSink ::OnNot ify.
Le processus est similaire entre une application et un VDS. Plus précisément, pour recevoir des notifications, une application inscrit son interface IVdsAdviseSink avec VDS en appelant la méthode IVdsService ::Advise et en passant un pointeur vers l’interface. Lorsque VDS reçoit une notification d’un fournisseur, il transmet la structure de notification appropriée aux applications inscrites en tant que paramètre de méthode IVdsAdviseSink ::OnNotify.
Note
Une application qui appelle Conseiller doit appeler la méthode IVdsService ::Unadvise. Dans l’idéal, il doit appeler non supervisé dès qu’il n’a plus besoin de recevoir de notifications.
Le tableau suivant répertorie les notifications générées par le fournisseur par type d’objet.
Objet | Notification | Valeur | Lien vers la description de l’événement |
---|---|---|---|
Emballer | VDS_NF_PACK_ARRIVE | 1 | VDS_PACK_NOTIFICATION |
Emballer | VDS_NF_PACK_DEPART | 2 | VDS_PACK_NOTIFICATION |
Emballer | VDS_NF_PACK_MODIFY | 3 | VDS_PACK_NOTIFICATION |
Volume | VDS_NF_VOLUME_ARRIVE | 4 | VDS_VOLUME_NOTIFICATION |
Volume | VDS_NF_VOLUME_DEPART | 5 | VDS_VOLUME_NOTIFICATION |
Volume | VDS_NF_VOLUME_MODIFY | 6 | VDS_VOLUME_NOTIFICATION |
Volume | VDS_NF_VOLUME_REBUILDING_PROGRESS | 7 | VDS_VOLUME_NOTIFICATION |
Disque | VDS_NF_DISK_ARRIVE | 8 | VDS_DISK_NOTIFICATION |
Disque | VDS_NF_DISK_DEPART | 9 | VDS_DISK_NOTIFICATION |
Disque | VDS_NF_DISK_MODIFY | 10 | VDS_DISK_NOTIFICATION |
Partition | VDS_NF_PARTITION_ARRIVE | 11 | VDS_PARTITION_NOTIFICATION |
Partition | VDS_NF_PARTITION_DEPART | 12 | VDS_PARTITION_NOTIFICATION |
Partition | VDS_NF_PARTITION_MODIFY | 13 | VDS_PARTITION_NOTIFICATION |
Sous-système | VDS_NF_SUB_SYSTEM_ARRIVE | 101 | VDS_SUB_SYSTEM_NOTIFICATION |
Sous-système | VDS_NF_SUB_SYSTEM_DEPART | 102 | VDS_SUB_SYSTEM_NOTIFICATION |
Sous-système | VDS_NF_SUB_SYSTEM_MODIFY | 151 | VDS_SUB_SYSTEM_NOTIFICATION |
Contrôleur | VDS_NF_CONTROLLER_ARRIVE | 103 | VDS_CONTROLLER_NOTIFICATION |
Contrôleur | VDS_NF_CONTROLLER_DEPART | 104 | VDS_CONTROLLER_NOTIFICATION |
Contrôleur | VDS_NF_CONTROLLER_MODIFY | 350 | VDS_CONTROLLER_NOTIFICATION |
Contrôleur | VDS_NF_CONTROLLER_REMOVED | 351 | VDS_CONTROLLER_NOTIFICATION |
Port | VDS_NF_PORT_MODIFY | 352 | VDS_PORT_NOTIFICATION |
Port | VDS_NF_PORT_REMOVED | 353 | VDS_PORT_NOTIFICATION |
Conduire | VDS_NF_DRIVE_ARRIVE | 105 | VDS_DRIVE_NOTIFICATION |
Conduire | VDS_NF_DRIVE_DEPART | 106 | VDS_DRIVE_NOTIFICATION |
Conduire | VDS_NF_DRIVE_MODIFY | 107 | VDS_DRIVE_NOTIFICATION |
Conduire | VDS_NF_DRIVE_REMOVED | 354 | VDS_DRIVE_NOTIFICATION |
LUN | VDS_NF_LUN_ARRIVE | 108 | VDS_LUN_NOTIFICATION |
LUN | VDS_NF_LUN_DEPART | 109 | VDS_LUN_NOTIFICATION |
LUN | VDS_NF_LUN_MODIFY | 110 | VDS_LUN_NOTIFICATION |
VDS génère les notifications restantes. Le tableau suivant répertorie les constantes de notification basées sur le service par catégorie.
Catégorie | Notification | Valeur | Lien vers la description de l’événement |
---|---|---|---|
Disque | VDS_NF_DISK_ARRIVE | 8 | VDS_DISK_NOTIFICATION |
Disque | VDS_NF_DISK_DEPART | 9 | VDS_DISK_NOTIFICATION |
Disque | VDS_NF_DISK_MODIFY | 10 | VDS_DISK_NOTIFICATION |
Lettre de lecteur | VDS_NF_DRIVE_LETTER_FREE | 201 | VDS_DRIVE_LETTER_NOTIFICATION |
Lettre de lecteur | VDS_NF_DRIVE_LETTER_ASSIGN | 202 | VDS_DRIVE_LETTER_NOTIFICATION |
Système de fichiers | VDS_NF_FILE_SYSTEM_MODIFY | 203 | VDS_FILE_SYSTEM_NOTIFICATION |
Système de fichiers | VDS_NF_FILE_SYSTEM_FORMAT_PROGRESS | 204 | VDS_FILE_SYSTEM_NOTIFICATION |
Volume | VDS_NF_MOUNT_POINTS_CHANGE | 205 | VDS_MOUNT_POINT_NOTIFICATION |
Rubriques connexes