这个结构在DELPHI中要怎么定义
typedef struct _DEVICE_MEDIA_INFO {
union {
struct {
LARGE_INTEGER Cylinders;
STORAGE_MEDIA_TYPE MediaType;
DWORD TracksPerCylinder;
DWORD SectorsPerTrack;
DWORD BytesPerSector;
DWORD NumberMediaSides;
DWORD MediaCharacteristics; // Bitmask of MEDIA_XXX values.
} DiskInfo; struct {
LARGE_INTEGER Cylinders;
STORAGE_MEDIA_TYPE MediaType;
DWORD TracksPerCylinder;
DWORD SectorsPerTrack;
DWORD BytesPerSector;
DWORD NumberMediaSides;
DWORD MediaCharacteristics; // Bitmask of MEDIA_XXX values.
} RemovableDiskInfo; struct {
STORAGE_MEDIA_TYPE MediaType;
DWORD MediaCharacteristics; // Bitmask of MEDIA_XXX values.
DWORD CurrentBlockSize;
} TapeInfo;
} DeviceSpecific;
typedef struct _DEVICE_MEDIA_INFO {
union {
struct {
LARGE_INTEGER Cylinders;
STORAGE_MEDIA_TYPE MediaType;
DWORD TracksPerCylinder;
DWORD SectorsPerTrack;
DWORD BytesPerSector;
DWORD NumberMediaSides;
DWORD MediaCharacteristics; // Bitmask of MEDIA_XXX values.
} DiskInfo; struct {
LARGE_INTEGER Cylinders;
STORAGE_MEDIA_TYPE MediaType;
DWORD TracksPerCylinder;
DWORD SectorsPerTrack;
DWORD BytesPerSector;
DWORD NumberMediaSides;
DWORD MediaCharacteristics; // Bitmask of MEDIA_XXX values.
} RemovableDiskInfo; struct {
STORAGE_MEDIA_TYPE MediaType;
DWORD MediaCharacteristics; // Bitmask of MEDIA_XXX values.
DWORD CurrentBlockSize;
} TapeInfo;
} DeviceSpecific;
解决方案 »
- 如果取消一个窗体的ONCREATE事件?
- FASTREPORT4 人民币大写函数转合计函数时出错
- 图片存储的问题
- ★★★★DELPHI 下CMD的操作问题,大家来看看
- 关于 Webbrowser的问题,请高手们进!!!!
- ACCESS记录重复问题?
- 通过程序来更改本机的工作级名称!高手高高手一定要相助啊(附源码)
- 用DBgrid显示返回符合条件的记录,当用户有对对DBgrid中的数据有修改时?
- 请大家给一些好的建议!急急急!!!!!
- 请问GetDiskFreeSpaceEx函数中的参数如何定义,与delphi中的哪些类型对应?
- 数据导出到excel,前面的0自动去掉了,我不想去掉,因为这个字段是‘学号,去掉学号就不对了?
- 急!急!急!急!急!急!急!急!急!在线等!等!等!等!等!等!等!等!等!等!等!(动态创建组件如何加入事件处理代码!)
Cylinders: LARGE_INTEGER;
MediaType: STORAGE_MEDIA_TYPE;
TracksPerCylinder: DWORD;
SectorsPerTrack: DWORD;
BytesPerSector: DWORD ;
NumberMediaSides: DWORD ;
MediaCharacteristics: DWORD; // Bitmask of MEDIA_XXX values.
end; TRemovableDiskInfo = record
Cylinders: LARGE_INTEGER;
MediaType: STORAGE_MEDIA_TYPE;
TracksPerCylinder: DWORD;
SectorsPerTrack: DWORD;
BytesPerSector: DWORD;
NumberMediaSides: DWORD ;
MediaCharacteristics: DWORD ; // Bitmask of MEDIA_XXX values.
end; TapeInfo = record
MediaType: STORAGE_MEDIA_TYPE;
MediaCharacteristics: DWORD; // Bitmask of MEDIA_XXX values.
CurrentBlockSize: DWORD;
end; TUnion = record
DiskInfo: TDiskInfo;
RemovableDiskInfo: TRemovableDiskInfo;
apeInfo: TapeInfo;
end; _DEVICE_MEDIA_INFO = record
UionName: TUnion
end;
用指针能实现。
case Integer of: // 这个相当于UNION
0:
1:
2:
end;
type RemovableDiskInfo = record...
end;
type TapeInfo = recordend;type DeviceSpecific = record
di:DiskInfo;
rdi:RemovableDiskInfo;
ti:TapeInfo;
end;