VDS-értesítések
[A Windows 8-tól és a Windows Server 2012-től kezdve a Virtual Disk Service COM-felületet a Windows Storage Management APIfelülírja.]
A szolgáltató eseményértesítést küldhet a VDS-nek, a VDS pedig továbbíthatja az értesítést az alkalmazásoknak. A VDS által használt értesítési modell hasonlít a COM-objektumok által használt kapcsolatipont-modellre.
A VDS szolgáltatásértesítéseket hoz létre olyan eseményekről, mint a meghajtóbetűjel-hozzárendelés vagy egy nem áthelyezett lemez érkezése. Miután a VDS lefoglal egy lemezt egy szolgáltatónak, a szolgáltató felelős a társított értesítések generálásáért. Az alábbi ábra a VDS-értesítési modellben használt felületeket és metódusokat mutatja be.
Az értesítések fogadásához a VDS regisztrálja a IVdsAdviseSink felületet a szolgáltató objektummal az IVdsProviderPrivate::OnLoad metódus meghívásával, és egy mutatónak a felületre való továbbításával. Amikor egy értesítési esemény történik, például egy új kötet vagy meghajtó érkezése, a szolgáltató átadja a megfelelő értesítési struktúrát a VDS-nek IVdsAdviseSink::OnNotify metódusparaméterként.
A folyamat hasonló az alkalmazás és a VDS között. Pontosabban az értesítések fogadásához az alkalmazás regisztrálja IVdsAdviseSink felületét a VDS-hez a IVdsService::Advise metódus meghívásával és egy mutatónak a felületre való továbbításával. Amikor a VDS értesítést kap egy szolgáltatótól, átadja a megfelelő értesítési struktúrát a regisztrált alkalmazásoknak IVdsAdviseSink::OnNotify metódusparaméterként.
Jegyzet
A Tanácsot hívó alkalmazásnak végül meg kell hívnia az IVdsService::Unadvise metódust. Ideális esetben meg kell hívnia Unadvise, amint már nem kell értesítéseket kapnia.
Az alábbi táblázat a szolgáltató által létrehozott értesítéseket sorolja fel objektumtípus szerint.
Tárgy | Értesítés | Érték | Hivatkozás az esemény leírására |
---|---|---|---|
Csomagol | VDS_NF_PACK_ARRIVE | 1 | VDS_PACK_NOTIFICATION |
Csomagol | VDS_NF_PACK_DEPART | 2 | VDS_PACK_NOTIFICATION |
Csomagol | VDS_NF_PACK_MODIFY | 3 | VDS_PACK_NOTIFICATION |
Térfogat | VDS_NF_VOLUME_ARRIVE | 4 | VDS_VOLUME_NOTIFICATION |
Térfogat | VDS_NF_VOLUME_DEPART | 5 | VDS_VOLUME_NOTIFICATION |
Térfogat | VDS_NF_VOLUME_MODIFY | 6 | VDS_VOLUME_NOTIFICATION |
Térfogat | VDS_NF_VOLUME_REBUILDING_PROGRESS | 7 | VDS_VOLUME_NOTIFICATION |
Lemez | VDS_NF_DISK_ARRIVE | 8 | VDS_DISK_NOTIFICATION |
Lemez | VDS_NF_DISK_DEPART | 9 | VDS_DISK_NOTIFICATION |
Lemez | VDS_NF_DISK_MODIFY | 10 | VDS_DISK_NOTIFICATION |
Feloszt | VDS_NF_PARTITION_ARRIVE | 11 | VDS_PARTITION_NOTIFICATION |
Feloszt | VDS_NF_PARTITION_DEPART | 12 | VDS_PARTITION_NOTIFICATION |
Feloszt | VDS_NF_PARTITION_MODIFY | 13 | VDS_PARTITION_NOTIFICATION |
Alrendszer | VDS_NF_SUB_SYSTEM_ARRIVE | 101 | VDS_SUB_SYSTEM_NOTIFICATION |
Alrendszer | VDS_NF_SUB_SYSTEM_DEPART | 102 | VDS_SUB_SYSTEM_NOTIFICATION |
Alrendszer | VDS_NF_SUB_SYSTEM_MODIFY | 151 | VDS_SUB_SYSTEM_NOTIFICATION |
Ellenőr | VDS_NF_CONTROLLER_ARRIVE | 103 | VDS_CONTROLLER_NOTIFICATION |
Ellenőr | VDS_NF_CONTROLLER_DEPART | 104 | VDS_CONTROLLER_NOTIFICATION |
Ellenőr | VDS_NF_CONTROLLER_MODIFY | 350 | VDS_CONTROLLER_NOTIFICATION |
Ellenőr | VDS_NF_CONTROLLER_REMOVED | 351 | VDS_CONTROLLER_NOTIFICATION |
Kikötő | VDS_NF_PORT_MODIFY | 352 | VDS_PORT_NOTIFICATION |
Kikötő | VDS_NF_PORT_REMOVED | 353 | VDS_PORT_NOTIFICATION |
Hajt | VDS_NF_DRIVE_ARRIVE | 105 | VDS_DRIVE_NOTIFICATION |
Hajt | VDS_NF_DRIVE_DEPART | 106 | VDS_DRIVE_NOTIFICATION |
Hajt | VDS_NF_DRIVE_MODIFY | 107 | VDS_DRIVE_NOTIFICATION |
Hajt | 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 |
A VDS létrehozza a fennmaradó értesítéseket. Az alábbi táblázat a szolgáltatásalapú értesítési állandókat sorolja fel kategória szerint.
Kategória | Értesítés | Érték | Hivatkozás az esemény leírására |
---|---|---|---|
Lemez | VDS_NF_DISK_ARRIVE | 8 | VDS_DISK_NOTIFICATION |
Lemez | VDS_NF_DISK_DEPART | 9 | VDS_DISK_NOTIFICATION |
Lemez | VDS_NF_DISK_MODIFY | 10 | VDS_DISK_NOTIFICATION |
Meghajtóbetűjel | VDS_NF_DRIVE_LETTER_FREE | 201 | VDS_DRIVE_LETTER_NOTIFICATION |
Meghajtóbetűjel | VDS_NF_DRIVE_LETTER_ASSIGN | 202 | VDS_DRIVE_LETTER_NOTIFICATION |
Fájlrendszer | VDS_NF_FILE_SYSTEM_MODIFY | 203 | VDS_FILE_SYSTEM_NOTIFICATION |
Fájlrendszer | VDS_NF_FILE_SYSTEM_FORMAT_PROGRESS | 204 | VDS_FILE_SYSTEM_NOTIFICATION |
Térfogat | VDS_NF_MOUNT_POINTS_CHANGE | 205 | VDS_MOUNT_POINT_NOTIFICATION |
Kapcsolódó témakörök