[WinAPI] Wywoływanie funkcji za pomoca numeru porządkowego

Odpowiedz Nowy wątek
2006-08-11 14:33
0

Witam.
Mam takie małe pytanko. Otóż czy nie orientuje się ktoś czy w każdym Windowsie 98, 98 SE, W2k, XP ... numery porządkowe funkcji API są tak samo przypisane do nazwy funkcji? Chodzi mi o to, że dla przykładu u mnie w systemie funkcja o nazwie GetProcAddress z systemowej biblioteki kernel32.dll ma numer porządkowy 408. Moje pytanie jest następujące: czy ta i inne funkcje systemowe będą miały te same wartości porządkowe we wszystkich 32 bitowych systemach operacyjnych Microsoftu?

Pozostało 580 znaków

2006-08-12 13:56
0

Mikrosoft i cracersi nie zalecaja stosowania metody wywolania funkcji w ten sposob,
mysle ze ladowacz programu przede wszyskim pod uwage bierze nazwe funkcji i nazwe
biblioteki, numery moga byc rozne zaleznie od systemu , co wiecej istnieje tez przekierowanie nazw
funkcji na inne co daje ten skutek ze wywolujac jakas funkcje API w programie
system wywoluje calkiem inna.Polecam "Programowanie aplikacji dla windows " Jeffrej Richter,
najlepiej stosowac funkcje systemowe LoadLibrary i GetProcAddress


Pozostało 580 znaków

2006-08-12 19:14
0

dzejo dzięki za odpowiedź
W sumie to w międzyczasie poprosiłem kumpla, który jedzie na XP prof bez SP ( ja XP home SP 2 ) o jego kernel32.dll i okazało się, że niestety masz rację. A szkoda :(

Pozostało 580 znaków

2006-08-12 20:38
0

Cytat z ksiazki - Jeffre'a Richtera

" FARPROC pfn = GetProcAddress(hinstDll,MAKEINTRESOURCE(2));

....

 Dawniej,w poczatku mojej kariery programowania w Windows , nie 

rozumialem do konca tego dzialania i sparzylem sie na nim kilka razy -
wiec uwazaj ( jest to kolejny powod , aby unikac numerow porzadkowych ...)

polecam ksiege jest ok!
pozdro .


Pozostało 580 znaków

2006-08-12 22:29
0

Przecież napisałem, że spoko ;)
Uwierzyłem Ci a kernel32.dll od kolegi utwierdził mnie w przekonaniu, że masz rację :)
Wiem także jak wywoływać funkcje z załadowanej biblioteki. Chodziło mi tylko o to czy numery porządkowe funkcji API będą takie same w każdym 32 bitowym systemie operacyjnym Microsoftu. Teraz wiem, że nie.
Pozdrawiam i dziękuję za odpowiedź.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0