Re: zawartosc C:\Documents and Settings\mojanazwa\Ustawienia lokalne\Temp

Autor: j_marek <j_marek_at_USUN_TO.gazeta.pl>
Data: Thu 02 Feb 2006 - 02:04:12 MET
Message-ID: <drrlqt$2hdo$1@news2.ipartners.pl>
Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=response

W wiadomości: drrgum$m6o$1@opal.icpnet.pl,
Grzegorz Niemirowski <gnthexfiles@poczta.onet.pl> napisał(a):
> j_marek <j_marek@USUN_TO.gazeta.pl> napisał(a):
>> Witam!
>> Raczej usługi niż zwykłe programu.
>
> Właśnie programy. Przecież usługi nie chodzą na koncie użytkownika.

Witam!

Chodziło mi o katalog:
%Windows%\temp

Z tego co się orientuję korzystają z niego własnie usługi. Natomiast
programy są przypisane do użytkownika, działają w jego kontekście. Wystarczy
sprawdzić zmienne środowiskowe. Zmienna Temp/Tmp jest inna dla systemu, a
inna dla użytkownika.

Zatem dziwne byłoby gdyby zwykły program uruchamiany przez użytkownika
tworzył tam pliki tymczasowej. Jednam możliwe jeśli prawa na to pozwalają. A
domyślnie chyba tak jest. Niemniej jednak program taki musiałby sam odszukać
ten katalog.

Mogą być jednak takie przypadki. Ścieżka "C:\Document and
Settings\User\Ustawienia lokalne\Temp" jest czasem zbyt duża dla niektórych
program. Znam przykład komponentu do raportów w Delphi, niesławnego
QuickReport, który w pewnych wersjach wykładał się na długości ścieżki.

Jeśli się programuje to widać ten problem odbierania od Win32 API struktur o
zmiennej długości. Jeden ze sposób to założenie z góry ich maksymalnej
wielkości. Stała MAX_PATH sugeruje, że powinno to być 260 znaków. I takie
może być ograniczenie wielu programów. Inny sposób to działać na raty.
Pierwsze wywołanie funkcji zwraca błąd i ilość znaków, które trzeba odebrać.
Czasem widać takie zachowania programów w logach FileMon, RegMon. To nie są
prawdziwe błędy.

-- 
Pozdrawiam,
Marek Janaszewski
[ j_marek(małpa)gazeta(kropka)pl ]
[ == USUN_TO. z adresu == ] 
Received on Thu Feb 2 02:05:12 2006

To archiwum zostało wygenerowane przez hypermail 2.1.8 : Thu 02 Feb 2006 - 02:42:01 MET