Bonjour à tous,
Il y a quelques années que je n'ai pas touché du C, il y aura donc dans ma question une touche de bêtise que vous pardonnerez.

Mon code doit utiliser du code assembleur que j'ai tronqué volontairement, l'erreur ne portant pas sur ce dernier.

Sur un borland C++, j'obtiens les erreurs suivantes :
- 'PVOID cannot start a parameter declaration' pour
Code : Sélectionner tout - Visualiser dans une fenêtre à part
PPTE GetPteAddress(PVOID VirtualAddress)
- Declaration syntax error en parlant de la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ULONG GetPhysicalFrameAddress( PPTE pPte )
Pouvez vous me prodiguer quelques conseils ?

Cordialement,
Pierre

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <stdio.h>
#define PROCESS_PAGE_DIR_BASE                  0xC0300000
#define PROCESS_PAGE_TABLE_BASE                0xC0000000
typedef unsigned long* PPTE;
 
PPTE GetPteAddress(PVOID VirtualAddress)
{
		PPTE pPTE = 0;
        __asm
        {
                cli   
                pushad
     ....
                sti     
        }
 
        return pPTE;
 
}
 
 
ULONG GetPhysicalFrameAddress( PPTE pPte )
{
        ULONG Frame;
		Frame = 0;
 
        __asm
        {
                cli
...
                sti
        }
        return Frame;
 
}
 
int main(int argc, char* argv[])
{
	return 0;
}