Aracılığıyla paylaş


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 Diyagramı.

Her nesnenin davranışı hakkında daha fazla bilgi edinmek için aşağıdaki konulardan birini seçin:

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.

VDS Hakkında

IVdsAdmin::RegisterProvider

IVdsServiceLoader::LoadService

IVdsProviderPrivate::OnLoad