代码在C:
typedef struct _EVENT_HEADER {
USHORT Size; // Event Size
USHORT HeaderType; // Header Type
USHORT Flags; // Flags
USHORT EventProperty; // User given event property
ULONG ThreadId; // Thread Id
ULONG ProcessId; // Process Id
LARGE_INTEGER TimeStamp; // Event Timestamp
GUID ProviderId; // Provider Id
EVENT_DESCRIPTOR EventDescriptor; // Event Descriptor
union {
struct {
ULONG KernelTime; // Kernel Mode CPU ticks
ULONG UserTime; // User mode CPU ticks
} DUMMYSTRUCTNAME;
ULONG64 ProcessorTime; // Processor Clock
// for private session events
} DUMMYUNIONNAME;
GUID ActivityId; // Activity Id
} EVENT_HEADER, *PEVENT_HEADER;
我转换什么,但工会。如何将其转换为C#?
使用StructLayout&FieldOffset属性。 – 2011-06-12 17:11:01
作为一个侧面说明,在c#中创建一个可变的严格通常是一个错误.. – 2011-06-12 17:34:49
@Marc,我想在这种情况下,op需要P/Invoke这个选项是有限的。 – 2011-06-12 17:42:35