什么是__int32?

Mic*_*sny 1 c c# c++ pinvoke

我一直试图理解这一点.它是一个名为的结构的参考页面W32TIME_STATUS_INFO.

 typedef struct {
   unsigned __int32 ulSize;
   unsigned __int32 eLeapIndicator;
   unsigned __int32 nStratum;
   signed __int32 nPollInterval;
   unsigned __int32 refidSource;
   unsigned __int64 qwLastSyncTicks;
   signed __int64 toRootDelay;
   unsigned __int64 tpRootDispersion;
   signed __int32 nClockPrecision;
   [string, unique] wchar_t* wszSource;
   signed __int64 toSysPhaseOffset;
   unsigned __int32 ulLcState;
   unsigned __int32 ulTSFlags;
   unsigned __int32 ulClockRate;
   unsigned __int32 ulNetlogonServiceBits;
   unsigned __int32 eLastSyncResult;
   unsigned __int64 tpTimeLastGoodSync;
   unsigned __int32 cEntries;
   [size_is(cEntries)] PW32TIME_ENTRY pEntries;
 } W32TIME_STATUS_INFO,
  *PW32TIME_STATUS_INFO;
Run Code Online (Sandbox Code Playgroud)

我想在C#代码中使用W32TimeQueryStatus 这里的方法,但我不知道如何在C#代码中定义结构,并且该方法将指针作为参数.什么是这些__int32和所有__int64东西?我已经搜索过"双下划线c"等等,但我发现的一切都非常不具体.

我可能不得不handle_t单独询问这个论点,所以现在我只想问一下定义这个结构并将它传递给C#中的PInvoked方法.

BWA*_*BWA 6

使用谷歌和第一个链接MSDN说:

Microsoft C/C++支持大小整数类型.您可以使用__intn类型说明符声明8位,16位,32位或64位整数变量,其中n为8,16,32或64.

正如你在MSDN上看到的那样c#等价System.Int64