Page 1 sur 1

structure

Publié : lun. 12/juil./2004 18:30
par hardy
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

Publié : mar. 13/juil./2004 13:10
par hardy
Y'a bien quelqu'un qui connait le C tout de même ?

Publié : mar. 13/juil./2004 13:21
par Chris
Sois pas impatient comme ça :lol:

C'est sûr qu'il y a certainement quelqu'un qui peut te renseigner, mais il n'est peut-être pas passé sur le forum.

Tu as essayé sur le forum anglais?

Si je pouvais, je t'aiderai, mais je ne connais rien au C :oops:

Chris :)

Publié : mar. 13/juil./2004 14:46
par Anonyme2
Je ne connais pas grand chose au C

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
Il ne connait pas les ULONG64 et les LARGE_INTEGER

Publié : mer. 14/juil./2004 10:53
par hardy
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"