JAK: Włączanie rejestracji w pliku Wiadebug.log w systemie Windows XP

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 307001 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Ten artykuł został opublikowany wcześniej pod numerem PL307001
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

Streszczenie

Domyślnie usługa Windows Image Acquisition (WIA) rejestruje błędy w pliku o nazwie Wiadebug.log w folderze Folder_Windows. W tym artykule opisano, jak włączyć rejestrację w pliku Wiadebug.log.

Włączenie rejestracji w pliku Wiadebug.log

Informacje rejestrowane przez usługę WIA w tym pliku mogą być bardzo przydatne podczas programowania sterownika. Poziom rejestracji kontrolowany jest przez wpis w rejestrze. Wpis usługi WIA znajduje się w podanym niżej kluczu rejestru, gdzie Nazwa_modułu to nazwa odpowiedniego modułu binarnego:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\StillImage\Debug\Nazwa_modułu\DebugFlags
Właściwym modułem binarnym usługi WIA jest Wiaservc.dll.

Wartość w kluczu DebugFlags określa poziom rejestrowania. Poniższa lista przedstawia te trzy ustawienia:
  • 0x00000001: wyświetla komunikaty o błędach.
  • 0x00000002: wyświetla komunikaty ostrzegawcze.
  • 0x00000004: wyświetla komunikaty o śledzeniu.
Wartość klucza DebugFlags to wartość typu flaga, tzn. można z niej wczytać różne ustawienia naraz. Aby włączyć równoczesne rejestrowanie komunikatów błędów, ostrzeżeń i śledzenia, ustaw wartość klucza DebugFlags na 0x0000007.

Po zmianie wartości klucza DebugFlags, aby zmiana została wprowadzona, należy zatrzymać usługę WIA (stisvc) i uruchomić ją ponownie.

Aby zatrzymać usługę obrazów nieruchomych, otwórz wiersz polecenia i uruchom następujące polecenie:
net stop stisvc
Aby włączyć usługę obrazów nieruchomych, otwórz wiersz polecenia i uruchom następujące polecenie:
net start stisvc
UWAGA: Nadmierna intensywność rejestracji może spowodować znaczny spadek wydajności. Poziom rejestracji należy zwiększyć tylko podczas rozwiązywania problemu. Po rozwiązaniu problemu należy ustawić rejestrację na oryginalnym poziomie.

Rozwiązywanie problemów

Poniżej przedstawiono scenariusz typowego problemu oraz podano wskazówki, jak można użyć informacji z pliku Wiadebug.log, aby go rozwiązać.

Scenariusz: Napisany został program do testowania sterownika skanera, który jest w fazie projektowania. W jednym z testów próbujesz ustawić rozdzielczość skanera podaną w punktach na cal (dpi) na 1200, ale spostrzegasz, że ta akcja powoduje błąd.

W pliku Wiadebug.log zarejestrowane są następujące informacje:
wiasGetChangedValueLong, validate prop 6147 failed hr: 0x80070057
wiasUpdateScanRect, CheckXResAndUpdate failed (0x80070057)
CDrvWrap::WIA_drvValidateItemProperties, Error calling driver:
drvValidateItemProperties with hr = 0x80070057
UWAGA: To zachowanie jest standardowe, jeżeli program wpisuje nieprawidłową wartość.

Podane wpisy w pliku sygnalizują, że sterownik zgłasza nieprawidłową wartość użytą przez program. Informacja nie wskazuje wyraźnie przyczyny problemu. Jeżeli zwiększysz poziom rejestracji, aby oprócz błędów uwzględniać ostrzeżenia, w pliku Wiadebug.log zarejestrowane będą informacje:
  • 75
  • 100
  • 150
  • 200
  • 300
  • 600
wiasValidateItemProperties, invalid LIST value for :
propID) Horizontal Resolution, value = 1200
Valid values are: wiasGetChangedValueLong, validate prop 6147 failed hr: 0x80070057
wiasUpdateScanRect, CheckXResAndUpdate failed (0x80070057)
CDrvWrap::WIA_drvValidateItemProperties, Error calling driver:
drvValidateItemProperties with hr = 0x80070057
UWAGA: To zachowanie jest standardowe, jeżeli program wpisuje nieprawidłową wartość.

Zapis rejestracji pokazuje, że błąd powoduje właściwość Horizontal Resolution (Rozdzielczość w poziomie). Program próbuje ustawić rozdzielczość na 1200, ale lista obsługiwanych rozdzielczości nie zawiera wartości 1200, dlatego funkcja sprawdzania poprawności danych usługi WIA (wiasValidateItemProperties) odrzuca żądanie ustawienia tej wartości.

Ponieważ problem został zidentyfikowany, można zdecydować, czy poprawić sterownik czy program. Jeżeli specyfikacja skanera pozwala na obsługę wszystkich rozdzielczości od 100 do 1400 dpi, sterownik powinien móc obsłużyć żądanie 1200 dpi. Jeżeli skaner nie obsługuje tego ustawienia, należy tak zmienić program, aby nie próbował ustawiać rozdzielczości w poziomie na wartość niepoprawną dla tej właściwości. W takim wypadku program powinien sprawdzać, czy wartość jest poprawna, przed próbą ustawienia wartości.




Właściwości

Numer ID artykułu: 307001 - Ostatnia weryfikacja: 6 sierpnia 2002 - Weryfikacja: 1.0
Informacje zawarte w tym artykule dotyczą:
  • Microsoft Windows XP Professional Edition
Słowa kluczowe: 
kbhowto kbhowtomaster kbtool KB307001

Przekaż opinię

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com