0

我正在尝试在 Golang 中创建这种结构 -

typedef struct FILE_ID_DESCRIPTOR {
  DWORD        dwSize;
  FILE_ID_TYPE Type;
  union {
    LARGE_INTEGER FileId;
    GUID          ObjectId;
    FILE_ID_128   ExtendedFileId;
  } DUMMYUNIONNAME;
} FILE_ID_DESCRIPTOR, *LPFILE_ID_DESCRIPTOR;

如您所见,这取决于三个的并集,其中 unknown 是FILE_ID_128另一个结构,FILE_ID_TYPE所以我偶然发现了this,它是FILE_ID_128s 并且_FILE_ID_TYPE结构是herehere

typedef enum _FILE_ID_TYPE {
  FileIdType,
  ObjectIdType,
  ExtendedFileIdType,
  MaximumFileIdType
} FILE_ID_TYPE, *PFILE_ID_TYPE;

在做了一些研究之后,我发现enum 在 Go 中是 const但在 Go 中,我们不能有一个命名的 const 所以可能 struct(?)union 是字节切片。但是我找不到MaximumFileIdType在 Go 中的含义以及如何实现它。提前致谢。

另外,请参考我正在关注的内容。

PS - 请让我知道这个问题被否决了。你看到缺乏努力吗?还是不清楚?这将有助于提出更清晰的问题

4

0 回答 0