Aracılığıyla paylaş


WMI Sürücü Desteğini Sınamak için Genel Teknikler

WMI İstemci Araçları

Sürücünüzde WMI desteğini test etmek için kullanabileceğiniz çeşitli araçlar vardır.

Wbemtest
İşletim sistemi, WMI sınıflarını ve sınıf örneklerini sorgulamak, özellik değerlerini değiştirmek, yöntemleri yürütmek ve olay bildirimleri almak için kullanabileceğiniz bir GUI sağlayan Wbemtest aracını içerir. Sürücünüzün desteğini test etmek için "root\wmi" ad alanına bağlanın.

Wmic
Microsoft Windows XP ve sonraki işletim sistemleri, sürücünüzü test etmek için WMI ile ilgili komutlar vermek için kullanabileceğiniz bir komut kabuğu sağlayan Wmic aracını içerir.

Wmimofck
wmimofck komutu, ikili MOF dosyalarınızın söz dizimini denetlemek için kullanılabilir. Bir VBScript dosyası oluşturmak için wmimofck -t komutunu da kullanabilirsiniz. Sürücünüzün WMI sınıf örneği sorgularını işlemesini test etmek için bu betiği kullanabilirsiniz. wmimofck -w komutu, sınıfları sorgulamayı ve ayarlamayı, yöntemleri yürütmeyi ve olayları almayı test abilen web sayfaları oluşturur. Web sayfalarının karmaşık parametreler veya dönüş değerleri (ekli sınıf dizisi gibi) kullanan yöntemleri yürütmeyi desteklemediğini unutmayın. Bu gibi durumlarda bunun yerine Wbemtest kullanabilirsiniz. Wmimofck hakkında daha fazla bilgi için wmimofck.exekullanmak bölümüne bakın.

Ayrıca, WMI kullanıcı modu API'sini kullanarak özel bir WMI istemci uygulaması yazarak sürücünüzün WMI desteğini test edebilirsiniz.

Uygulamaların WMI bilgilerini sağlamasına veya kullanmasına olanak tanıyan bu kullanıcı modu API'si hakkında daha fazla bilgi için Microsoft Windows SDK belgelerindeki Windows Yönetim Araçları bilgilerine bakın.

WMI istemci uygulaması, bir sürücüyü test etmek için aşağıdaki görevleri gerçekleştirir:

  • WMI'ye bağlanır.

    Wmi'ye bağlanmak için uygulama, IWbemLocator arabirimine bir işaretçi almak için Bileşen Nesne Modeli (COM) işlevi CoCreateInstance'ı çağırabilir. Uygulama daha sonra WMI'ya bağlanmak için IWbemLocator::ConnectServer yöntemini çağırır. Bu çağrıdan, uygulama IWbemServices arabirimine bir işaretçi alır.

  • Sürücüdeki bilgilere erişir.

    Uygulama, bilgilere erişmek ve olaylara kaydolmak için IWbemServices arabiriminin yöntemlerini kullanır.

WMI IRP'leri ve Sistem Olay Günlüğü

Kesinlikle çekirdek modunda oluşan WMI hataları sistem olay günlüğüne kaydedilir. Sistem olay günlüğünü incelemek için Olay Görüntüleyicisi'ni kullanabilirsiniz. (Daha fazla bilgi için Günlük Hataları bölümüne bakın.)

Bu tür hataların iki ana kaynağı WMI isteklerine yanlış biçimlendirilmiş yanıtlar ve olay bildirimlerine yanlış parametrelerdir. Örneğin, sürücü bir IRP_MN_REGINFO veya IRP_MN_REGINFO_EX isteğine yanıt olarak hatalı biçimlendirilmiş bir WMIREGINFO veri yapısı döndürürse, sistem bunu sistem olay günlüğüne kaydeder. Sistem, bir WMI olay bildirimi oluşturmak amacıyla IoWMIWriteEvent ve WmiFireEvent işlemlerine yapılan geçersiz çağrıları da kaydeder.

WMI WDM Sağlayıcı Günlüğü

WMI WDM sağlayıcısı (Wmiprov.dll) tarafından işlenirken oluşan WMI hataları WMI WDM Sağlayıcısı Wmiprov.log için günlük dosyasına kaydedilir. Bu, %windir%\system32\wbem\logs\wmiprov.log yolundaki bir metin dosyasıdır. Sürücü için hatalı veya eksik MOF kaynağı gibi hatalar burada kayıt altına alınır. Hatalı bir MOF kaynağı söz konusu olduğunda, \system32\mofcomp.log %windir%dosyasında hatayla ilgili ek bilgiler olabilir.

Windows Vista'dan önceki Windows sürümlerinde, Wmimgmt.msc uygulamasını kullanarak tüm WMI sağlayıcılarının günlük ayarlarını değiştirebilirsiniz. (Windows 98/Me'de bunun yerine Wbemcntl kullanın.) Günlüğü devre dışı bırakabilir veya yeniden etkinleştirebilir, WMI günlük dosyalarının tutulduğu dizini değiştirebilir ve bu tür dosyalar için en büyük boyutu ayarlayabilirsiniz. Daha fazla bilgi için bakınız WMI Günlük Dosyaları.