VDS-meddelanden
[Från och med Windows 8 och Windows Server 2012 ersätts com-gränssnittet virtual disk service COM med Windows Storage Management API.]
En leverantör kan skicka ett händelsemeddelande till VDS, och VDS kan i sin tur vidarebefordra meddelandet till program. Meddelandemodellen som används av VDS liknar anslutningspunktsmodellen som används av COM-objekt.
VDS genererar tjänstmeddelanden för händelser som en enhetsbeteckningstilldelning eller ankomsten av en oallokerad disk. När VDS allokerar en disk till en provider ansvarar providern för att generera de associerade meddelandena. Bilden nedan visar de gränssnitt och metoder som används i VDS-meddelandemodellen.
För att ta emot meddelanden registrerar VDS sitt IVdsAdviseSink- gränssnitt med providerobjektet genom att anropa metoden IVdsProviderPrivate::OnLoad och skicka en pekare till gränssnittet. När en meddelandehändelse inträffar, till exempel ankomsten av en ny volym eller enhet, skickar providern lämplig meddelandestruktur till VDS som en IVdsAdviseSink::OnNotify metodparameter.
Processen liknar ett program och VDS. Mer specifikt registrerar ett program sitt IVdsAdviseSink- gränssnitt med VDS genom att anropa IVdsService::Råda-metoden och skicka en pekare till gränssnittet. När VDS tar emot ett meddelande från en provider skickar det lämplig meddelandestruktur till registrerade program som en IVdsAdviseSink::OnNotify metodparameter.
Not
Ett program som anropar Advise måste så småningom anropa metoden IVdsService::Unadvise. Helst bör den anropa Unadvise så snart den inte längre behöver ta emot meddelanden.
Tabellen som följer visar de providergenererade meddelandena efter objekttyp.
Objekt | Anmälan | Värde | Länk till händelsebeskrivning |
---|---|---|---|
Packa | VDS_NF_PACK_ARRIVE | 1 | VDS_PACK_NOTIFICATION |
Packa | VDS_NF_PACK_DEPART | 2 | VDS_PACK_NOTIFICATION |
Packa | VDS_NF_PACK_MODIFY | 3 | VDS_PACK_NOTIFICATION |
Volym | VDS_NF_VOLUME_ARRIVE | 4 | VDS_VOLUME_NOTIFICATION |
Volym | VDS_NF_VOLUME_DEPART | 5 | VDS_VOLUME_NOTIFICATION |
Volym | VDS_NF_VOLUME_MODIFY | 6 | VDS_VOLUME_NOTIFICATION |
Volym | VDS_NF_VOLUME_REBUILDING_PROGRESS | 7 | VDS_VOLUME_NOTIFICATION |
Skiva | VDS_NF_DISK_ARRIVE | 8 | VDS_DISK_NOTIFICATION |
Skiva | VDS_NF_DISK_DEPART | 9 | VDS_DISK_NOTIFICATION |
Skiva | VDS_NF_DISK_MODIFY | 10 | VDS_DISK_NOTIFICATION |
Skifte | VDS_NF_PARTITION_ARRIVE | 11 | VDS_PARTITION_NOTIFICATION |
Skifte | VDS_NF_PARTITION_DEPART | 12 | VDS_PARTITION_NOTIFICATION |
Skifte | VDS_NF_PARTITION_MODIFY | 13 | VDS_PARTITION_NOTIFICATION |
Delsystem | VDS_NF_SUB_SYSTEM_ARRIVE | 101 | VDS_SUB_SYSTEM_NOTIFICATION |
Delsystem | VDS_NF_SUB_SYSTEM_DEPART | 102 | VDS_SUB_SYSTEM_NOTIFICATION |
Delsystem | VDS_NF_SUB_SYSTEM_MODIFY | 151 | VDS_SUB_SYSTEM_NOTIFICATION |
Kontrollant | VDS_NF_CONTROLLER_ARRIVE | 103 | VDS_CONTROLLER_NOTIFICATION |
Kontrollant | VDS_NF_CONTROLLER_DEPART | 104 | VDS_CONTROLLER_NOTIFICATION |
Kontrollant | VDS_NF_CONTROLLER_MODIFY | 350 | VDS_CONTROLLER_NOTIFICATION |
Kontrollant | VDS_NF_CONTROLLER_REMOVED | 351 | VDS_CONTROLLER_NOTIFICATION |
Hamn | VDS_NF_PORT_MODIFY | 352 | VDS_PORT_NOTIFICATION |
Hamn | VDS_NF_PORT_REMOVED | 353 | VDS_PORT_NOTIFICATION |
Köra | VDS_NF_DRIVE_ARRIVE | 105 | VDS_DRIVE_NOTIFICATION |
Köra | VDS_NF_DRIVE_DEPART | 106 | VDS_DRIVE_NOTIFICATION |
Köra | VDS_NF_DRIVE_MODIFY | 107 | VDS_DRIVE_NOTIFICATION |
Köra | 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 genererar de återstående meddelandena. I följande tabell visas tjänstbaserade meddelandekonstanter efter kategori.
Kategori | Anmälan | Värde | Länk till händelsebeskrivning |
---|---|---|---|
Skiva | VDS_NF_DISK_ARRIVE | 8 | VDS_DISK_NOTIFICATION |
Skiva | VDS_NF_DISK_DEPART | 9 | VDS_DISK_NOTIFICATION |
Skiva | VDS_NF_DISK_MODIFY | 10 | VDS_DISK_NOTIFICATION |
Enhetsbeteckning | VDS_NF_DRIVE_LETTER_FREE | 201 | VDS_DRIVE_LETTER_NOTIFICATION |
Enhetsbeteckning | VDS_NF_DRIVE_LETTER_ASSIGN | 202 | VDS_DRIVE_LETTER_NOTIFICATION |
Filsystem | VDS_NF_FILE_SYSTEM_MODIFY | 203 | VDS_FILE_SYSTEM_NOTIFICATION |
Filsystem | VDS_NF_FILE_SYSTEM_FORMAT_PROGRESS | 204 | VDS_FILE_SYSTEM_NOTIFICATION |
Volym | VDS_NF_MOUNT_POINTS_CHANGE | 205 | VDS_MOUNT_POINT_NOTIFICATION |
Relaterade ämnen