Muszę zapytać usługę systemu Windows o ścieżkę do jej pliku wykonywalnego za pomocą wiersza polecenia. Myślę, że zrobiłbym to tak: sc qc myServiceName
ale kiedy to robię, pojawia się następujący błąd:
[SC] QueryServiceConfig FAILED 122:
Obszar danych przekazywany do wywołania systemowego jest zbyt mały.
[SC] GetServiceConfig potrzebuje 1094 bajtów
Myślę, że oznacza to, że polecenie sc wysyła strukturę danych do innej biblioteki, która jest zbyt mała, aby dane mogły zostać zwrócone. Zamiast SC ładnie ponawia próbę z większą strukturą danych (1094 bajtów) bombarduje i daje mi ten brzydki komunikat o błędzie. Dzięki Micro $ często.
Czy istnieje sposób obejścia tego błędu? Potrzebuję tylko ścieżki do pliku wykonywalnego, ale w razie potrzeby przeanalizuję go z innego tekstu.
2^13 = 8192
to maksymalna wartość rozmiaru bufora.