Sınıf Sağlayıcısı Yazma
Sınıf sağlayıcısı WMI için bir sınıf veya sınıf serisini yönetir. Sınıf sağlayıcısı gönderilebilir veya çekilebilir; diğer bir ifadeyle kendi verilerini depolayabilir veya WMI'nin verileri Windows Yönetim Hizmeti'nde depolamasına izin verebilir. Bir sınıf sağlayıcısı belirli bir makinede yüklü olsa da, tüm kuruluş genelinde sınıf tanımlarını değiştirebilir. Bu nedenle çoğu geliştirici genellikle sınıf sağlayıcıları oluşturmaz.
Sınıf sağlayıcısı oluşturmadan önce desteklenen sınıfların dinamik olarak oluşturulması gerektiğini doğrulayın. Çoğu durumda sınıf listesi yavaş değişir ve sonludur. Bu durumda, bir sınıf sağlayıcısı oluşturmanız gerekmez. Bunun yerine, WMI API'sini veya MOF dosyasını kullanarak sınıf tanımlarınızı WMI deposuna yerleştirebilirsiniz.
Aşağıdaki yordamda bir sınıf sağlayıcısının nasıl uygulandığı açıklanmaktadır.
Bir sınıf sağlayıcısı uygulamak için
Sağlayıcınızın bir gönderme veya çekme sağlayıcısı olup olmadığını belirleyin.
Çekme sağlayıcısı bir uygulama isteğine yanıt olarak verileri dinamik olarak sağlarken, gönderme sağlayıcıları verilerini WMI deposunda bir kez depolar. Daha fazla bilgi için bkz. Çekme veya Gönderme Durumunu Belirleme.
Sınıf sağlayıcınızı WMI'ye tasarlayıp kaydedin.
Sınıf sağlayıcıları, bir __Win32Provider örneği ve bir __ClassProviderRegistration örneği oluşturarak WMI ile kaydolur. Daha fazla bilgi için bkz. Bir Sınıf Sağlayıcısını Kaydetme.
Sağlayıcınız için IWbemProviderInit arabirimini uygulayın.
WMI, bir sağlayıcıyı yüklemek ve başlatmak için IWbemProviderInitkullanır. Eğer bir gönderim sağlayıcısı tasarlıyorsanız, uygulayacağınız tek arabirim IWbemProviderInit olacaktır. Daha fazla bilgi için bkz. Sağlayıcı başlatma.
Not
Sınıf sağlayıcılarının çok iş parçacıklı "Her İkisi" modelini kullanması kesinlikle önerilir.
Sağlayıcınız için gereken tüm ek kodları ekleyin.
Sağlayıcınızı tasarlarken büyük olasılıkla WMI arabirimlerini çağırmanız gerekir. Daha fazla bilgi için bkz. Yöntem Çağırma ve sağlayıcı Güvenlik Düzeylerini Koruma.
bir istemcinin bilgilerini alırken, bu istemcinin güvenlik düzeylerine erişmeniz gerekebilir. Daha fazla bilgi için bkz. Müşteri Taklidi Yapma.
Sağlayıcınız için IWbemServices arabirimini uygulayın.
IWbemServices arabirimi, çekme sınıfı sağlayıcısının birincil arabirimidir. Daha fazla bilgi için bkz. Sınıf Sağlayıcısı için Birincil Arayüzü Uygulamak.
Önceden var olan sağlayıcıyı yeni kodunuzla değiştirin.
Kopyalanacak önceden var olan bir sağlayıcı yoksa bu adımı gerçekleştirmeniz gerekmez. Daha fazla bilgi için bkz. sağlayıcıyı güncelleştirme .