[急]自定义的数据结构,有uuid的,但是客户端导入tlb后没有其定义解决方案

[急]自定义的数据结构,有uuid的,但是客户端导入tlb后没有其定义
我创建一个ATL工程(dll),建立一个简单对象,添加方法。然后在同一个sln下面建立一个控制台程序作为客户端。客户端程序导入tlb后调用是成功的。

然后我在ATL工程里面添加一个头文件mystruct.h,内容如下:

#pragma once
typedef [ uuid(22614E5D-A721-4815-B57D-66322ECDD65E)]
struct My
{
    [helpstring("A long value")]
    int x;
    int y;
}My;

然后在idl文件的第一行去包含它:

#include "mystruct.h"
import "oaidl.idl";
import "ocidl.idl";

ATL的CoClass里面去使用My这个结构体是没有问题的。

【问题】但是我选择重新编译客户端程序以后,生成的tlh/tlb文件里面仍然只是有CoClass相关的类和接口,我没有看到My这个结构体被定义。在客户端的cpp文件里面使用My,编译器提示找不到。

这是为什么呢? 使用自定义的结构体,客户端程序为什么导入tlb以后没有看见呢?
------解决方案--------------------
直接在 idl文件里这么定义

typedef struct 
{
    [helpstring("A long value")]
    int x;
    int y;
}My;

然后import 这个tlb的时候,就可以使用My这个结构了
------解决方案--------------------
你留个邮箱,我给你个例子