VDS Nesne Modeli
[Windows 8 ve Windows Server 2012'de başlayarak, Sanal Disk Hizmeti COM arabiriminin yerini Windows Depolama Yönetimi API'sinin.]
VDS, diskler ve CD-ROM cihazları gibi konak tabanlı depolama cihazlarına ve donanım RAID denetleyicileri tarafından yönetilen disk dizilerine dolaylı erişim sağlar. Bazı depolama varlıkları fiziksel cihazları modellese de, diğerleri sanal yapıları modeller: birimler, bölümler vb. Bu konuda açıklanan nesneler, VDS'nin hem fiziksel hem de sanal varlıklarını temsil eder.
Uygulamalar bu nesneler tarafından kullanıma sunulan yöntemleri çağırır ve VDS istenen depolama işlemlerini gerçekleştirmek için uygun sağlayıcıyı çağırır. Bir uygulama hiçbir zaman bir sağlayıcı programını doğrudan çağırmaz.
Nesnelerin Sınıflandırması
Aşağıdaki çizimde gösterildiği gibi, yazılım sağlayıcısı programları konak tabanlı varlıkları modelleyen nesneler uygular; donanım sağlayıcısı programları, iç ve dış donanım RAID cihazlarını modelleyen nesneler uygular; kalan ortak nesneler sağlayıcıdan bağımsızdır veya VDS tarafından uygulanır. VDS nesnesi olmayan bir iş mili, disk veya sürücü uzantılarından oluşan genel depolama medyası terimidir.
'Ortak nesneler', 'Yazılım sağlayıcısı nesneleri' ve 'Donanım sağlayıcısı nesneleri' olarak tanımlanan nesnelerin sınıflandırmalarını gösteren
Her nesnenin davranışı hakkında daha fazla bilgi edinmek için aşağıdaki konulardan birini seçin:
- Hizmet yükleyicisi ve hizmet nesneleri, bkz. Başlangıç ve Hizmet Nesneleri.
- Numaralandırma ve zaman uyumsuz nesneler, bkz. yardımcı nesneleri .
- Sağlayıcı nesnesi, bkz. Sağlayıcı Nesnesi.
- Paket, disk, birim ve birim pleks nesneleri, bkz. Yazılım Sağlayıcısı Nesneleri.
- Alt sistem, denetleyici, sürücü, LUN ve LUN pleks nesneleri, bkz. Donanım Sağlayıcısı Nesneleri.
Nesne Oluşturma
Nesne oluşturma ile ilişkili yapılandırma ve sorgu işlemlerinin tamamlanması çok zaman alabilir; bu nedenle, VDS tüm yöntemleri zaman uyumsuz olarak çağırır. Bulma sağlayıcısı tüm tamamlama, hata veya durum değişikliği olaylarını döndürür. Yazılım sağlayıcıları ayrıca tüm hataları ve önemli durum değişikliklerini günlüğe kaydeder.
Nesne Silme
Çeşitli VDS yöntemleri VDS nesnelerini siler veya dönüştürür. Çağıran, yöntem döndürdüğünde silinen bir nesneye arabirim işaretçisi yoluyla başvuruyu tutabilir. Çağıran arabirimi serbest bıraktığında VDS nesneyi siler.
Nesne silme ile ilgili olarak, çağıranların bu arabirimlerde IUnknown::Release yöntemi dışında herhangi bir şeyi çağırmaması gerekir. Sağlayıcının hatalı arayanlarla başa çıkabilecek kadar güçlü olması gerekir; çağıran silinmiş bir nesnede bir yöntem çağırırsa, sağlayıcı VDS_E_OBJECT_DELETEDdöndürmelidir.
Hizmet Başlatma
VDS, hizmet yükleyicisi ve hizmet nesneleri için bir sınıf tanımlayıcısı (Clsid) sağlar, ancak yalnızca hizmet yükleyicisi Clsid geneldir. Hizmet başlatma, sağlayıcılar, bir çağrı uygulaması ve hizmet aşağıdaki görevleri gerçekleştirdiğinde gerçekleşir:
Her yeni sağlayıcı, VDS'ye kaydolmak için yükleme sırasında IVdsAdmin::RegisterProvider yöntemini çağırır. Çağrısı, SYSTEM kovanı altında sağlayıcının nesne GUID'i tarafından tanımlanan bir kayıt defteri anahtarı oluşturur. Bu anahtarın altında sağlayıcı nesnesinin Clsid değeri, adı, sürümü ve sağlayıcının sürüm GUID'i bulunur.
Not
Sağlayıcı nesne GUID'leri kalıcıdır; yazılım ve donanım nesnesi GUID'leri değildir.
Uygulama, CoCreateInstance işlevini çağırarak hizmet yükleyicisi Clsid'i bağımsız değişken olarak geçirir. Hizmet yükleyici nesnesine yönelik bir işaretçiyle uygulama, istenen bilgisayar adını IVdsServiceLoader::LoadService yöntemine parametre olarak geçirerek VDS'yi yerel olarak veya uzaktan başlatabilir.
İlk uygulama hizmete eklendiğinde, VDS önce kayıt defteri anahtarının altında bulunan her Clsid üzerinde cocreateInstanceçağırır ve ardından programları başlatmak için her sağlayıcıda IVdsProviderPrivate::OnLoad yöntemini çağırır.
İlgili konular