Udostępnij przez


Ogólne techniki testowania obsługi sterowników dla usługi WMI

Narzędzia klienckie usługi WMI

Istnieje kilka narzędzi, których można użyć do testowania obsługi usługi WMI w sterowniku.

Wbemtest
System operacyjny zawiera narzędzie Wbemtest, które udostępnia graficzny interfejs użytkownika, którego można użyć do wykonywania zapytań dotyczących klas I wystąpień klas WMI, zmieniania wartości właściwości, wykonywania metod i odbierania powiadomień o zdarzeniach. Połącz się z przestrzenią nazw "root\wmi", aby przetestować obsługę sterownika.

Wmic
Systemy operacyjne Microsoft Windows XP i nowsze obejmują narzędzie Wmic, które udostępnia powłokę poleceń, której można użyć do wydawania poleceń związanych z usługą WMI w celu przetestowania sterownika.

Wmimofck
Polecenie wmimofck może służyć do sprawdzania składni binarnych plików MOF. Możesz również użyć polecenia wmimofck -t , aby wygenerować plik VBScript. Za pomocą tego skryptu można przetestować obsługę sterownika w odniesieniu do zapytań dotyczących wystąpień klasy WMI. Polecenie wmimofck -w generuje strony internetowe, które mogą testować klasy zapytań i ustawiania, wykonywać metody i odbierać zdarzenia. Należy pamiętać, że strony internetowe nie obsługują wykonywania metod, które używają złożonych parametrów lub zwracanych wartości (takich jak tablica klas osadzonych). W takich przypadkach można zamiast tego użyć narzędzia Wbemtest. Aby uzyskać więcej informacji na temat narzędzia Wmimofck, zobacz Using wmimofck.exe.

Możesz również przetestować obsługę WMI sterownika, pisząc niestandardową aplikację kliencką usługi WMI przy użyciu interfejsu API w trybie użytkownika.

Aby uzyskać więcej informacji na temat tego interfejsu API trybu użytkownika, który umożliwia aplikacjom udostępnianie lub używanie informacji WMI, zapoznaj się z informacjami o instrumentacji zarządzania Windows w dokumentacji zestawu Microsoft Windows SDK.

Aplikacja kliencka usługi WMI wykonuje następujące zadania w celu przetestowania sterownika:

  • Nawiązuje połączenie z usługą WMI.

    Aby nawiązać połączenie z usługą WMI, aplikacja może wywołać funkcję Modelu obiektów składowych (COM), CoCreateInstance, aby pobrać wskaźnik do interfejsu IWbemLocator . Następnie aplikacja wywołuje metodę IWbemLocator::ConnectServer w celu nawiązania połączenia z usługą WMI. Z tego wywołania aplikacja otrzymuje wskaźnik do interfejsu IWbemServices.

  • Uzyskuje dostęp do informacji w sterowniku.

    Aby uzyskać dostęp do informacji i zarejestrować się na wydarzenia, aplikacja używa metod interfejsu IWbemServices.

WMI IRPs i dziennik zdarzeń systemu

Błędy usługi WMI, które występują ściśle w trybie jądra, są rejestrowane w dzienniku zdarzeń systemu. Podgląd zdarzeń umożliwia sprawdzenie dziennika zdarzeń systemu. (Zobacz Błędy rejestrowania , aby uzyskać więcej informacji).

Dwa główne źródła takich błędów to źle sformułowane odpowiedzi na żądania usługi WMI i nieprawidłowe parametry powiadomień o zdarzeniach. Jeśli na przykład sterownik zwróci źle sformułowaną strukturę danych WMIREGINFO w odpowiedzi na żądanie IRP_MN_REGINFO lub IRP_MN_REGINFO_EX , system zarejestruje to w dzienniku zdarzeń systemu. System zarejestrowałby również nieprawidłowe wywołanie usługi IoWMIWriteEvent i WmiFireEvent w celu wystawienia powiadomienia o zdarzeniu usługi WMI.

Dziennik dostawcy usługi WMI WDM

Błędy usługi WMI występujące podczas obsługi przez dostawcę WMI WDM (Wmiprov.dll) są rejestrowane w pliku dziennika dostawcy WMI WDM, Wmiprov.log. Ten plik tekstowy można znaleźć w %windir%\system32\wbem\logs\wmiprov.log. Błędy, takie jak nieprawidłowy lub brak zasobu MOF dla sterownika, są rejestrowane tutaj. W przypadku nieprawidłowego zasobu MOF plik %windir%\system32\mofcomp.log może zawierać dodatkowe informacje związane z błędem.

W wersjach systemu Windows starszych niż Windows Vista można zmienić ustawienia rejestrowania dla wszystkich dostawców WMI za pomocą aplikacji Wmimgmt.msc. (W systemie Windows 98/Me zamiast tego użyj polecenia Wbemcntl). Można wyłączyć lub ponownie rejestrować, zmienić katalog, w którym przechowywane są pliki dziennika usługi WMI, a także ustawić maksymalny rozmiar dla takich plików. Aby uzyskać więcej informacji, zobacz WMI Log Files.