Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Uśmiałem się trochę gdy zajrzałem na blog jednego z moich kolegów z Finlandii:
https://slinky.imukuppi.org/2008/03/28/if-a-kernel-call-is-made-but-nobody-is-listening/
Jego blog naogół jest średnio Microsoftowy, wręcz przeciwnie. Jani to dla mnie jedna z tych pomocnych osób, dzięki której o konkurencji mam nadzieję nie gadam głupot bez wiedzy ;)
W każdym razie jak zajrzycie na powyższego bloga to zauważycie, że Jani w bibliotekach do wydaje mi się już martwego systemu BeOS (no chyba, że komuś się jeszcze chce bawić w Haiku) odkrył ciekawą funkcję w API. Funkcja is_computer_on(), która sprawdza czy komputer jest włączony.
Uśmiałem się, bo w sumie jak ma nie zwrócić 1 (true) gdy aplikacja, która wykona tą funkcję raczej nie ma prawa zostać wykonana przy wyłączonym komputerze. No chyba, że znajdę ochotnika, który byłby mi w stanie sprawdzić i udowodnić, że przetestował to na wyłączonej maszynie :)
Wydaje się do bólu zabawne, ale w sumie to przełożyłem sobie szybko taką funkcję na potencjalne (i może już mniej absurdalne) potrzeby Windows Vista.
W końcu pod tym systemem mamy wsparcie do Sideshow - małego okienka, które producent komputera może umieścić np. na zewnętrznej stronie klapy laptopa i pozwolić nam na uruchomienie ograniczonej funkcjonalności systemu, gdy on jest wyłączony czy uśpiony.
{przykład wykorzystania Sideshow}
W takiej sytuacji doszedłem do wniosku, że sprawdzenie, czy mój komputer jest włączony czy też może nie (np. jest zahibernowany), nawet mogło by mieć merytoryczny sens :)
Z ciekawości aż sprawdziłem czy takiego cuda jak is_computer_on() nie ma pod Windows.
Najbliżej jak mi się udało to w funkcjach WinAPI związanych z Power Management znalazłem funkcję: GetDevicePowerState, aczkolwiek nie mam urządzenia z sideshow, na którym mógłbym w praktyce przetestować taki scenariusz.
Tak czy siak uśmiałem się po pachy i raczej wciąż traktuję to odkrycie w kategoriach dobrego żartu :]
Technorati Tagi: Polish posts,babbling,Windows Vista,geeks
Comments
Anonymous
April 07, 2008
To nie jedyna perełka w kernel kit: double is_computer_on_fire(); Returns the temperature of the motherboard if the computer is currently on fire. Smoldering doesn't count. If the computer isn't on fire, the function returns some other value. Źródło: http://www.haiku-os.org/legacy-docs/bebook/TheKernelKit_SystemInfo.htmlAnonymous
April 07, 2008
Takiej funkcji w Windows Vista bym nie chciał mieć. Bałbym się jeszcze, że ktoś by odkrył ukrytą funkcję kernela set_computer_on_fire(); Po takim odkryciu przygody z wirusem Chernobil, który palił płyty główne wróciły by jak bumerang :)