la structure suivante :
typedef struct _WNODE_HEADER
{ ULONG BufferSize;
ULONG ProviderId;
union {
ULONG64 HistoricalContext;
struct { ULONG Version; ULONG Linkage; }; };
union { HANDLE KernelHandle; LARGE_INTEGER TimeStamp; };
GUID Guid;
ULONG ClientContext;
ULONG Flags;
} WNODE_HEADER, *PWNODE_HEADER;
peut-elle bien se traduire :
Structure LI
low.l
high.l
EndStructure
Structure WNODE_HEADER
buffersize.l
providerid.l
historicalcontext.LI
version.l
linkage.l
kernelhandle.l
timestamp.LI
guid.GUID
clientcontext.l
flags.l
EndStructure
structure
Je ne connais pas grand chose au C
Voilà comment le convertisseur de Header livré avec PB a traduit ce code
Il ne connait pas les ULONG64 et les LARGE_INTEGER
Voilà comment le convertisseur de Header livré avec PB a traduit ce code
Code : Tout sélectionner
Structure WNODE_HEADER
ProviderId.l
StructureUnion
HistoricalContext.ULONG64
}.Linkage;
EndStructureUnion
StructureUnion
KernelHandle.l
TimeStamp.LARGE_INTEGER
EndStructureUnion
Guid.GUID
ClientContext.l
Flags.l
EndStructure
Utile quand même : structureunion.
J'avais pas vu que ça existait, et constate que j'avais mal interprété le "union" de C.
Vais voir si ça marche mieux avec ça.
Merci bien.
Note : UINT64, comme LONGLONG,ETC sont des nombres codés en 64bits.
on peut définir
structure UINT64
low.l
high.l
endstructure
c'est compatible.
low et high récupèrent les 4 octets "bas" et "haut"
J'avais pas vu que ça existait, et constate que j'avais mal interprété le "union" de C.
Vais voir si ça marche mieux avec ça.
Merci bien.
Note : UINT64, comme LONGLONG,ETC sont des nombres codés en 64bits.
on peut définir
structure UINT64
low.l
high.l
endstructure
c'est compatible.
low et high récupèrent les 4 octets "bas" et "haut"