Megosztás a következőn keresztül:


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.

Diagram, amely az alkalmazások, a virtuális lemezszolgáltatás és a V D S-szolgáltatók közötti felületet és metódusokat (Tanácsadás, Betöltés és OnNotify) mutatja.

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

 

VDS-objektummodell

IVdsAdviseSink

IVdsAdviseSink::OnNotify

IVdsProviderPrivate::OnLoad

IVdsService::Tanácsadás