我正在尝试在 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_128
s 并且_FILE_ID_TYPE
结构是here和here
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 - 请让我知道这个问题被否决了。你看到缺乏努力吗?还是不清楚?这将有助于提出更清晰的问题