GUIDを含むヘッダをどう書けばいいか悩んでます。

#include <windows.h>
DEFINE_GUID(name, xxxxx);

というヘッダ(aaa.h)を配布する場合、使う側はソースファイルの一つで

#define INITGUID
#include "aaa.h"

と書いてGUIDの実体を作りますよね?
この場合aaa.h内のwindows.hもINITGUIDの影響を受けてしまい
windows.h内にDEFINE_GUIDがあると、それも実体が作られてしまうのではないでしょうか?
一体どうすればいいのでしょうか?