34 lines
827 B
Plaintext
34 lines
827 B
Plaintext
[ uuid (87E5BFA0-CA46-1067-B31B-00DD010662DA),
|
|
version(1.0),
|
|
pointer_default(unique)
|
|
]
|
|
interface dunion
|
|
{
|
|
|
|
typedef [switch_type(short)] union {
|
|
[case(0)] short sVal;
|
|
[case(1)] float fVal;
|
|
[case(2)] unsigned char chVal;
|
|
[default] ;
|
|
} DISCRIM_UNION_PARAM_TYPE;
|
|
|
|
typedef DISCRIM_UNION_PARAM_TYPE DISCRIM_UNION_FIELD_TYPE;
|
|
|
|
typedef struct {
|
|
short sDiscrim;
|
|
[switch_is(sDiscrim)] DISCRIM_UNION_FIELD_TYPE u;
|
|
} DISCRIM_UNION_STRUCT_TYPE;
|
|
|
|
|
|
void UnionParamProc([in] handle_t h1,
|
|
[in, switch_is(sDiscrim)] DISCRIM_UNION_PARAM_TYPE *UnionParam,
|
|
[in] short sDiscrim
|
|
);
|
|
|
|
void UnionStructProc([in] handle_t h1,
|
|
[in] DISCRIM_UNION_STRUCT_TYPE *UnionStruct);
|
|
|
|
void Shutdown([in] handle_t h1);
|
|
|
|
}
|