如何在Win32汇编中定义C/C++中的union(联合体)

如何在Win32汇编中定义C/C++中的union(联合体)
[2 byte] By [XinChiMaker-心痴] at [2008-1-9]
# 1
masm32:

MYSTRUCT STRUCT
b1 BYTE ?
b2 BYTE ?
b3 BYTE ?
b4 BYTE ?
MYSTRUCT ENDS

MYUNION UNION
data MYSTRUCT <?>
dwData DWORD ?
MYUNION ENDS
chehw-chehw at 2007-10-19 > top of Msdn China Tech,其他开发语言,汇编语言...
# 2
KEYBOARDINPUT STRUCT
wVk DWORD ?
wScan DWORD ?
dwFlags DWORD ?
time DWORD ?
dwExtrainfo DWORD ?
KEYBOARDINPUT ENDS

MOUSEINPUT STRUCT
X DWORD ?
Y DWORD ?
mouseData DWORD ?
dwFlags DWORD ?
time DWORD ?
dwExtraninfo DWORD ?
MOUSEINPUT ENDS

INPUT STRUCT
在C中原形
typedef struct tagINPUT {
DWORD type;
union {MOUSEINPUT mi;
KEYBOARDINPUT ki;
HARDWAREINPUT hi;
};
}INPUT, *PINPUT;

如何改写
XinChiMaker-心痴 at 2007-10-19 > top of Msdn China Tech,其他开发语言,汇编语言...
# 3
tagINPUT STRUCT
dwType DWORD ?
UNION
mi KEYBOARDINPUT ?
ki KEYBOARDINPUT ?
hi KEYBOARDINPUT ?
ENDS
tagINPUT ENDS
chehw-chehw at 2007-10-19 > top of Msdn China Tech,其他开发语言,汇编语言...
# 4
tagINPUT STRUCT
dwType DWORD ?
UNION
mi KEYBOARDINPUT <>
ki KEYBOARDINPUT <>
hi KEYBOARDINPUT <>
ENDS
tagINPUT ENDS
chehw-chehw at 2007-10-19 > top of Msdn China Tech,其他开发语言,汇编语言...
# 5
谢谢 怎么结题?
XinChiMaker-心痴 at 2007-10-19 > top of Msdn China Tech,其他开发语言,汇编语言...