2010-06-16 5 views
1

가의 answer으로이 질문에 How to declarate LARGE_INTEGER in C# 기초 :C#에서 ULARGE_INTEGER를 선언하는 방법은 무엇입니까?

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

ULARGE_INTEGER 올바른 선언 아래에있는 내 가정인가?

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

답변

1

이것은 C#에서 ulong 일 뿐이며 LayoutKind.Explicit 후프를 뛰어 넘을 필요가 없습니다. C 및 C++ 컴파일러는 옛날 64 비트 형식이 없었기 때문에 통합이 필요했습니다.

+0

그래서 'UInt64' ('ulong')에 대한 모든 선언을 스왑 아웃해도 괜찮습니까? – Codesleuth

+0

구조체 선언을 완전히 잊어 버립니다. –

+0

우수, 감사합니다! 나는'Int64 '에 대해서도'LARGE_INTEGER'을 버리고 있습니다. – Codesleuth