Windows Calls? 
Author Message
 Windows Calls?

Here is what I know about calling API's (They are contained within a set
of DLLs.  The main ones are found in: kernel32.dll, Gdi32.dll and
User32.dll):
Any normal 32 bit Windows 9x application will have a table of imported
API functions.  Within this table, are a series of ASCII function names
with 4 unitialized bytes either before or after each name (Someone could
correct me on whether they came before or after).

When a 32 bit app is started, those unitialized bytes in the import
table are filled with the addresses to the neccesary DLL functions.
There is another way, which involves LoadLibary API call (I have yet to
learn about this).

At least with TASM, according to what I read, a program compiled from it
will do a CALL to an appropriate DWORD JMP PTR.  JMP PTR will not jump
to the specified location, but will jump to the address specified at
that location.  In this case, that JMP PTR will point to the
corresponding function address in the import table.

---------------------------------------------------------------
Team2000 PC/Palm Pilot Programming Team:
http://www.*-*-*.com/

Quote:

> how exactly do windows calls work?

> windows calls i.e  CALL [LOADICONA]

> Sent via Deja.com http://www.*-*-*.com/
> Before you buy.



Sun, 14 Jul 2002 03:00:00 GMT  
 Windows Calls?

how exactly do windows calls work?

windows calls i.e  CALL [LOADICONA]

Sent via Deja.com http://www.deja.com/
Before you buy.



Mon, 15 Jul 2002 03:00:00 GMT  
 Windows Calls?
By reading a document on the PE format, I just found out that these DLL
names are by themselves, null terminated with some padding to align the file
on a certain amount of bytes.  Sorry.

In another table, is where they keep all the addresses.  Here is the
document I read:
 http://wotsit.org/cgi-bin/download.cgi?winf10

-------------------------------------------------------
Team2000 PC/Palm Pilot Programming Team:
http://ppilot.homepage.com

Quote:

> Here is what I know about calling API's (They are contained within a set
> of DLLs.  The main ones are found in: kernel32.dll, Gdi32.dll and
> User32.dll):
> Any normal 32 bit Windows 9x application will have a table of imported
> API functions.  Within this table, are a series of ASCII function names
> with 4 unitialized bytes either before or after each name (Someone could
> correct me on whether they came before or after).

> When a 32 bit app is started, those unitialized bytes in the import
> table are filled with the addresses to the neccesary DLL functions.
> There is another way, which involves LoadLibary API call (I have yet to
> learn about this).

> At least with TASM, according to what I read, a program compiled from it
> will do a CALL to an appropriate DWORD JMP PTR.  JMP PTR will not jump
> to the specified location, but will jump to the address specified at
> that location.  In this case, that JMP PTR will point to the
> corresponding function address in the import table.

> ---------------------------------------------------------------
> Team2000 PC/Palm Pilot Programming Team:
> http://ppilot.homepage.com


> > how exactly do windows calls work?

> > windows calls i.e  CALL [LOADICONA]

> > Sent via Deja.com http://www.deja.com/
> > Before you buy.



Mon, 15 Jul 2002 03:00:00 GMT  
 
 [ 3 post ] 

 Relevant Pages 

1. Windows call in ASM

2. MS Windows calling Unix

3. MS Windows: calling TCL/TK as a DLL

4. Calling Windows API functions involving windows?

5. some clear examples for FFI call to a Windows api function in Franz Allegro for Windows

6. - How can I call a windows program from within Squeak

7. Calling Windows Functions

8. Windows API calls and pbcc

9. Windows API calls

10. API-call for scheduling jobs after restart of windows

11. calling DOS .exe from St80r4.1 throught windows 3.1

12. CW2.1 - calling the Windows Printer Selector?

 

 
Powered by phpBB® Forum Software