DISK_DETECTION_INFO
为什么要定义成这样?
typedef struct _DISK_DETECTION_INFO {
DWORD SizeOfDetectInfo;
DETECTION_TYPE DetectionType;
union {
struct {
DISK_INT13_INFO Int13;
DISK_EX_INT13_INFO ExInt13;
};
};
} DISK_DETECTION_INFO, *PDISK_DETECTION_INFO;
替代
typedef struct _DISK_DETECTION_INFO {
DWORD SizeOfDetectInfo;
DETECTION_TYPE DetectionType;
DISK_INT13_INFO Int13;
DISK_EX_INT13_INFO ExInt13;
} DISK_DETECTION_INFO, *PDISK_DETECTION_INFO;
这段代码是不是我过分解读了?
DISK_DETECTION_INFO
结构的人犯了一个简单的错误。我猜测DISK_INT13_INFO
和DISK_EX_INT13_INFO
结构应该是联合体的成员,因为只有其中之一被使用。这个错误造成的唯一伤害就是浪费了一点空间。 - Michael Burr