DI_ICON1和IDI_ICON1有什么区别?

我正在开发一个Windows应用程序,需要在XP,Vista,7和8上运行。我试图设置应用程序图标,它的工作原理是使用DI_ICON1作为RC文件中的标记:

DI_ICON1 ICON DISCARDABLE "myapp.ico" 

使用IDI_ICON1在这里似乎没有做正确的事情。

但是,我也创build了第二个窗口(也是在根级别,即不是我的应用程序主窗口的子项),第二个窗口的ALT-TAB图标没有正确显示。 它只是默认的通用应用程序图标。 现在向RC添加第二行使ALT-TAB图标工作:

 IDI_ICON1 ICON DISCARDABLE "myapp.ico" 

所以两条线都能正常工作。 但是我不知道这些标识符为什么或者如何或者甚至是什么意思。 那么他们是什么,他们在哪里定义,他们的工作是什么魔法?