Frage

auf diese Frage Basierend Wie LARGE_INTEGER in C # declarate mit Antwort von:

[StructLayout(LayoutKind.Absolute, Size=8)]
struct LARGE_INTEGER
{
    [FieldOffset(0)]public Int64 QuadPart;
    [FieldOffset(0)]public UInt32 LowPart;
    [FieldOffset(4)]public Int32 HighPart;
}

Ist meine Annahme unten erklärt ULARGE_INTEGER correct?

[StructLayout(LayoutKind.Explicit, Size = 8)]
public struct ULARGE_INTEGER
{
    [FieldOffset(0)] public UInt64 QuadPart;
    [FieldOffset(0)] public UInt32 LowPart;
    [FieldOffset(4)] public UInt32 HighPart;
}
War es hilfreich?

Lösung

Es ist einfach ein ulong in C #, ohne dass durch die LayoutKind.Explicit Reifen springen. Die Gewerkschaft war notwendig, weil C und C ++ Compiler keinen native 64-Bit-Typen in den alten Tagen haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top